2017-02-08 8 views
1

複数のポリゴンオブジェクトで構成される国/大陸の中心を見つける方法はありますか(例:アメリカ、カナダ、本土の土地部分のほかに島がある) ?私はチラシのLayer.getCenter()またはLayer.getBounds().getCenter()を使用しようとしていましたが、これらの方法は確かにこのタイプの国では機能せず、「ノー・ゴー」の結果を返します。geojsonの中心を取得するリーフレットを使用して大陸/国/州

例は、次のリンク(リーフレット遊び場)で見ることができます。スクロールして、米国またはカナダをクリックし、circleMarkerが表示される場所を確認してください。その後、小さなエンティティをクリックしてみてください米国の南にいくつかの島のように、彼らはof'em中央に正確にこのマーカーを配置しなければならない。唯一の機能のバウンディングボックスの中心を計算することができ

http://playground-leaflet.rhcloud.com/voyi/1/edit?html,output

答えて

2

リーフレット。他のライブラリ(Turf.jsなど)の助けを借りて、centroidのポリゴンまたは(多ポリゴン)を計算することができます。時々重心が多角形(またはマルチポリゴン)内にないので、いずれの場合においても

、あなたは混乱してきている。

http://postgis.net/docs/images/st_centroid03.png

PostGIS's ST_Centroid documentationあたりなどの多角形の図1重心)

だから私は、あなたが本当に聞きしたかったことはあると思います:ポリゴンまたはマルチポリゴンを考える

、どのように私は、中心(またはパーセントを計算することができますer-like point)はポリゴン内にあることが保証されており、その中心に視覚的に見えるので、シンボルポイントをリーフレットで追加することができますか?

そしてpolylabelによって実装されているため、答えは"pole of inaccessibility"です:«ポリゴンアウトラインから最も遠い内部のポイント»。

+0

ありがとうございます。実際には私が求めていた質問ですが、重心についての知識が不足していました。どうもありがとうございます。私は – Kamilius

+0

を提供した情報に基づいて良い結果を得ようとします。 'polylabel'はポリゴンに役立ちます。そして、「マルチポリゴン」はどうですか?北米とアラスカの南部parthを持つアメリカの国のように?この場合、何かできることはありますか? – Kamilius

+1

マルチポリゴンの各外側リングの面積を計算し、最大ポリラインに「ポリラベル」を適用します。そして/または、https://github.com/mapbox/polylabel/issuesに機能要求を提出してください – IvanSanchez

関連する問題