等時性ポリゴンを単純化するための適切なアルゴリズム


8

OSMデータを使用して生成された等時線を簡略化するためのアルゴリズムを探しています。

これらは一般に、OSMデータが欠落しているために小さな「穴」がたくさんあるが、地下鉄などの交通手段を使用しているために小さな「島」が頻繁にあることを特徴としています。私はこれのためにいくつかのツールを試しましたが、すべてがスペースを縮小することにあまりにも積極的です-最も重要なのは、島を削除することです。これらの公共交通機関の島への到達可能性は非常に重要です。

ツールに焦点を当てるのではなく、少し後戻りして、特定のアルゴリズムがそのようなタスクに適しているかどうかを尋ねたかったのですか?つまり、穴の除去には積極的ですが、島を除去しないことについては保守的です。

アイソクロンは、GeoJSON形式でライフを開始します。最終的にはPostGISにインポートされます。


より単純な等時線を計算するには、api.oalley.frに興味があるかもしれません。アルゴリズムは、穴のな​​い等時領域を生成します。それは特典または欠陥として見られるかもしれませんが、より単純なゾーンが必要な場合は、興味があるかもしれません。注:私は開発者の1人です。これまでのところ、計算を改善する必要があり、これはほとんど実験ですが、私たちは誰でも無料でそれを試すことができます。
Overdrivr

回答:


2

たぶん解決は最初から始まるのですか?

アイソクロンをどのように作成していますか?

私はpg_routingを使用していて、指定した時間に到達可能なエッジのセットをポリゴンではなく返すので、このデータから希望どおりにポリゴンを描画できます-st_ConvexHull、st_ConcaveHull、st_Buffer ...を使用できます。

最初の関数はゴム風船に何かを配置するようなもので、2つ目はこのバルーンから空気を吸い出すようなものです。この関数は、セット内のすべての形状を囲む形状を表す可能性がある凹形状を表す形状を返すため、探していると考えることができます。返されたジオメトリの穴を防ぐパラメータがあります...

しかし、それが良い方法であるかどうかはまだわかりません-実行中は電車から飛び降りることができないため、正しくないジオメトリが1つ取得されます。おそらく、ST_ExteriorRingを使用して穴を開け、次にst_simplifyを使用して形状を簡略化する必要があるでしょうか。

この回答が役立つと思われる場合は、正しい方法に導くコメントを追加してください。正しいように再編集できます。


等時線を生成するためにOpenTripPlannerを使用しています。pgRoutingは適切なGTFS /公共交通機関の時刻表をサポートしていないようなので、OTPを採用しました。私のアイデアは、OTPに高精度で生成させ、独自のスムージングを適用することです。「列車が走っているときに列車から飛び降りる」ことは、アイソクロンで致命的な問題になることに同意します。そのため、島がそこにある必要があるのです。
rgareth4 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.