3D Object(3D对象)数据在arcgis中是以multipatch格式存储的,multipatch(多面体)要素是一种可存储面集合的 GIS 对象,能够在数据库中将 3D 对象的边界表示为单个行。面可存储表示要素组成部分的纹理、颜色、透明度和几何信息。面中存储的几何信息可以是三角形、三角扇、三角条带或环,如下所示。具体请参考:http://desktop.arcgis.com/zh-cn/arcmap/latest/extensions/3d-analyst/multipatches.htm
软件版本:
ArcGISPro2.6
具体实现:
(1)生成multipatch
方法一:在arcgispro中基于二维面(shapefile)转换成多面体要素(multipatch)
方法二:在“编辑”下新建multipatch
新建multipatch图层
创建multipatch和编辑multipatch
方法三:使用“导入3D文件(import 3d files)”工具或者“数据互操作(Data Interoperability)”工具将常见的三维格式(.3ds、obj、dae、wrl、flt等)转换为multipatch
(2)给multipatch赋属性值(可选)
(3)multipatch转slpk。可以使用“数据管理”工具集下的“创建3D对象场景图层包”工具实现。
(4)slpk共享到门户(arcgisonline或者portal)进而发布成场景服务。
slpk小于1g可以考虑直接在门户中添加本地的slpk数据;
slpk大于1g,可以通过“分享包”工具共享到门户,前提是arcgispro登录了门户。
(5)前端调用
链接:https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-texture/index.html
扩展:
拆分多面体。将不连在一起的多面体进行拆分,可以使用“slice multipatch”工具。