shp文件轉dwg並創建文本標註
不得不說,ArcGIS 和 CAD 之間的兼容性非常差,shapefile文件和dwg文件之間互相轉換會丟失各種屬性,但是很多時候他們之間的轉換對我們來說是剛需。通常我們都是通過第三方軟件(如FME)來實現帶屬性的轉換,我嘗試直接使用ArcGIS將shp文件轉換從dwg並添加標註,下文記錄整個流程和遇到的坑。
主要流程為:
- shp直接轉 dwg
- 設置導出數據的屬性
- 添加標註
shp 直接轉 dwg
對於普通的 shp 轉 dwg ,直接使用Toolbox中的轉換工具-轉為CAD-要素轉CAD
工具即可,工具界面如下:
通常需要設置的參數有:
- 輸入要素。需要轉換成 dwg 的要素類。可以同時將多個要屬類轉換至一個 dwg 中。
- 輸出類型。設置輸出的 dwg 版本,對於CAD2006,可以設置為
DWG_2005
- 輸出文件。輸出 dwg 文件的路徑。
參數設置完成後,直接運行工具。待工具運行完成後,在CAD中打開所導出的 dwg ,可以看到,該 dwg 僅保存了點和線,所有的屬性都已丟失。
設置導出數據的屬性
多數情況下,我們希望 shp 導出為 dwg 後一些屬性能被保留,如高程值、線寬、線型等。對於該需求,我們可以通過為要素添加 CAD 字段的方式實現。
在ToolBox中找到轉換工具-轉為CAD-添加CAD字段
工具並打開,輸入需要處理的要素,點擊確定即可。
工具執行完成後,打開要素屬性表,可以發現有非常多的字段被添加至屬性表中。每個屬性都具有不同的含義,如EntLineWt
屬性指定線條的粗細,Layer
指定線條所屬的圖層,等等等等,具體每個屬性代表的含義可以查看 ESRI 為 AutoCAD DWG/DXF 格式保留的 CAD 字段
此時,這些屬性全部都為默認值,需要自己修改為需要的值,可以開啟編輯後手動一個一個修改,也可以使用字段計算器批量賦值。
添加標註
很多時候我們需要對點、線、面進行標註, shp 直接導出為 dwg 會丟失屬性,沒辦法實現。但是可以通過迂迴的方法實現。
使用添加CAD字段
工具會在要屬類屬性表中添加一個名為CadType
的字段,該字段指示輸出實體的類型。當點要素的該字段設置為TEXT
,導出 dwg 時會根據TxtValue
字段的值,在點的對應位置創建字符串而非點。通過該種方式,即可實現在 CAD 中添加標註,再對文字和點大小進行調整,成果如下圖,打完收工。
本文參考: