オープン ソース プロジェクト SciGRID を使用して電力ネットワークを開発しようとしています。そのためには、ノード、ウェイ、およびリレーションのパワー タグを抽出する必要があります。
次のコードは、SciGRID ユーザーガイド pg 10 で提供されており、より大きな地域 (asia-latest.osm.osm. pbf)。
私が抱えている問題は、ウェイとリレーションのパワー タグが使用可能であるにもかかわらず、ノードのパワー タグが使用できないように見えることです。
osmosis \
--read-pbf file=PowerNetwork/data_japan/asia-latest.osm.pbf \
--tag-filter accept-relations route=power \
--used-way --used-node \
--bounding-polygon file=PowerNetwork/data_japan/japan.poly \
completeRelations=yes --buffer outPipe.0=route \
--read-pbf file=PowerNetwork/data_japan/asia-latest.osm.pbf \
--tag-filter accept-relations power=* \
--used-way --used-node \
--bounding-polygon file=PowerNetwork/data_japan/japan.poly
completeRelations=yes --buffer outPipe.0=power \
--read-pbf file=PowerNetwork/data_japan/asia-latest.osm.pbf \
--tag-filter reject-relations \
--tag-filter accept-ways power=* \
--used-node \
--bounding-polygon file=PowerNetwork/data_japan/japan.poly \
completeWays=yes --buffer outPipe.0=pways \
--read-pbf file=PowerNetwork/data_japan/asia-latest.osm.pbf \
--tag-filter reject-relations \
--tag-filter reject-ways \
--tag-filter accept-nodes power=* \
--bounding-polygon file=PowerNetwork/data_japan/japan.poly \
--buffer outPipe.0=pnodes \
--merge inPipe.0=route inPipe.1=power \
--buffer outPipe.0=mone \
--merge inPipe.0=pways inPipe.1=pnodes \
--buffer outPipe.0=mtwo \
--merge inPipe.0=mone inPipe.1=mtwo \
--write-pbf file=PowerNetwork/data_japan/jp_power_latest.osm.pbf
コンテンツを表示するには、ユーザーガイドに使用するように記載されていますosm2pgsql
。これにより、電力関連のデータが postgres(postgis) データベースにエクスポートされます。次のコードはそれを行います。
osm2pgsql -r pbf \
--username=postgres --host=127.0.0.1 \
--port=5432 --database=de_power_160718 \
--style power.style -C cash_size_in_MB \
--number-processes nb-processors \
de_power_160718.osm.pbf
power.style ファイルの内容、
# OsmType Tag DataType Flags
node,way power text polygon
node,way cables text linear
node,way voltage text linear
node,way wires text linear
これにより、いくつかのテーブルが形成され、ノード テーブルにはタグ列が含まれませんが、ウェイとレル テーブルにはタグ列が含まれます。ノードテーブルにタグ列が含まれていない理由を知っている人はいますか?