Ubuntu14.04安裝PostgreSQL9.5+3DCityDB_v3.3.1+3dcitydb-web-map-client


环境要求:

  • OS: Ubuntu >= 14.04
  • PostgreSQL >= 9.1
  • PostGIS extension >= 2.0
  • JDK >= 1.8

安裝JDK

需要注意, 3DCityDB需要JDK>=1.8的版本

  • 配置環境變量

    vim /etc/profile
    
    
    # for jdk environment
    
    export JAVA_HOME=/opt/jdk1.8.0_131
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  • 使環境變量生效

    source /etc/profile

安裝PostgreSQL9.5+PostGis2.2

這裏我使用圖形用戶界面安裝, 並沒有用命令行. 可以從這裏下載到安裝包, 選擇對應的版本

安裝過程比較簡單, 但有幾處地方需要注意:

  • 給安裝文件賦予權限

    sudo chmod u+x postgresql-9.5.7-1-linux-x64.run
    ./postgresql-9.5.7-1-linux-x64.run
  • 下面這個勾選一下, 會自動下載相應的PostGis

    这里写图片描述

  • 不要勾選, 他會自動安裝PostGis

    这里写图片描述

配置PostgreSQL

  • 修改pg_hba.conf, 將md5改成trust

    vim /opt/PostgreSQL/9.5/data/pg_hba.conf

    这里写图片描述

  • 創建數據庫
    PostgreSQL安裝完成之後, 會自動的創建一個postgres用戶, 我在這個用戶之上進行操作(當然也能創建別的用戶)

    $ psql -U postgres -p 5432 -h localhost
    此時需要輸入在安裝PostgreSQL時設置的密碼
    
    //在postgres用戶中創建citytestdb數據庫
    postgres=# CREATE DATABASE citytestdb OWNER postgres;
    
    //從默認的postgres數據庫切換到citytestdb數據庫
    postgres=# \c citytestdb
    citytestdb=#
    
    //可以查看一下目前的連接狀態
    citytestdb=# \conninfo
    You are connected to database "citytestdb" as user "postgres" on host "localhost" at port "5432".
    
    //爲citytestdb數據庫創建postgis擴展
    citytestdb=# create extension postgis;
    
    //檢驗postgis是否安裝成功
    citytestdb=# select postgis_full_version();
  • postgresql常用操作
    postgresql的常用操作可以參考這裏:
    https://mozillazg.github.io/2014/06/hello-postgresql.html

安裝3DCityDB-Importer-Exporter

可以從這裏下載到安裝包. 安裝包是一個jar包

  • 安裝3DCityDB

    java -jar 3DCityDB-Importer-Exporter-3.3.1-Setup.jar
  • 爲3DCityDB執行創建數據庫腳本CREATE_DB.sh

    vim 3DCityDB-Importer-Exporter/3dcitydb/postgresql/CREATE_DB.sh
    
    //修改其中的一些內容爲
    export PGPORT=5432
    export PGHOST=localhost
    export PGUSER=postgres
    export CITYDB=citytestdb
    export PGBIN=/opt/PostgreSQL/9.5/bin
    
    //執行腳本
    sudo sh CREATE_DB.sh
  • 將3DCityDB與PostgreSQL相連

    这里写图片描述

  • 導入citygml

    这里写图片描述

  • 導出KML/COLLADA /glTF

    这里写图片描述

    導出成功之後會伴隨產生這些文件

    这里写图片描述

安裝3dcitydb-web-map-client

可以從這裏下載, 是一個js應用, 但是基於nodejs的.

  • 首先需要安裝nodejs
    這裏下載nodejs, 我選擇的是V6.10.3版本

    //爲node創建軟連接
    sudo ln -s /home/huangby/node-v6.10.3-linux-x64/bin/node /usr/bin/node
    sudo ln -s /home/huangby/node-v6.10.3-linux-x64/bin/npm /usr/bin/npm
    
    //驗證node和npm是否安裝成功
    node -v
    npm -v
  • 只需解壓3dcitydb-web-map.zip即可
  • 啓動 3dcitydb-web-map服務

    cd 3dcitydb-web-map-1.1.0/
    node server.js
  • 用剛才導出的數據可視化結果

    这里写图片描述


UPDATE

使用osmosis工具导入osm到PostgreSQL

可以从这里下载osmosis工具, 直接解压即可

  • 添加软链接

    sudo ln -s osmosis-latest/bin/osmosis /usr/bin/osmosis
  • 在PostgreSQL上为其安装扩展

    $ psql -U postgres -p 5432 -h localhost
    此時需要輸入在安裝PostgreSQL時設置的密碼
    
    //在postgres用戶中新建一个存放osm的数据库
    postgres=# CREATE DATABASE osmtestdb OWNER postgres;
    
    //從默認的postgres數據庫切換到osmtestdb數據庫
    postgres=# \c osmtestdb
    osmtestdb=#
    
    //安装扩展
    osmtestdb=# create extension postgis;
    osmtestdb=# create extension hstore;
  • 为方便操作PostgreSQL, 安装一下pgadmin3图形用户界面

    sudo apt-get install pgadmin3
  • 启动pgadmin3

    //启动pgadmin3
    $ pgadmin3
    
    //执行pgsnapshot_schema_0.6.sql
    在osmtestdb上点击SQL查询按钮, 点击文件->打开 pgsnapshot_schema_0.6.sql(该文件在osmosis安装目录osmosis\script下) -> 执行
  • 导入osm到PostgreSQL

    $ osmosis --read-xml nantong.osm --write-pgsql database="osmtestdb" user="postgres"

    这里写图片描述

    导入成功了!

BINGO~~


参考

http://m.www.cnblogs.com/iken/p/4438872.html

转载自:https://blog.csdn.net/predict_wise/article/details/72598370

You may also like...