1. 程式人生 > >使用arcgis addin開發的arcgis圖層一鍵符號化工具

使用arcgis addin開發的arcgis圖層一鍵符號化工具

一 背景需求

傳統的Arcgis符號化方式是利用arcgis開啟圖層,右鍵屬性-符號系統-類別-與樣式中的符號系統匹配,進行符號化,缺點顯而易見,就是要一個圖層一個圖層的符號化,對於大量資料集產生的大量的圖層,其工作所需時間長、效率低、人員多(不過對計算產值可能有好處微笑)、易出錯。筆者開發的這個小工具,執行在arcgis desktop上,將所需符號化的圖層資料全部載入進來,配置相關引數後,就可一鍵完成符號化,省時省力省人,不過從某個角度看,未必是好事。。。製造武器挺難,有點技術含量,但是武器本身沒有好壞,怎麼用、往哪打才是關鍵。

二  方案設計

1因為覺得在符號化這項實際工作中,將程式碼嵌入arcgis中可能更實用一些,所以開發平臺選擇的是arcgis addin,語言是C#,具體介紹另見筆者另一部落格http://blog.csdn.net/u010723516/article/details/52838564。至於為啥不用python for arcgis,我一攤手,無言以對委屈


2 其實就是個小工具,功能方面談不上設計。主要核心函式有兩個,一個是從本地的符號庫獲取相關符號的函式,另一個是對每個圖層進行符號化渲染的函式。

主要介面IStyleGallery,IUniqueValueRender,這裡插一句,gis應用的程式碼,函式設計都不是難點,如何將它們有機的結合成完善好用的工程才是最重要的。

三 效果圖


四 使用說明

1 選擇符號檔案,類似於arcgis自帶的‘選擇與樣式中的符號匹配’,選的是使用者要匹配的符號庫。

2 選擇符號編碼欄位 類似於arcgis自帶的‘欄位值’,選的是用於關聯匹配符號庫的欄位

3 旋轉角度  類似於arcgis自帶的‘高階-旋轉’,選擇的是用於旋轉的欄位

4 點選一鍵符號化,等待進度條執行完畢即可。

五 總結

這個工具是我去年11月開始寫了第一版。結果在測試過程中發現了些問題。執行速度慢,耗記憶體,解決了這個問題,就是第二版,保證了能投入使用。後面就是優化的,在工作間隙,將介面設計的更人性化,將選擇符號檔案、選擇符號編碼欄位、旋轉角度等引數可自定製。(之前的版本沒有這些可以用,因為這個工具最早只是服務於一個特定的急活,我把引數都寫死,也不影響使用),就是第三版。結尾 洩漏點隱私 偷笑


六 說明

我寫的部落格一般分兩種,一種是細節技術的,一種是巨集觀工具類的,後者比較多。我覺得我這學渣,能實現的程式碼,大多數人也都能實現,因為畢竟GIS應用相關的程式碼沒有那麼難,資源較多。我寫的部落格主要是巨集觀總結一下自己的工作,畢竟我自我定位不是程式設計師,同時給需要的需要的人提供一個較為巨集觀的解決問題的思路,所以細節技術層面(程式碼)介紹的沒那麼詳細,如果有朋友程式碼實現起來真有困難,或者有更好的意見,可以加我qq 1148460370進行交流。PS 還是那句話,武器大多數人誰都能做,只汲汲於武器的製造意義不大,怎麼用、往哪打才是更關鍵的,更關鍵的是如何能不戰而屈人之兵。而目前為止,做好眼前的事,儘可能提升自己,才是根本。