本文是對自己學習過程的一個記錄和彙總,作為自己的一個總結性的文檔,並隨著進度更新完善。作為一個初學者,文章若有不妥之處還請各位讀者提出來,大家共同交流進步,謝謝! OSM地圖數據下載: osm是一個開放式線上地圖平臺,Open Street Map(簡稱 OSM)是一個存儲海量XML 數據的資料庫( ...
本文是對自己學習過程的一個記錄和彙總,作為自己的一個總結性的文檔,並隨著進度更新完善。作為一個初學者,文章若有不妥之處還請各位讀者提出來,大家共同交流進步,謝謝!
OSM地圖數據下載:
osm是一個開放式線上地圖平臺,Open Street Map(簡稱 OSM)是一個存儲海量XML 數據的資料庫(在本文中簡稱原始 OSM 數據),只要註冊賬號,
任何人均可以對其後臺資料庫進行編輯,從而被稱為世界的維基地圖。儘管眾源地圖的編輯過程難以監控管理,但通過近年來的完善和修訂,OSM的質量
已經得到眾多學者的認可。
我們可以在網址(http://download.geofabrik.de/)下載各國的OSM地圖,可根據各自的需要下載,下載完成之後將文件改為osm格式。
第一步.工具準備:
1.資料庫postgreSQL
可以選擇壓縮版zip自行解壓安裝配置環境變數,也可以選擇程式版根據提示安裝:
壓縮版:https://www.enterprisedb.com/products-services-training/pgbindownload
安裝程式版:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
選擇需要安裝的版本,點擊download now(有些較老的版本開發已經不再支持,建議儘量選取較高版本吧)
postgreSQL程式版安裝教程網上很多,在此不再細說。註意:因為要用到postGIS擴展,在安裝postgreSQL程式版時就順帶裝上,在對應32/64位前面打勾:
2.OSM數據導入工具osm2pgsql
osm2pgsql下載地址:http://customdebug.com/osm/osm2pgsql.zip
下載好之後解壓
還需要準備一個文件:default.style
default.style文件:https://github.com/openstreetmap/osm2pgsql/blob/master/default.style
註:新建一個txt文檔,將以上鏈接內的代碼拷貝進去,重命名-> default.style->將該文件放到...\osm2pgsql\x64文件夾下
第二步:
1.為資料庫載入postgis對象和函數定義(postgis.sql)
在資料庫安裝位置bin文件夾下打開cmd命令視窗,postgis.sql文件在...PostgreSQL\10\share\contrib\postgis-2.4文件夾下(spatial_ref_sys.sql下同)
cmd指令:psql -U postgres -f "此處為postgis.sql文件的路徑" (postgres為創建的資料庫名字,下同)
輸入命令回車->提示輸入密碼->輸入設置的資料庫密碼,等待載入完成。
2.載入EPSG坐標系統定義(spatial_ref_sys.sql)
cmd指令:psql -U postgres -f "此處為postgis.sql文件的路徑"
輸入命令回車->提示輸入密碼->輸入設置的資料庫密碼,等待載入完成。
3.導入OSM數據
將下載的map.osm地圖數據放到...\osm2pgsql\x64文件夾下,併在該位置打開指令視窗,(dss_database是新建的資料庫,這個指令將下載的地圖數據放入這個資料庫)
執行cmd指令:osm2pgsql -U postgres -d dss_database -P 5432 -S "此處為default.style的路徑" map.osm
回車->報錯:
在網上查資料,修改了文件pg_hba.conf配置,將兩個md5改為trust。文件路徑:...\PostgreSQL\10\data
執行cmd命令:導入成功
下一階段開始學習Mapnik工具如何渲染OSM數據.