首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

CityEngine-三维空间模型导出与GIS属性挂接

2012-08-27 
CityEngine----三维模型导出与GIS属性挂接在CityEngine中建立场景之后,我们需要对建立好的模型导出(以3ds

CityEngine----三维模型导出与GIS属性挂接

在CityEngine中建立场景之后,我们需要对建立好的模型导出(以3ds和obj格式为例)。

导出模式可以选择两种:Use file size limit和Create one file per shape。

Use file size limit:将所选模型作为一个obj或3ds文件导出。

Createone file per shape:将模型按照shape导出,每一个shape产生的模型会生成一个3ds或obj文件。

CityEngine-三维空间模型导出与GIS属性挂接

图1 导出方式

下面我们讨论的是以Create one file per shape的方式将模型导出时,模型文件的命名问题。

一、当Name字段为非中文时经测试,CityEngine的模型导出时的模型命名是有规律的,即模型文件的命名规则是: Name1 + ”_” + Name2

Name1为导出时设置的Name:

CityEngine-三维空间模型导出与GIS属性挂接

   图2 导出Name

Name2为shape的Name:

CityEngine-三维空间模型导出与GIS属性挂接

图3 shape的Name


其中需要注意的是:shape的Name是与GIS数据的属性表关联的,即:shape的Name==图层属性表的Name字段的内容。见图3与图4

CityEngine-三维空间模型导出与GIS属性挂接

图4 属性表的Name字段

导出后结果如下图:

CityEngine-三维空间模型导出与GIS属性挂接

 图5 模型导出结果

以上导出方式适用条件为Name字段的值为非中文字符。

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

CityEngine-三维空间模型导出与GIS属性挂接

图6 Name为中文时的命名

因系统无法识别shape的中文Name,故在shape的Name地方显示为unnamed,这种情况下我们需要进行通过空间连接的方式将模型文件与属性文件对应起来。具体步骤如下:

1、选中要导出的模型,导出模式为Create one file per shape,确定后将模型导出。

CityEngine-三维空间模型导出与GIS属性挂接

图7 三维场景

CityEngine-三维空间模型导出与GIS属性挂接

图8 模型导出设置

CityEngine-三维空间模型导出与GIS属性挂接

图9 模型导出结果

2、在arcmap的ToolBox中选择Import 3D Files通过该工具将第一步导出的3ds模型转换成Feature Class,该Feature Class的属性表中包含了模型的名称。

CityEngine-三维空间模型导出与GIS属性挂接

图10 Import 3D Files工具

CityEngine-三维空间模型导出与GIS属性挂接

图11Import 3D Files工具参数设置CityEngine-三维空间模型导出与GIS属性挂接

图12 Import 3D Files导入结果

3、加载原始footprint数据,如下图

CityEngine-三维空间模型导出与GIS属性挂接

图13 3D模型数据与Footprint数据

4、生成的T3ds数据与原始Footprint重合,若有偏移过大的情况则将T3ds数据进行平移,使其与Footprint基本重合,之后使用Feature to Point工具将其转换为Point数据

CityEngine-三维空间模型导出与GIS属性挂接

图14 Feature to Point工具

CityEngine-三维空间模型导出与GIS属性挂接

图15 Feature to Point结果

5、最后通过spatial join工具将Footprint的属性与Point数据的属性进行空间连接,从而得到模型与Footprint的对应关系。

CityEngine-三维空间模型导出与GIS属性挂接

图16 Spatial Join工具

CityEngine-三维空间模型导出与GIS属性挂接

图17 Spatial Join最终结果

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

 

批量导出建议:

1、 建议使用第一种方法导出,在GIS属性表中建立一个非中文的唯一标识字段

2、在进行自定义坐标系建模时,最好先将自定义坐标系转换成CityEngine支持的坐标系,建模完成之后在将坐标系转换回去

热点排行