Table of Contents
此方法来自:07ArcGIS三维模型导入Sketchup
在导出模型之后,我们发现了模型底面与 Arcmap 中显示不一样,Arcmap 中的显示显然更扁。当时一直不知道怎么解决,现在了解到是坐标系的问题,把它改为投影坐标系就可以了,详情见 008 的开头部分。
由于我导出模型时用了 FME 等工具进行数据转换,可能这些操作在什么地方自动解决了投影坐标系不一致的情况,所以模型是准确的,而未调整坐标系的 Arcmap 中显示的底图图形是错误的。
[TOC]
获取数据
一般来说可以调用某些地图平台 api 等迂回曲折的方式获取到 POI 数据,再根据 POI 数据搞到 AOI 数据。另外貌似可以水经注下载。最方便的还是去某鱼找代下,十几块钱一个市,价格也不贵。
在 Arcmap 中处理数据
把数据导入 Arcmap 中筛选数据,导出为shp。
可以对图层右键 >> 数据 >> 导出数据 。选择 视图范围中的所有要素 可以免去选择数据的步骤。输出要素类是输出路径,输出类型要改为 shp 。
在 Arcscene 处理模型
把 Arcmap 导出的 shp 数据导入 Arcscene 处理。对图层 右键 >> 属性 >> 拉伸设定为 height (或者 floor * 层高3.6)。
会出现高度问题。对左栏 Scene 图层右键 >> 场景属性 >> 垂直夸大 >> 地理。
现在还不是 3d 模型(多面体),需要转成 3d 模型
现在每个建筑都是一个体块,直接导出会变成一堆文件,需要合并成一个“组”
右键 编辑要素 开始编辑
打开属性表 >> 全选 ,选择之后直接关闭窗口。3D编辑器 >> 合并 >> 停止编辑 >> 保存
默认即可。此时打开 建筑体块_cut 的属性表,就会只有一个多面体了。效果。
使用 FMEx64 转换为 SketchUp 格式
如果按网传的方法(见下文)直接把输出的 ID_0.dae 导入 SketchUp 会出错,疑似是因为是 32 位软件。
因此需要使用 FME(64位版) 把 shp 数据直接转为 skp
FME 新建一个 Blank Workspace。
在菜单栏处找到 Reader 。添加一个 Reader 。
Format 里如果没有 Esri Shapefile ,需要下拉在更多中找。
添加一个 Writer
把两个节点连起来, Run 一下就可以了。
下方 log 栏出现 Translation was SUCCESSFUL 就可以去看输出文件了。
其他可用的方法
直接使用 arcgis pro ,只有 64 位版的,所以可以直接用自带的 FME 转换插件。
疑似失效的方法记录
展开查看
网上传的方法,一般按照他们说的流程,导入 su 会卡在 10% 然后失败。方法记录。
首先要把合并好的多面体转 Collada 导出 dae 文件。
如果直接把输出的 ID_0.dae 导入 SketchUp 会出错,疑似是因为是 32 位软件。
评论区说把数据存储在 GDB 中再转为 dae 可以用 su 导入,但是实测导入 dae 慢的要死,一直卡在 10%,可能这次选的区域太大了。
后续。。依旧导入失败,此方法无效。
想要把数据存为 GDB 需要先新建一个 文件地理数据库 ,然后导出的时候选择这个新建的 gdb 文件即可。
当然也有可能是我把数据存进 GDB 的方式不对,导致这个方法没复现成功。