gmdzxx 发表于 2017-5-5 08:07:35

CityEngine使用Python脚本按feature导出道路

  在CityEngine中进行道路导出时有两个选项:


  Use file size limit:将所选的道路导出为一个obj文件
  Create one :将所选的道路按照网络节点,每个线段导出为一个obj
  以上两种可选导出方式均不能将一条完整的道路导出为一个obj文件,即无法按照Feature将道路分别导出为独立的模型文件。
  为了实现按feature导出道路,需要用到CityEngine中的Python脚本进行自定义的导出。
一:依据道路名称导出单条道路
  1、在道路图层属性数据中添加Name字段,类型为Text


  2、为Name字段赋值(非中文)


  

  3、生成道路模型


  4、新建脚本文件,并编辑如下:


  参数解释:
  ce.withName(“ ’UNION’”)中的UNION为道路的Name
  Name为导出后的模型文件名
  D:/tmp为导出路径
5、选中一个模型后,File----Export----Export Models of Selected Shapes(allmodels are generated),之后选中Script Based Export(Python),最后在Misc Options中选择脚本。




  6、点击Finish,导出模型


  

二:依据道路名称将道据全部按要素导出
  本次在使用客户实际数据时的处理方式为:
  1、将道路GIS数据添加的Name字段赋值为其FID,重新加载网络数据并生成模型


  2、修改Python脚本为:


  Range参数中的28为道路的数量+1(目前是根据道路的数量来进行循环模型导出)
3、执行上述脚本即可得到结果

  注意事项:
1、本文档使用的示例数据为教程中Pasadena工程中的data----streets.shp:


  2、在第二部分的全图层批量导出时未很好解决文件名的问题,需要继续研究更智能的导出脚本
  3、某些情况下会遇到一些错误


  暂时分析为数据或脚本问题,而在实际数据测试的50条道路中未出现该问题。
页: [1]
查看完整版本: CityEngine使用Python脚本按feature导出道路