三、通过SketchUp建立三维场景模型
1.将导出模型加载到建模空间内。
2.在SketchUp中添加适当的纹理。
需要特别注意的是,在SketchUp中贴纹理的标准单元是模型个体。
可以在选中状态下,右键/炸开,依次对每个面进行贴图。
四、SketchUp导出生成Multipatch。
该步骤需要谨慎对待,只有在SketchUp操作空间中被选中的模型,才能以独立Multipatch要素导出。未被选中的模型也会被导出成Multipatch要素导出,但是将作为一个整体要素存在于Multipatch图层中。
同时,SketchUp中支持模型组合功能,一旦模型被组合后,将丢失对应矢量数据源的ID值信息,这样就无法在后期添加原始矢量数据的属性信息。该问题后面会介绍。
1.SketchUp直接导出Multipatch
1.选择需要导出的模型,点击“文件/导出/3D模型”。
2.在指定导出模型的保存路径时,需选择的文件类型为“ESRIMultiPatch(*.mdb)”
3.单击导出后,系统将弹出导出高级选项
该对话框中主要有三个重要选项,介绍如下:
² “Store SketchUp Data in Feature”:将SketchUp模型,对应的存储于Multipatch模型要素中。
² “Use Selected Items Only”:仅导出及转换被选中的模型。
² “Create”:创建PGDB(.mdb)。
4.单击“Create”,系统将弹出提示对话框,提示用户创建Multipatch图层(Feature Class),此时,我们可以看到,原始数据的空间参考确实带入到了SketchUp环境中,并且在整个过程中将一直延续该空间参考。
如果需要增加额外字段,可单击“Add Field”
基本的字段类型,均可以在“Type”下拉菜单中找到(该插架对Type下拉菜单中的Geometry和Raster两种字段类型支持不好,一旦选择,系统将会报错)。本例中,新建三个字段,如下图
5.单击“OK”后,字段添加完毕,返回到导出模型的初始窗口
6.再次点击“OK”,导出完成
2.ArcGIS+SketchUp导出Multipatch
1.通过ArcCatalog手工创建一个Personal Geodatabase,同时新建一个Multipatch的Feature Class,如下图
2.Multipatch feature class需要设置该图层的必要字段,需要添加的字段如下图所示:
序号 |
字段名称 |
字段类型 |
备注 |
1 |
SUSourceFeatureID |
LongInteger |
原始数据的唯一ID值 |
2 |
SUSourceFeatureClass |
Text |
原始数据的图层名称 |
3 |
SUInstanceName |
Text |
在SketchUp环境中的图层名称 |
4 |
SketchUpData |
Blob |
可保存SketchUp的模型字段 |
3.SketchUp导出skp到Multipatch。
选择需要导出的模型,点击“文件/导出/3D模型”。
在指定导出模型的保存路径时,选择创建的Personal Geodatabase”
单击导出后,系统将提示是否替换PGDB,单击“是”。
在高级选项框中,选中已经建好的MultipatchFeature Class单击OK,导出完成。
3.ArcGIS工具导入Multipatch
该方法导出的Multipatch,
1.先用 ArcCatalog 建立一个 mdb 文件Personal Geodatabase
2.在ArcToolbox中Import3D file工具导入sketchUp到Multipatch。
² Import Files:选中选用导入的sketchUp。
² Output Multipatch Feature Class:选中Personal Geodatabase,将会新建Multipatch Feature Class。
² Spatial Reference:空间参考同sketchUp。
3.单击OK,成功导入SketchUp到Multipatch中,在ArcCatalog中可直接浏览Multipatch要素。