3DCityDB

3D City Database是一个免费的3D Geo数据库,用于存储、展示、管理虚拟3D城市模型。3Dcitydb可以通过Oracle或者PostgreSQL实现,数据格式基于CityGML

Using

  1. 获取CityGML数据
  2. 通过3DCityDB-Importer-Exporter将CityGML格式数据导入数据库
  3. 通过3DCityDB-Importer-Exporter将数据库数据导出到KML/COLLADA/glTF格式。
  4. 在Cesium中引入extruded_masterJSON.json路径

3DCityDB-Importer-Exporter

负责数据的导入导出,将CityGML格式转换为KML/COLLADA/glTF格式。
运行
./usr/local/3DCityDB-Importer-Exporter/3DCityDB-Importer-Exporter.sh

  1. 配置数据库信息
  2. 选择CityGML格式导入文件
  3. 选择需要导入的Feature Classes
  4. 导出KML格式,选择路径,给定边界范围,以及Feature Classes
  5. 在web-client中引入extruded_masterJSON.json路径

边界范围:如Berlin的边界范围为”xmin”: 13.35,
“xmax”: 13.45,
“ymin”: 52.5,
“ymax”: 52.54

Config

PostGres

  1. pg_ctl start //启动PostgreSQL数据库
  2. pg_ctl status //查询数据库状态
  3. psql -d citydb -U dbuser //已dbuser身份登录citydb_v1数据库

数据库账户密码

dbuser密码a123456
postgres密码`123iecas

可视化管理数据库
$PATH = /usr/pgsql-9.5/bin/pgadmin3

Install

PostgreSql&PostGIS

前提库

  1. 安装 proj-4.8.0
  2. 安装 geos-3.3.8
  3. 安装 JSON-C 0.9
  4. 安装 GDAL-1.9.2
  5. 安装 libxml2

    安装PostGIS扩展

    create extension postgis;
    create extension postgis_topology;

    Reference

    PostgreSQL:Postgis 2.0 安装
    Linux下源码安装PostgreSql和PostGIS

配置

创建新数据库

CREATE DATABASE citydb_v1 OWNER dbuser;
GRANT ALL PRIVILEGES ON DATABASE citydb_v1 to dbuser;

执行3DCityDB脚本

在已有数据库中创建符合3DCityDB的数据表,可以在脚本中先行写好配置项,直接运行。
vim /usr/local/3DCityDB-Importer-Exporter/3dcitydb/postgresql/CREATE_DB.sh

1
2
3
4
5
export PGPORT=5432
export PGHOST=localhost
export PGUSER=dbuser
export CITYDB=citydb_v1
export PGBIN=/usr/local/pgsql/bin

./CREATE_DB.sh

指定坐标系

Pram Value
SRID EPSG:25833
URN urn:ogc:def:crs,crs:EPSG::25833,crs:EPSG::25833