2012-11-09 9 views
9

日本向けのジオジソンデータがありますが、これはメルケータ投影法で適切に位置づけられましたが、試行錯誤以外のアルバー投影法を使って適切に配置する方法が少し失われています。d3js - albers投影を正しく設定する方法は?

良いツールがありますか?

ブロック例:日本(wikipedia)のための緯度、http://bl.ocks.org/4043986

長:

  • 緯度24° - 46°N、
  • 経度122° - 146°E。

にGeoJSONリンク:https://gist.github.com/raw/4043986/f53b85ab0af1585cd0461b4865ca4acd1fb79e9f/japan.json

答えて

6

私はリポジトリを見に答えを見つけるには - ツールはすぐそこです!

  1. クローンd3.js the github repositoryから。
  2. あなたにGeoJSONファイルを指すように編集/d3/examples/albers.html line 53
  3. paralellsがする
  4. (私にとっては、それは134°/ 25°であった)、お住まいの国/地域の中心部に変更し、原点長い/緯度スライダーを置きますあなたの国/地域の端に近くてください。
  5. スケールを調整する&いいえサイズ&位置にオフセットします。

他の投影法にも同様のツールがあります。

編集:リポジトリが変更された(そして常に変化している)ので、私は例を維持するために要旨を作成しました:https://gist.github.com/4552802

例はgithubのリポジトリには含まれていません。

+0

こんにちは、上記のリンクのどれも動作していません。あなたはそれらを更新してもらえますか? – hemanth

+0

リンクを更新して、ファイルの古いリビジョンを指すようにしました。また、私がリンクしている要点を確認してください。 – minikomi

+0

私が試したものはあなたが持っているalbers.htmlのレンダリング時に円だけを示しているので、正しいjqueryなどのリンクを更新してください。私はちょうどステップ1,2をしました。あなたは、ページがレンダリングされた後にやる必要があると思っています。私は、https://bost.ocks.org/mike/map/ places.jsonステップを使用して作成したインド地域とgeojsonを試しています。 – Miten

18

今のところ、D3.jsのバージョン3です。 それは含まれていgithubの、で元のソースalbers.jsを見て価値があるかもしれません:d3.jsは38°LAT、長い98°Wに投影の中心を配置するprojection.rotateprojection.centerの組み合わせを使用し、

d3.geo.albers = function() { 
    return d3.geo.conicEqualArea() 
     .parallels([29.5, 45.5]) 
     .rotate([98, 0]) 
     .center([0, 38]) 
     .scale(1000); 
}; 

を今すぐN(約Hutchinson, Kansas)。

Geo Projections APIからd3.geo.conicEqualArea() .parallels([29.5, 45.5])は、Albers投影の2つの標準平行緯度29.5°Nと 45.5°Nをそれぞれ設定します。しかし、2つの標準的な平行線は何ですか?

パラレル設定が何であるかを理解するには、Albers投影が一種の円錐投影であることを知る必要があります。

円錐投影法は球状の地球からの情報を単一の平行で地球に接しているか、または2つの標準的な平行に分かれている円錐に投影します。最高の標準緯線の設定を選択する

enter image description here

は目標が表面の間にマッピングする際に投影歪みを最小限にすることとなっている微妙なタスク、のようです。とにかく、国の上端/下端に閉じられる2つの値を選択することは、国を囲む[円錐/球]面間の距離を最小限に抑えるのに役立ちます。 enter image description here

+1

本当にこのような詳細な見方が実際に設定されています。私はちょうどこれまでに感じています。 – minikomi

関連する問題