1. 程式人生 > >CityEngine使用Python指令碼按feature匯出道路模型

CityEngine使用Python指令碼按feature匯出道路模型

原文地址:http://blog.csdn.net/esricd/article/details/7850573

在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條道路中未出現該問題。

原文地址:http://blog.csdn.net/esricd/article/details/7850573