目录
- 0 引言
- 1 城市和道路数据获取
-
- 1.1 常用方法
- 1.2 OSM数据获取
- 1.3 OSM数据格式
-
- 1.3.1 所有格式
- 1.3.2 Shapefile格式
- 2 实践
-
- 2.1 导入数据(.shp)
- 2.2 构建三维模型
- 2.3 将模型导入UE5
- ♂️ 作者:海码007
- 专栏:CityEngine专栏
- 标题:CityEngine2023 根据shp数据构建三维模型并导入UE5
- ❣️ 寄语:书到用时方恨少,事非经过不知难!
- 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正,同时有问题的话,欢迎大家留言讨论。
0 引言
才发现CityEngine是一个可以快速构建大范围城市的工具,打算用几天时间学习一下如何使用这个工具。如果没有安装软件的可以看作者专栏的视频(链接)。
1 城市和道路数据获取
1.1 常用方法
获取城市建筑物和道路数据通常有以下几种方法:
-
开源地理信息系统(GIS)数据:
- OpenStreetMap (OSM): OpenStreetMap提供了全球范围内的免费地理数据,包括建筑物轮廓和道路网络。可以通过各种工具和服务访问OSM数据,例如Overpass API、OSM Export Tool等。
- 国家或地区GIS数据库: 许多国家或地区政府机构提供免费或付费的GIS数据。这些数据通常可以从政府网站或专门的数据门户网站获取。
-
商业地理数据提供商:
- 有些公司如Google、Here Technologies、Mapbox等提供详尽的地理数据,包括建筑物和道路信息。这些数据可能需要购买许可。
-
地理信息软件:
- 使用GIS软件(如ArcGIS、QGIS等)可以访问、处理和分析地理数据。这些软件通常允许用户导入开源或商业数据,并提供工具来处理这些数据。
-
地方政府和市政机构:
- 地方政府和市政机构经常拥有本地的详细GIS数据,可能包括建筑物和道路信息。这些数据可能通过正式请求或访问他们的公共信息系统获得。
-
学术研究机构:
- 大学或研究机构有时会进行地理空间数据的收集和研究,这些数据可能对公众开放。
-
社区贡献和众包项目:
- 除了OpenStreetMap之外,还有其他一些众包项目也可能提供建筑物和道路数据,这取决于社区活动和数据质量。
在获取这些数据时,重要的是要注意数据的许可和使用限制,确保在合法和符合数据许可协议的情况下使用数据。
1.2 OSM数据获取
OSM官网:https://www.openstreetmap.org
点击上方的导出按钮,我们可以根据经纬度设置区域边界,也可以手动选择不同区域
假如我们要下载整个区域的数据,例如整个中国的数据,可以点击左下角的 Geofabrik下载
国家和特定城市的数据。
1.3 OSM数据格式
1.3.1 所有格式
OpenStreetMap (OSM) 提供的数据主要有以下几种格式:
-
OSM XML:
- 这是OpenStreetMap的原生数据格式。
- 它以XML格式存储,包含节点(nodes)、线条(ways)和关系(relations)。
- 节点代表地理位置的点,线条是连接多个节点的线段(可用于道路、边界等),而关系描述了节点和线条之间的关系(如公交路线由多条道路组成)。
-
PBF (Protocolbuffer Binary Format):
- PBF是一种更紧凑的二进制格式,用于存储OSM数据。
- 相比XML格式,PBF文件通常更小,读写速度更快。
- 这种格式经常用于大型数据集或需要高效读取和写入的情况。
-
GeoJSON:
- GeoJSON是一种基于JSON的地理数据格式。
- 它用于表示地理特征、属性和空间关系。
- OSM数据可以转换为GeoJSON格式,便于在各种GIS软件和Web应用中使用。
-
Shapefile:
- Shapefile是GIS软件常用的一种数据格式。
- OSM数据经常被转换为Shapefile格式,以便在诸如ArcGIS、QGIS等GIS软件中使用。
-
CSV/Excel:
- 对于某些应用,OSM数据可能需要转换为CSV或Excel格式,特别是当数据主要用于属性分析而非空间分析时。
-
其他格式:
- 根据需要,OSM数据还可以被转换为其他多种格式,以适应不同的应用程序和工具。
在使用这些数据时,重要的是要根据您的具体需求和使用的软件选择合适的格式。不同格式的数据处理和使用方式可能会有所不同。同时,应注意遵循OpenStreetMap的数据使用和分发许可协议。
1.3.2 Shapefile格式
如下图是下载下来的OSM的 Shapefile数据格式
文件。包括建筑物、土地利用、自然环境、铁路、交通、水域、道路等数据文件。
2 实践
2.1 导入数据(.shp)
-
【File】-【Import】然后选择 【CityEngine Layers】-【Shapefile Import】。然后点击 【Next】按钮。
-
选择shp文件
- 成果图
2.2 构建三维模型
-
选择所有的物体,将ESRI.lib中的规则,赋给选中的物体。
-
可以直接拖拽给物体,也可以通过右侧的【Inspector】面板,选择Rule File
-
选择规则样式,这里选择【NewYork】样式。
-
随后会生成三维模型,如下图所示
2.3 将模型导入UE5
- 【File】-【Export Models】。然后选择 Unreal Engine 格式,设置输出路径。然后导出
- 打开UE5工程的,
Datasmith Importer
插件
3. 如下图,导入 .udatasmith
文件
- UE5中效果图