[原]CentOS7部署osm2pgsql


轉載請注明原作者(think8848)和出處(http://think8848.cnblogs.com)

部署Postgresql部署PostGis請參考前兩篇文章

本文主要參考GitHub上osm2pgsql的說明文檔

1. 先安裝Git

sudo yum install git -y

2. 下載osm2pgsql源碼

cd ~

git clone git://github.com/openstreetmap/osm2pgsql.git

在GitHub上下載文檔實在是慢的難以忍受,建議還是使用 wget -O osm2pgsql-master.zip https://codeload.github.com/openstreetmap/osm2pgsql/zip/master 下載,或者干脆用迅雷下載好,再想辦法放到CentOS中。

如果下載的文件是zip格式,那么就需要使用unzip將文件解壓,先使用 sudo yum install unzip -y 安裝unzip,然后再使用 unzip osm2pgsql-master.zip 解壓。

3. 安裝依賴包

請確保epel-release已經安裝了

sudo yum install cmake gcc-c++ boost-devel expat-devel zlib-devel bzip2-devel postgresql-devel geos-devel proj-devel proj-epsg lua-devel -y

4. 進入osm2pgsql源碼目錄,進行配置編譯安裝

cd osm2pgsql-master

mkdir build && cd build

#如果是照着前兩篇文章一直走到這里,有可能在cmake時報POSTGRESQL***目錄找不到之類的錯誤,
#解決辦法是重啟電腦,然后清除/tmp/osm2pgsql-master/build目錄下所有文件和文件夾,重新使用cmake ..命令
cmake .. make sudo make install

-------------------------2016年11月10更新-------------------------

如果在cmake .. 配置過程中出現Could not find Postgresql (missing PostgreSQL_LIBRARY_DIRS...之類的錯誤,請嘗試使用下列命令執行后,再次cmake ..

 

sudo yum install postgresql95-devel

 

-------------------------2016年11月10更新-------------------------

 

驗證安裝 osm2pgsql -version ,版本號顯示出來了,但是下面莫名奇妙的出了一個錯誤提示,貌似沒啥影響,處女座的朋友可以不驗證,哈哈...

5. 導入osm數據(不包含openstreetmap-carto樣式)

openstreetmap中國數據下載地址:http://download.geofabrik.de/asia.html

為了postgres有訪問權限,建議將china-latest.osm.pbf下載到/tmp目錄下

如果你是看了《CentOS7部署PostGis》之后再看這里,那么就安裝下hstore擴展,如果你沒有閱讀這篇文章,請在此先參考下如何建一個PostGis數據庫,安裝hstore擴展(有關更多hstore信息,請參見這里這里):

su postgres

psql -d chinaosmgisdb;

CREATE EXTENSION hstore;

\q

正式導入數據

osm2pgsql -s -U think8848 -H 127.0.0.1 -P 5432 -W -d chinaosmgisdb /tmp/china-latest.osm.pbf

6. 導入openstreetmap-carto樣式

下載openstreetmap-carto,然后解壓,最后復制到/home/postgresql_data中

cd /tmp

wget -O openstreetmap-carto-master.zip https://codeload.github.com/gravitystorm/openstreetmap-carto/zip/master

unzip openstreetmap-carto-master.zip

mv openstreetmap-carto-master /home/postgresql_data

做好准備工作后就可以導入了

su postgres

osm2pgsql -s -U think8848 -H 127.0.0.1 -P 5432 -W -d chinaosmgisdb /tmp/china-latest.osm.pbf --style /home/postgresql_data/openstreetmap-carto-master/openstreetmap-carto.style

經過一會兒的等待,就導入OK了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM