배경
Geofabrik 에서 Alberta 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 데이터를 개선하는 shapefile 세트가 제공되었습니다 .
City.dbf, City.prj, City.sbn, City.sbx, City.shp, City.shp.xml, City.shx
마을, 도시 지역, 지방 자치구 경계 등을위한 추가 형태 파일. pgAdmin 플러그인을 사용하여 shapefile을 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]]
shapefile 데이터와 OSM (OpenStreetMap) 데이터에는 각각 고유 한 데이터베이스가 있지만 shapefile 데이터를 OSM 데이터베이스로 가져오고 싶습니다. (이것은 사설 서버이며 OSM 데이터의 로컬 사본이며, shapefile 데이터는 합법적으로 공유 할 수 없습니다.)
업데이트 # 1
명확하게 말하면, shapefile에는 도로가 포함되지 않습니다. 시정촌 경계 (OSM 데이터의 일부가 아닌), 도시 (일부 OSM 데이터의 일부) 및 대도시 (일부는 수도 OSM 데이터와 충돌).
질문
새 도시가 맵에 표시되도록 쉐이프 파일 데이터를 OSM 데이터와 병합하려면 어떻게합니까?
참고 : 내 주요 관심사는 중복 데이터를 해결하는 것입니다 (예 : Edmonton은 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
감사합니다!