三维数据入到arcgis平台的解决方案

时间:2024-03-27 08:18:06

目录

 

1、传统建模数据

①obj、dae、3ds等模型纹理颜色或者贴图不显示

②加载wrl数据贴图丢失

③将obj模型导入到arcgispro出现异常情况

④zoom to layer选项失效导致三维数据不显示

⑤multipatch转slpk模型贴图有细缝

2、倾斜摄影

①模型有白块

②压平工具

③osgb存放路径有特殊中文字符,报错error 999999

④Osgb转为slpk,停靠点和转完的slpk之间有偏移?

⑤osgb转slpk软件崩溃

⑥arcgispro支持单体化吗?

⑦3d tile转slpk

⑧osgb转slpk工具

3、BIM

①BIM数据如何入到arcgis平台,移动到真实的位置,并且发布成三维场景服务,以及前端调用

②revit数据加载到arcgispro纹理贴图不显示

③arcgis对pdms的支持情况

4、点云


本篇博客记录如何使用arcgispro将各种类型的三维数据(传统建模(3ds、obj、dae、skp、wrl等)、倾斜摄影、bim、点云)导入到arcgis平台中,方便后期发布场景服务和应用开发调用。

1、传统建模数据

①obj、dae、3ds等模型纹理颜色或者贴图不显示

使用import 3d file将数据导入到arcgispro,模型是白模。

回答:

  • dae等数据使用import 3d files生成multipatch,生成的multipatch必须得存储在gdb中,因为存放在shp中纹理会丢失;

  • 如果是贴图不显示的话,请使用相对路径;模型贴图不要有中文字符,

  • 贴图格式。纹理贴图不显示,多半是由于透明纹理,而且采用的格式是tga格式;如果有透明纹理,建议使用png格式,而不用tga格式,multipatch不支持tga,但是tga格式在3dmax中用的较多;可以将tga转为png格式。另外,贴图的分辨率二倍关系

  • 可以在导入到arcgispro之前,使用3dmax加载这个模型,例如:obj模型,查看模型的颜色是否有,如果没有的话,请确保模型的颜色在3dmax中是没有问题的,然后再导入到arcgispro。

如果obj模型在3dmax中模型纹理颜色都在,那就先用下述工具进行处理,再导入到arcgispro中。

工具:

链接:https://pan.baidu.com/s/1QW2QHUYIc5xhfH31ROv9Dg  

提取码:183t

②加载wrl数据贴图丢失

wrl文件结构如下:

三维数据入到arcgis平台的解决方案

回答:

图示中纹理的存放位置../是上一级目录的意思,应该把纹理图片存放在上一级maps的目录,把wrl文件存放在其它名称的文件夹里,例如:下图中的wrl文件夹。

三维数据入到arcgis平台的解决方案

然后再使用import 3d files将其导入到arcgispro。

③将obj模型导入到arcgispro出现异常情况

问题:

ArcGISPro的import 3d files加载obj,转完后纹理没有丢失,但是数据不显示,缩放至图层和属性表定位都不显示,使用“edit”——“Verticles”能够显示,但是又很快消失;

使用Pro的数据互操作模块,数据转完后纹理没有丢失,但是顶部变侧面;

使用arcscene加载Pro的import 3d files转完后的multipatch数据,数据呈线条状。

解决办法:

在3dmax中将obj转为dae,同时将dae和纹理放在同一存放路径下解决问题,然后使用Pro的import 3d files工具转换后,纹理没有丢失,顶部也没有变侧面,模型正常显示。

④zoom to layer选项失效导致三维数据不显示

将三维数据通过import 3d files工具转为multipatch,转完的数据通过zoom to layer选项不能显示在场景视图,只有通过点击属性表中的要素记录才能够显示模型

回答:

这是由extent偏大导致的,通过“recalculate feature class extent”工具重新计算multipatch的范围即可。如果使用arcgispro2.5的这个工具,范围还是没变化,可以使用arcmap中的这个工具。

⑤multipatch转slpk模型贴图有细缝

使用pro2.3/2.4/2.5.0-beta.1中的工具将multipatch转slpk模型贴图有细缝,贴图格式为png或者jpg

三维数据入到arcgis平台的解决方案

三维数据入到arcgis平台的解决方案

原因:

multipatch是gdb中的数据集,slpk是i3s标准下的数据集,slpk存和取贴图的方式和multipatch不同。

解决方法:

由于multipatch转slpk使用create 3d object工具存在细缝是个已知的bug。

在这里推荐一个绕行方案:

使用cityengine2019将multipatch导入转为slpk,转完的slpk在pro中显示没有出现纹理贴图缝隙的问题。

cityengine2019支持直接import multipatch而无需以脚本的形式导入,导入后直接导出为slpk,cityengine2019采用的是i3s 1.7版本。

三维数据入到arcgis平台的解决方案

但是这时候可能会出现模型有黑线的情况,如上图:

其实不是模型的问题,是因为arcgispro默认打开了光照。

三维数据入到arcgis平台的解决方案

只需将“enable lighting”选项不选中就能去除黑色。

三维数据入到arcgis平台的解决方案

2、倾斜摄影

①模型有白块

