不得不說,arcgis 和 cad 之間的相容性非常差,shapefile檔案和dwg檔案之間互相轉換會丟失各種屬性,但是很多時候他們之間的轉換對我們來說是剛需。通常我們都是通過第三方軟體(如fme)來實現帶屬性的轉換,我嘗試直接使用arcgis將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 中新增標註,再對文字和點大小進行調整,成果如下圖,打完收工。
本文參考:
為 autocad dwg/dxf 格式保留的 cad 字段
arcgis知乎——shp轉cad屬性丟失?
建立檔案並設定NTFS許可權
在ntfs檔案系統出現後,在windows系統 2k xp vista.下的物件,包括檔案系統,程序 命名管道 印表機 網路共享 或是登錄檔等等,都可以設定使用者訪問許可權。在windows系統中,其是用乙個安全描述符 security descriptors 的結構來儲存其許可權的設定資訊,簡稱為...
建立檔案並寫入內容
應用場景 在獲取使用者資訊之後,把使用者所需要的資訊寫到txt文件中,然後打包加密,傳送給客戶,這邊的 主要就是建立檔案,寫入內容後,在郵件傳送完成刪除該檔案 建立檔案 param path 建立路徑 param filename 檔名 param content 寫入內容 return publi...
建立檔案並寫入內容
應用場景 在獲取使用者資訊之後,把使用者所需要的資訊寫到txt文件中,然後打包加密,傳送給客戶,這邊的 主要就是建立檔案,寫入內容後,在郵件傳送完成刪除該檔案 建立檔案 param path 建立路徑 param filename 檔名 param content 寫入內容 return publi...