littlebot
Published on 2025-04-03 / 5 Visits
0

【源码】基于Python的PLATEAU数据解析与可视化系统

项目简介

本项目是用于解析和可视化PLATEAU(CityGML)数据的Python模块及应用程序。能从CityGML数据中解析建筑、地表、道路等信息,通过Open3D或Blender Python进行3D可视化展示。项目最初在「東京23区から新しい世界を創るアイデアソン/ハッカソン」开发并获大赛冠军,目前支持处理公开的PLATEAU数据。

项目的主要特性和功能

  1. 数据解析:支持解析建筑(bldg)的LOD 0、1、2,以及地表(dem)、道路(tran),还能解析元数据和codelists定义。
  2. 数据缓存:对解析过的数据缓存,实现下次高速读取。
  3. 3D可视化:可将数据转换为Open3D的TriangleMesh或Blender的Object进行3D显示,支持LOD2纹理显示(速度较慢)。
  4. 数据输出:支持将数据输出为.ply文件。
  5. 实用命令:提供查看区画编号列表、查看元数据、查看codelists定义等命令。

安装使用步骤

安装

  1. 复制项目: bash
  2. 进入项目目录并安装依赖模块: bash cd plateaupy pip install -r requirements.txt
  3. 下载并安装Open3D v0.11.2: bash pip install open3d-0.11.2-***.whl

下载PLATEAU数据

可以使用download_plateau.py脚本下载数据: bash python download_plateau.py plateau-tokyo23ku-citygml-2020 若要查看数据集列表,可使用-h参数: bash python download_plateau.py -h 还可以使用--basedir参数指定下载和展开的目录。

使用查看器应用程序appviewer

  1. 创建数据路径链接(可选): bash ln -s CityGML2020/plateau-tokyo23ku-citygml-2020 path_to_citygml
  2. 查看区画编号列表: bash python appviewer.py -cmd locations
  3. 显示指定区画的建筑、道路、地面: bash python appviewer.py -loc 533925
  4. 使用缓存数据高速启动: bash python appviewer.py -loc 533925 -c
  5. 指定gml类型: bash python appviewer.py -loc 533925 -c -k 0
  6. 显示LOD2纹理: bash python appviewer.py -paths../CityGML_02 -k 0 -loc 53392633 -lod2texture
  7. 保存为.ply文件: bash python appviewer.py -loc 533925 -c -plypath tmp
  8. 查看bldg内的元数据: bash python appviewer.py -loc 533925 -c -cmd dumpmeta
  9. 查看codelists定义: bash python appviewer.py -cmd codelists

使用Blender - Python

安装

参考blender/blendertest.sh进行安装,确保Blender版本在2.8以上,安装必要模块: bash BLENDER_PYTHON=$BLENDER/2.91/python/bin/python3.7m $BLENDER_PYTHON -m ensurepip BLENDER_PIP=$BLENDER/2.91/python/bin/pip3 $BLENDER_PIP install --upgrade pip $BLENDER_PIP install lxml open3d opencv-python

运行

bash $BLENDER/blender --python [blender/blendertest.py](blender/blendertest.py) --python-use-system-env

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】