需求:
使用3dmax或者sketchup等软件制作的三维模型(3ds、obj、dae、wrl、flt等),由于这些三维软件没有定义gis坐标系等参数选项,默认将这些模型导入到arcgis中,模型是没有空间参考的,这时就产生一个需求:如何将这些三维模型移动到模型真实位置?
效果图:
软件环境:
ArcGIS Pro2.x
示例数据:
链接:https://pan.baidu.com/s/1oT9PUcZAd6wtw72oknmhBw
提取码:4sgw
具体情景:
情景一:如果三维模型是单个模型文件,例如:只有一个dae或者3ds文件,通过arcgispro的import 3d files工具结合放置点文件,确保转完的模型在放置点对应的位置
情景二:如果三维模型是多个模型文件,例如:有很多个dae或者3ds文件,通过arcgispro的import 3d files工具结合moveto工具,将模型移动到真实的位置;
提示:如果三维模型是单个模型文件,例如:只有一个dae或者3ds文件,也可以通过arcgispro的import 3d files工具结合moveto工具,将模型移动到真实的位置。
(情景一)具体实现:
放置点文件其实就是矢量点文件,这个矢量点文件可以只有一个点要素,也可以是多个点要素。如果是一个点要素,那输出的模型将在这个点要素对应的位置上,
如果是多个点要素,需要在点要素的属性表中新建一个名称字段,用于存储每个模型文件的名称和扩展名,例如:zhanlanguan110901.dae
制作放置点文件的前提是我们需要知道模型所在真实位置的坐标,可以通过现有的地图去获取其真实位置坐标,例如:arcgispro包含的在线地图服务或者百度坐标拾取工具。
创建放置点文件,基于地理坐标系坐标,例如:119.9683580,30.5173403,3.76,并且新建名称字段将模型的名称和扩展格式赋值给名称字段,例如:zhanlanguan110901.dae
使用投影工具将其转为web墨卡托(wkid:3857);
使用import 3d files工具,并且指定放置点文件。
如果模型和底图有一定的大小偏差和位置偏差,可以分别使用Scale(缩放)工具和move(移动)工具进行处理。
操作步骤,见视频:
链接:https://pan.baidu.com/s/1550SRmMkuU0lG6aQ_vAg0g
提取码:urbo
(情景二)具体实现:
使用import 3d files工具将三维模型转为arcgispro的multipatch数据。
使用moveto工具,并使用其绝对方法输入x、y、z值,例如:13354753.72,3570212.43,1.83。
如果模型和底图有一定的大小偏差和位置偏差,可以分别使用Scale(缩放)工具和move(移动)工具进行处理。
操作步骤,见视频:
链接:https://pan.baidu.com/s/1A6xZgT7DxQvdCcBKnIQEJg
提取码:6vfy