前段時間接到乙個任務,需要將dwg格式的控規地塊匯出到shp格式,要求附加地塊控制指標(容積率、建築密度、綠地率之類的)。cad地塊線轉shp面很容易,但是附加地塊控制指標卻不那麼簡單。
受條件限制,沒有現成地塊控制指標屬性表可以鏈結到地塊,控制指標資訊只能來自dwg格式控規圖則裡由文字和線條畫成的表。乙個地塊的控制指標有十幾項;一張圖則裡有十幾個地塊、一項控規裡有十幾張這樣的圖則,需要輸入的屬性個數就達1000-2000。如果純手工將這些資訊輸到excel**,不僅費時費力,而且還容易出錯。
最煩這種毫無技術含量、重複性機械勞動。想偷懶,咋整?嘿,突然眼前飄來三個字:『fme』。都說fme是萬能的,幫咱偷這個懶應該問題不大。經過思考和實踐,這問題還真就用fme給解決了。
下面將操作步驟分享給大家。
第一步:佔位
在autocad中,將表中空白的地方用乙個字元填充佔位(下圖中是用『無』佔位)。
第二步:穿串
在autocad中,用線將屬性值穿起來。要求線在單獨的乙個圖層中,要真正的穿上屬性文字,不能漏項。
第三步:上fme大餐
模板主要步驟:
1、boundingboxreplacer、coordinateextractor提取文字外邊框、計算外邊框線起來座標x,y值。
2、對線要素計數,得計數屬性_count
3、lineonareaoverlayer文字外邊框與線疊加,將文字stringtext值賦給線
4、tester對於疊加輸出的線,通過_overlaps > 0過濾出與文字相交的線
5、listbuilder通過_count屬性分組,構建列表_list{}。
6、listsorter,按_list{}.y屬性排序。此步驟是為了屬性值全部按豎直方向排列,保證屬性輸出的順序。
7、attributecreator計算屬性值
結語:處理過程中前兩步是在autocad中完成的,相當於解幾何證明題時新增輔助線,正是『輔助線』的存在使得後續在fme中的處理變得很容易。在cad中新增『輔助線』的操做十分簡單,只需要用到複製命令即可快速完成,比純手工錄屬性更容易、更準確。
現在提供轉Excel表的幾個函式
region to excel 輸出html head 部分,default language gb2312 default font size 9pt 網頁標題 public static string htmlhead string title 輸出html head 部分,default la...
excel表的匯入
判斷匯入資訊是否與dw視窗中資訊重複 int n for n 1 to dw 1.rowcount string ls llk int ls count ls llk dw 1.getitemstring n,1 select count into ls count from cliendservi...
SQL交叉表的例項 橫表轉縱表
很簡單的乙個東西,見網上好多朋友問 怎麼實現交叉表?以下是我寫的乙個例子,資料庫基於sql server 2000。交叉表例項 建表 在查詢分析器裡執行 create table test id int identity 1,1 not null name nvarchar 50 collate c...