恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

3dfier输出流程深入解析:一个三维模型如何被写入CityGML、IMGeo与PostGIS

  • 首页
  • 资讯中心
  • /
  • 3dfier输出流程深入解析:一个三维模型如何被写入CityGML、IMGeo与PostGIS

相关资讯

从VOC到YOLO:构建高质量船只检测数据集的完整指南与实战 2026/8/28 8:31:36
ARC-AGI-3高分背后:RLM Harness与Agent评测争议解析 2026/8/28 8:31:36
AMD Ryzen V1000嵌入式x86模块:紧凑工业计算平台的实战选型与部署 2026/8/28 8:31:36

最新资讯

i.MX8M Mini边缘网关实战:基于Gateworks Venice的Ubuntu部署指南
build-your-own-x 实战:从零造出你自己的技术组件
大模型应用样本与指标准备
向量检索任务的拆分方法
MarkItDown:3 步把 PDF 和 Office 文档转成 Markdown,让 LLM 一条命令读懂文件
CC Switch:4 步上手,一键切换 AI 供应商配置的完整指南

今日推荐

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]
凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析
2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

3dfier输出流程深入解析:一个三维模型如何被写入CityGML、IMGeo与PostGIS

发布时间:2026/8/28 8:36:36
3dfier输出流程深入解析:一个三维模型如何被写入CityGML、IMGeo与PostGIS 3dfier输出流程深入解析一个三维模型如何被写入CityGML、IMGeo与PostGIS【免费下载链接】3dfierThe open-source tool for creating 3D models项目地址: https://gitcode.com/gh_mirrors/3d/3dfier3dfier 是一款开源的三维城市建模工具它读取 2D GIS 数据建筑轮廓、点云并3dfy生成三维模型。本文带你深入 3dfier 的输出流程看懂一个三维模型是如何被依次写入 CityGML、CityJSON、IMGeo、PostGIS、OBJ、CSV 等 15 种格式的适合刚接触 3dfier 的新手快速建立全局认知。一条命令触发多格式输出3dfier 的输出格式不是写在配置文件里而是通过命令行参数逐一启用的。每个输出选项都对应一个目标路径程序会迭代遍历所有已定义的输出格式逐个生成。常用入口定义在 src/main.cpp 中输出选项说明--CityGML/--CityGML-Multifile单文件 / 多文件 CityGML--CityGML-IMGeo/--CityGML-IMGeo-Multifile荷兰 IMGeo 扩展格式--CityJSON带属性的 CityJSON--PostGIS/--PostGIS-PDOK/--PostGIS-PDOK-CityGML写入 PostGIS 数据库--OBJ/--OBJ-NoID/--STL网格/表面模型--Shapefile/--GDAL任意 GDAL 矢量格式--CSV-BUILDINGS等 3 个变体建筑高度统计例如最常见的两种用法3dfier config.yml --OBJ myoutput.obj 3dfier config.yml --CityGML myoutput.gml 3dfier config.yml --PostGIS PG:host... user... dbname...模型最终包含哪些要素由配置文件中的allowed_features决定共 7 类要素见 src/definitions.h 中的TopoClass枚举Building、Water、Terrain、Road、Forest、Separation、Bridge/Overpass。写入流程的核心要素驱动的格式决策上图来自 docs/pages/architecture/output_flow.md是理解整个输出模块的关键。核心思路是遍历每一个三维要素Building、Terrain 等而不是遍历格式根据当前输出的目标格式对同一份内存中的模型做不同粒度的几何表达——比如建筑在 CityGML 里是 LoD1 实体Solid在 OBJ 里是三角化的多表面MultiSurface属性如楼层高度min height surface、屋面高度measuredHeight只在支持的格式中写出。这种一份模型、多种表达的设计让所有格式共享同一套几何与属性数据避免了重复计算。CityGML 输出LoD1 实体与三角化两种形态CityGML 是 3dfier 最核心的输出格式。建筑默认被写成LoD1 Solid有体积的实体并附带两个高度属性两个配置项会改变写入形态triangulation: true→ 建筑写成三角化 MultiSurface而非 LoD1 实体floor: true→ 模型中额外包含楼层面多边形。效果对比一目了然GML 的 XML 头与命名空间由 src/io.cpp 中的get_xml_header、get_citygml_namespaces等函数生成LoD1 块体的几何则通过get_extruded_lod1_block_gml拉伸写出。IMGeo面向荷兰地政体系的 CityGML 扩展IMGeo是 CityGML 的一个应用域扩展ADE由荷兰政府采用大量官方数据集都使用该格式。它的流程与 CityGML 几乎一致但有两点关键差异LoD0 的楼板与屋顶面不写入数据模型中不保留拥有专有的属性字段程序会把输入数据中的对应元数据复制到正确的 IMGeo 输出属性上。因此如果你处理的是荷兰的 BGT 建筑数据如 example_data/bgt/ 下的样例库--CityGML-IMGeo是与本地 GIS 系统对接的首选。写入 PostGIS 数据库与 GDAL 格式共享一套代码PostGIS 输出复用了 GDAL 格式的特性/几何/属性构建代码二者的区别在于数据落点GDAL 文件格式每个图层创建一个数据集一个文件PostGIS创建单一数据集数据库其中包含多个图层。入口实现是 src/Map3d.cpp 中的get_postgis_output通过 GDAL 的PostgreSQL驱动打开连接串逐要素类建图层并写入。注意它要求GDAL ≥ 2.0需要 MultiPolygonZ 支持否则程序会直接报错退出。三个变体对应不同目标模式PostGIS通用、PostGIS-PDOK荷兰 PDOK 地政模式、PostGIS-PDOK-CityGMLPDOK CityGML 语义。写入数据库后的成果可以直接在 GIS 平台中查询、叠加分析其他常用格式速览CityJSON与 OBJ 流程类似但支持 Solid 与属性。建筑写成 LoD1 Solid其他要素为 MultiSurface并携带min height surface与measuredHeight属性。OBJ仅支持 MultiSurface。建筑同时支持 LoD0/LoD1通过小技巧用o命名IDusemtl材质名来携带语义标签如usemtl Terrain样例输出见 example_data/output/。CSV面向建筑统计的宝藏格式提供三档精度——单百分位、多百分位楼板 0/10/20/30/40/50屋顶 0/10/25/50/75/90/95/99、全部高程值。Shapefile / GDAL--GDAL可指定任意 GDAL 驱动名输出。快速上手输出你的第一个模型配合 example_data/testarea_config.yml 与 example_data/ 中自带的 AHNL 点云.laz和 BGT 矢量数据一条命令即可复现示例成果3dfier example_data/testarea_config.yml \ --OBJ example_data/output/testarea.obj \ --CityGML example_data/output/testarea.gml \ --PostGIS PG:hostlocalhost userme dbname3dfier小结3dfier 的输出模块以一份内存模型 格式决策流程为中心命令行决定写哪些格式每个要素按格式规则表达几何与属性文件类格式走 GDAL 流程PostGIS 则共享同一套代码写入数据库。理解上面那张总流程图就掌握了 CityGML、IMGeo 与 PostGIS 三种关键输出的全部脉络。更多细节可参考官方文档 docs/pages/architecture/output_flow.md 与 docs/pages/settings/output_options.md。【免费下载链接】3dfierThe open-source tool for creating 3D models项目地址: https://gitcode.com/gh_mirrors/3d/3dfier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号