CityEngine导出模型与GIS属性挂接

最新产品技术动态,请关注微博:http://weibo.com/arcgis3dgis

 

在CityEngine中建立场景之后,我们需要对建立好的模型导出(以3ds和obj格式为例)。导出模式可以选择两种:Use file size limit和Create one file per shape。
Use file size limit:将所选模型作为一个obj或3ds文件导出。
Create one file per shape:将模型按照shape导出,每一个shape产生的模型会生成一个3ds或obj文件。

图1  导出方式
下面我们讨论的是以Create one file per shape的方式将模型导出时,模型文件的命名问题。
一、当Name字段为非中文时
经测试,CityEngine的模型导出时的模型命名是有规律的,即模型文件的命名规则是: Name1 + ”_” + Name2
Name1为导出时设置的Name:
 
图2 导出Name
Name2为shape的Name:
 
图3 shape的Name

其中需要注意的是:shape的Name是与GIS数据的属性表关联的,即:shape的Name==图层属性表的Name字段的内容。见图3与图4
CityEngine导出模型与GIS属性挂接_第1张图片 
图4 属性表的Name字段

导出后结果如下如:
 
图5 模型导出结果
以上导出方式适用条件为Name字段的值为非中文字符。

二、当Name字段为中文时
    当Name字段为中文时,通过上述方法导出的模型文件命名形式如下:
 
图6 Name为中文时的命名

因系统无法识别shape的中文Name,故在shape的Name地方显示为unnamed,这种情况下我们需要进行通过空间连接的方式将模型文件与属性文件对应起来。具体步骤如下:
1、 选中要导出的模型,导出模式为Create one file per shape,确定后将模型导出。
CityEngine导出模型与GIS属性挂接_第2张图片 
图7 三维场景
CityEngine导出模型与GIS属性挂接_第3张图片 
图8 模型导出

CityEngine导出模型与GIS属性挂接_第4张图片 
图9 模型导出设置

CityEngine导出模型与GIS属性挂接_第5张图片 
图10 模型导出结果

2、 在arcmap的ToolBox中选择Import 3D Files通过该工具将第一步导出的3ds模型转换成Feature Class,该Feature Class的属性表中包含了模型的名称。
CityEngine导出模型与GIS属性挂接_第6张图片 
图11 Import 3D Files工具
CityEngine导出模型与GIS属性挂接_第7张图片 
图12 Import 3D Files工具参数设置

CityEngine导出模型与GIS属性挂接_第8张图片 
图13 Import 3D Files导入结果

3、 加载原始footprint数据,如下图:
CityEngine导出模型与GIS属性挂接_第9张图片 
图14  3D模型数据与Footprint数据

4、 生成的T3ds数据与原始Footprint重合,若有偏移过大的情况则将T3ds数据进行平移,使其与Footprint基本重合,之后使用Feature to Point工具将其转换为Point数据
CityEngine导出模型与GIS属性挂接_第10张图片   
图15 Feature to Point工具

CityEngine导出模型与GIS属性挂接_第11张图片 
图16 Feature to Point结果

5、 最后通过spatial join工具将Footprint的属性与Point数据的属性进行空间连接,从而得到模型与Footprint的对应关系。
CityEngine导出模型与GIS属性挂接_第12张图片 
图17 Spatial Join工具

CityEngine导出模型与GIS属性挂接_第13张图片 
图18 Spatial Join最终结果

注意:若GIS数据使用CityEngine不支持的坐标系,则使用Import 3D Files工具转换后得到的MultiPatch数据无法与源数据很好重合,故无法使用Spatial Join工具进行属性的挂接。

批量导出建议:
1、 建议使用第一种方法导出,在GIS属性表中建立一个非中文的唯一标识字段
2、 在进行自定义坐标系建模时,最好先将自定义坐标系转换成CityEngine支持的坐标系,建模完成之后在将坐标系转换回去

 

最新产品技术动态,请关注微博: http://weibo.com/arcgis3dgis

 

你可能感兴趣的:(CityEngine导出模型与GIS属性挂接)