問題タブ [turfjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ポリゴン内の Leaflet と Turf.js ポイント
リーフレットに 17 のポイント (GeoJSON) を持つ単純なマップがあり、描画ツールを使用して、ポリゴン内のポイントを選択するために使用するポリゴンを作成します。
アイデアや提案はありますか?
javascript - 隣接するポリゴンをマージする方法
Fortune のアルゴリズムの Javascript 実装を使用して、ボロノイ セル ( https://github.com/gorhill/Javascript-Voronoi ) を計算しています。計算する私のサイトは、マップ上のポイントです (そう(lat,lng)
です)。最初に射影を作成し(lat,lng) -> (x,y)
、次にボロノイ セルを計算し、半分のエッジの射影を逆に作成しました。
リーフレットを使用して結果を表示しますが、もう 1 つ行う必要があります。
最初に計算する各サイトは ID に依存します。ボロノイ セルを ID で再分類すると、各 ID について、次のような標準データ構造になります。
指定された ID のポリゴンのセット (ボロノイ セルの半分のエッジから作成)。
これらのポリゴンを ID でマージする必要があります。使用するつもりでしたがturf.merge()
、トポロジ エラーがあります。
この投稿 ( http://lists.refractions.net/pipermail/jts-devel/2009-March/002939.html(lat,lng)
) に基づいて、カップルを 10^-14 から 10^-7 に丸めようとしましたが、本当にうまくいきませんでした。ねじれを探してそれらを取り除こうとする前に、いくつかのデータ サンプルを印刷しましたが、Fortune のアルゴリズムからの適切なデータを使用したかどうか自問自答していることはわかっています。すべての ID のすべてのポリゴンを表示すると、正しい図が表示されますが、1 つの ID のすべてのポリゴンまたは 1 つの ID のいくつかのポリゴンを表示すると、不完全な図になります。
全体図の一部
1 つの ID の図の一部
特定の ID の 2 つの「ポリゴン」
少なくとも 1 つの共通の頂点を共有するポリゴンをマージする方法を知っている人はいますか? また、トポロジ エラーが発生するのはなぜですか?
編集:ポリゴンは「不完全」ではありません(ポリラインを使用していました)
簡単なサンプルも試しました:
それでもエラーが発生しました:
したがって、ねじれが原因ではありません (または少なくともそれだけではありません)。
leaflet - 全世界にヘックスを適用する方法
全世界にヘックスを適用する方法。この例をインターネットで見つけましたが、全世界に適用することはできませんでしvar bbox = [-180, -90, 180, 90];
たが、期待どおりに機能しません。
編集: サードパーティのライブラリである turf.js を使用する代わりに、L.multiPolygon
すべてを使用して独自の六角形を作成しようとしましたが、マップのごく一部でしか機能しません。さらに六角形を追加すると、ブラウザがクラッシュします。そのため、一度にすべてのヘックスをロードするのを避け、画面に表示されているヘックスだけをロードすることを避けたかったのです。メソッドを見つけましたL.PolyUtil.clipPolygon
が、それがどのように機能するかわかりません。ここにjsfiddleがあります
geojson - ラインストリングに密度を追加する
ラインストリングの密度を上げることができるturfjsメソッドはありますか? そうでない場合、それを行うための他の1行はありますか?