使用arcgispro2.5的集成网格图层包(create integreted mesh layer scene package)工具转完,发现生成的slpk会有白块的情况

三维数据入到arcgis平台的解决方案

解决方法:

使用这个脚本工具进行处理即可解决。

链接:https://pan.baidu.com/s/1Ff2aJNJhjQPH4SuNo3PyPg

提取码:vmfj

三维数据入到arcgis平台的解决方案

②压平工具

使用压平工具,现在支持对地理坐标系和投影坐标系的工具进行压平处理:

链接:https://pan.baidu.com/s/1D7KaxUy-u2FsM3rhEXylEA

提取码:w8vl

效果图:

三维数据入到arcgis平台的解决方案

三维数据入到arcgis平台的解决方案

③osgb存放路径有特殊中文字符,报错error 999999

例如:路径为C:\Asiya\特\Data,报错报error999999,说存储路径有特殊字符,如果路径为纯英文路径就不报错。

回答:

osgb的存放路径不要有中文字符

④Osgb转为slpk,停靠点和转完的slpk之间有偏移?

回答:

是因为转时如果只取osgb的部分数据就会有偏移,如果取全部数据就不会有偏移,同时停靠点必须是元数据中的坐标值来指定。

全部数据是指,从Tile+0+0+0开始,而不是例如:Tile+3+3+3开始。

⑤osgb转slpk软件崩溃

原因:

很可能和某个tile文件夹下osgb跨级有关。可以在转换时去定位在哪个level报错,然后去对应的文件夹查看数据是否跨级。

⑥arcgispro支持单体化吗?

不支持。单体化是指生成的倾斜数据中每个建筑物但是单个模型,点击任意一个模型能够弹出该模型对应的属性信息。

绕行方案,生成多面体,将多面体改成透明,在前端js开发中将多面体的场景服务叠加在倾斜摄影的场景服务上,进行点击查询属性。

⑦3d tile转slpk

方法一:FME官方说新版本的FME可以将3d tile转为slpk,

方法二:可以使用pro的数据互操作模块将3d tile转为obj,再将obj转为multipatch;

方法三:现在的思路是先把数据转成obj之类的模型再转成slpk;FME可以建一个流程去处理;

方法四:pro在未来会直接支持将3dtile转为slpk,但是目前不行。

⑧osgb转slpk工具

方法一:可以使用arcgispro自带的create integreted mesh scene layer package工具来转。

三维数据入到arcgis平台的解决方案

如果报错,可以使用下述链接的工具来转:

方法二:https://github.com/xinying180/slpkTools_1.7

方法三:https://github.com/giserHacter/osgb-slpk

方法四:原始航拍照片通过smart3D结合链接中提供的转换文档(https://github.com/giserHacter/-ContextCapture-SLPK-)转成slpk,对smart3d生成的slpk进行处理的工具集,

https://github.com/giserHacter/esrichina-i3s-opmesh-tools

3、BIM

①BIM数据如何入到arcgis平台,移动到真实的位置,并且发布成三维场景服务,以及前端调用

参考链接:http://zhihu.esrichina.com.cn/article/4000

②revit数据加载到arcgispro纹理贴图不显示

答案写在最前面:arcgispro2.6支持贴图和材质。

revit中的效果:

三维数据入到arcgis平台的解决方案

Pro2.5中的效果:

三维数据入到arcgis平台的解决方案

arcgispro2.5读取revit数据,官网(https://pro.arcgis.com/en/pro-app/help/data/revit/adding-revit-data-to-arcgis-pro.htm )有这样的一句话

三维数据入到arcgis平台的解决方案

其中material表示纹理贴图的意思。

Pro2.5不支持读取revit数据的颜色贴图和图片贴图,但是如果属性带颜色的是可以有颜色渲染的,Pro可以自动读取带颜色的属性字段,做模型的时候材质属性有的话可以带过来。而用户那个revit数据就是图片贴图,所以Pro2.5读取不了。

下述效果,绿色的树应该是带颜色的属性。

三维数据入到arcgis平台的解决方案

③arcgis对pdms的支持情况

易智瑞与国内合作伙伴一起实现了对主流BIM软件的支持如Bentley、CATIA、Tekla、PDMS等,同时支持中间交流格式IFC(并支持IFC 4.x标准)、STEP等。

目前pdms的数据格式需要使用飞渡科技的插件才能转为arcgis支持的slpk格式,飞渡科技是易智瑞的合作伙伴。

arcgis目前不能直接将pdms的数据转为自身的三维格式。如果您想使用飞渡科技的插件需要联系易智瑞的销售。

https://m.sohu.com/a/313989775_609577

技术路线:那个PDMS模型应该都是保存成IFC格式以后,飞渡的软件转换成OSGB再转成SLPK的,也就是飞渡其实做的就是将IFC转为OSGB,同时飞渡也可以将生成的OSGB转为slpk。

4、点云

可以参考易智瑞公开课《点云数据在arcgis平台中应用》https://www.bilibili.com/video/av80340641/

三维数据入到arcgis平台的解决方案

 

参考资料:

https://blog.csdn.net/ceibake/article/details/88863558

https://blog.csdn.net/ceibake/article/details/80932363