osm2pgsqlでは、planet_osm_roadsテーブルはどのように読み込まれますか?


11

osm2pgsqlを使用して、planet.osmから北米OSMデータベースにデータを入力しています。

結果のPostGISスキーマがどれほどシンプルであるかは気に入っていますが、その内容に少し混乱しています。

2つのテーブルplanet_osm_roadsとがありplanet_osm_lineます。planet_osm_roadsにはすべての高速道路データが含まれていると想定しましたが、一部の「高速道路」タイプの道路の一部しか含まれていないことを発見しました。

たとえば、planet_osm_lineには12,000,000を超える行があり、「highway」の値は「residential」です。ただし、planet_osm_roadsには2,000しかありません。比較すると、両方のテーブルには同じ数の「高速道路」機能があります。データを見ると、なぜ一部の機能が一方のテーブルにあり、もう一方のテーブルにはないのかわかりません。

osm2pgsqlがラインフィーチャを各テーブルに導くために使用するルールを確認したいと思います。

私はosm2pgsqlのソースコードを調べて謎に光を当てようとしましたが、これまでのところ、私が探しているものは見つかりませんでした。

ご提案は大歓迎です。

回答:


9
  • planet_osm_line:インポートされたすべてのウェイが含まれます
  • planet_osm_point:インポートされたすべてのノードとタグが含まれます
  • planet_osm_polygon:インポートされたすべてのポリゴンが含まれます。関係はそのために解決されたようです。
  • planet_osm_roads:planet_osm_line低ズームレベルでのレンダリングに適したサブセットが含まれています。planet_osm_line概要マップでレンダリングするには要素が多すぎます。

osm_lineを使用

良い例については、http://www.opencyclemap.org/?zoom = 5&lat = 39.98469&lon = -99.18887&layers = B00ご覧ください。ルート/ウェイの色が調整されています。

ソース http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema#Tables_Created


4

planet_osm_roads 高速道路、川など、低ズームレベルのレンダリングに使用される方法のみが含まれます。通常、高ズームでのみレンダリングされる住宅道路、小川、その他のさまざまな機能などの詳細は含まれません。

道路テーブルに追加するもののデフォルトのCタグ変換定義はtagtransform.cppです

これをカスタマイズする場合は、おそらくluaタグtransformを作成するのが最善です。例として、サンプルluaタグ変換であるstyle.luaを見ることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.