バックグラウンド
GeofabrikからアルバータOSMデータをダウンロードし、PostgreSQL 9.1、PostGIS 2.0、Mapnik 2.1.0、osm2pgsql、Apache 2、mod_tile、rendered、およびOpenLayersを使用してプライベートLinuxサーバーで実行します。
データはosm2pgsql
次のようにインポートされました。
osm2pgsql -W -K -S /usr/local/share/osm2pgsql/default.style -d osm alberta.osm.bz2
問題
アルバータ州のOSMデータは不完全です。OSMデータを改善する一連のシェープファイルが提供されました。
City.dbf, City.prj, City.sbn, City.sbx, City.shp, City.shp.xml, City.shx
さらに、村、都市部、市区町村の境界などの追加のシェープファイル。pgAdmin プラグインを使用して、シェープファイルをPostgreSQLに正常にインポートしました。このCity.prj
ファイルには、その投影法が次のように記述されています。
GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
シェープファイルデータとOpenStreetMap(OSM)データにはそれぞれ独自のデータベースがありますが、シェープファイルデータをOSMデータベースにインポートしたいと考えています。(これはプライベートサーバーであり、OSMデータのローカルコピーです。シェープファイルデータは合法的に共有できません。)
アップデート#1
明確にするために、シェープファイルには道路が含まれていません。自治体の境界(OSMデータの一部ではないこと)、都市(OSMデータの一部である)、および大都市の都市境界(一部である可能性がある) OSMデータと競合しています)。
質問
新しい都市がマップに表示されるように、シェープファイルデータをOSMデータとマージするにはどうすればよいですか?
注:私の主な関心事は、重複データの解決です(たとえば、エドモントンはOSMと調達されたシェープファイルの両方にリストされています)。
関連リンク
- http://wiki.openstreetmap.org/wiki/Shapefiles
- http://wiki.openstreetmap.org/wiki/Import/Shapefile
- http://wiki.openstreetmap.org/wiki/Convert_shp_to_osm_using_grass_and_gpsbabel
- https://github.com/wavded/js-shapefile-to-geojson
- http://redmine.yellowbkpk.com/projects/list_files/geo
- http://www.gdal.org/ogr2ogr.html
- http://wiki.openstreetmap.org/wiki/Ogr2osm
- https://github.com/andrewguertin/ogr2osm
- http://svn.openstreetmap.org/applications/utils/import/shp2osm/
- http://crschmidt.net/blog/archives/354/polyshp2osm/
- http://www.mail-archive.com/talk@openstreetmap.org/msg12487.html
ありがとうございました!