shp檔案轉dwg並建立文字標註

geoli91發表於2020-11-06

不得不說,ArcGIS 和 CAD 之間的相容性非常差,shapefile檔案和dwg檔案之間互相轉換會丟失各種屬性,但是很多時候他們之間的轉換對我們來說是剛需。通常我們都是通過第三方軟體(如FME)來實現帶屬性的轉換,我嘗試直接使用ArcGIS將shp檔案轉換從dwg並新增標註,下文記錄整個流程和遇到的坑。

主要流程為:

  1. shp直接轉 dwg
  2. 設定匯出資料的屬性
  3. 新增標註

shp 直接轉 dwg

對於普通的 shp 轉 dwg ,直接使用Toolbox中的轉換工具-轉為CAD-要素轉CAD工具即可,工具介面如下:
20201106093647

通常需要設定的引數有:

  1. 輸入要素。需要轉換成 dwg 的要素類。可以同時將多個要屬類轉換至一個 dwg 中。
  2. 輸出型別。設定輸出的 dwg 版本,對於CAD2006,可以設定為 DWG_2005
  3. 輸出檔案。輸出 dwg 檔案的路徑。

引數設定完成後,直接執行工具。待工具執行完成後,在CAD中開啟所匯出的 dwg ,可以看到,該 dwg 僅儲存了點和線,所有的屬性都已丟失。

20201106093722

設定匯出資料的屬性

多數情況下,我們希望 shp 匯出為 dwg 後一些屬效能被保留,如高程值、線寬、線型等。對於該需求,我們可以通過為要素新增 CAD 欄位的方式實現。

在ToolBox中找到轉換工具-轉為CAD-新增CAD欄位工具並開啟,輸入需要處理的要素,點選確定即可。

工具執行完成後,開啟要素屬性表,可以發現有非常多的欄位被新增至屬性表中。每個屬性都具有不同的含義,如EntLineWt屬性指定線條的粗細,Layer指定線條所屬的圖層,等等等等,具體每個屬性代表的含義可以檢視 ESRI 為 AutoCAD DWG/DXF 格式保留的 CAD 欄位

此時,這些屬性全部都為預設值,需要自己修改為需要的值,可以開啟編輯後手動一個一個修改,也可以使用欄位計算器批量賦值。

新增標註

很多時候我們需要對點、線、面進行標註, shp 直接匯出為 dwg 會丟失屬性,沒辦法實現。但是可以通過迂迴的方法實現。

使用新增CAD欄位工具會在要屬類屬性表中新增一個名為CadType的欄位,該欄位指示輸出實體的型別。當點要素的該欄位設定為TEXT,匯出 dwg 時會根據TxtValue欄位的值,在點的對應位置建立字串而非點。通過該種方式,即可實現在 CAD 中新增標註,再對文字和點大小進行調整,成果如下圖,打完收工。

20201106094731


本文參考:

  1. 為 AutoCAD DWG/DXF 格式保留的 CAD 欄位
  2. ArcGIS知乎——shp轉cad屬性丟失?

相關文章