Maplex是ArcGIS的高級智能標註引擎,利用Maplex的牽引線標註,將Symbol做爲label顯示,從而使點符號與文字標註綁定在一塊兒,經過調整閾值自動進行標註間避讓,計算出地圖上全部標註的最佳放置位置,達到點抽稀的目的。編輯器
主體思路:Maplex中對label有很好的顯示控制,一旦顯示symbol,則會出現symbol存在、label不存在,而且可能存在symbol互相疊置的現象;若是不顯示symbol,那麼就沒問題。是否能讓symbol做爲label一塊來顯示,經過maplex來控制?研究的結果是可行的,方法以下:工具
一、使用Maplex標註引擎,在label manager中選擇要顯示的點圖層。此處可點擊Text symbol中的symbol,在symbol selector中選擇bullet leader。大數據
二、選擇以後點擊Properties,進入編輯器。url
三、選擇Advanced text選項卡,點擊Text background的properties。spa
四、進入Text background屬性編輯器,在line callout中選中leader,點擊Symbol。插件
五、在symbol selector對話框中點擊properties。3d
六、在symbol property editor中的type選擇Marker line symbol。htm
七、在cartographic line 選項卡中color設置爲無色,template選項卡中偏移一個位置。blog
八、在Line properties選項卡中line decorations中選擇第二項,點擊Porperties
九、在line decoration editor中選中Flip All和Flip First,Rotation中選擇第二項,點擊symbol。
十、在symbol selector中選擇要表達該POI點的符號。(同標準的符號操做同樣)。用properties進行更多設置。
十一、逐步OK以後,在第4步操做的面板中設置牽引線的容限與間隔。容限值及間隔的設置,可參照「1三、補充說明」部分。
十二、Maplex抽稀先後效果以下:
點抽稀前
抽稀後
1三、補充說明
點抽稀時有以下幾個關鍵值
1)label offset:地圖上點到對應標註的距離。
2)牽引線的容差(Leader Tolerance)和間隔(Gap)
Leader tolerance是使牽引線出現時中心點到標註的最短距離(offset),若是offset < Leader tolerance,牽引線將消失。咱們要利用牽引線來進行點抽稀,因此應該設置Leader tolerance <= offset,可設置Leader tolerance = 0。
3)線段符號大小(即箭頭符號大小Symbol Size)
4)它們之間的長度關係以下圖:
爲了達到較好的標註效果,應設置:offset > Gap symbol size (通常可設置Gap=0,offset爲symbol size的1.5倍),同時須要注意勾選從要素的幾何中心開始計算偏移,以下圖,不然轉出MSD時會使標註離中心點的距離太遠。
2、Subset點抽稀
Subset Features工具是ArcGIS地統計分析模塊的一個工具,該工具可將數據按照百分比進行抽稀,生成兩個結果數據集,一個是抽稀後保留的數據,另外一個是互補的那一部分數據。使用步驟以下。
一、在擴展模塊面板中,勾選地統計分析擴展模塊(Geostatistical Analyst),以下圖所示。
二、從地統計工具箱(Geostatistical Analyst Tools)中或者Geostatistical Analyst工具條中,選擇打開Subset Features對話框,以下圖所示。
三、在Subset Features對話框中,輸入要抽稀的圖層與相應的參數,以下圖所示,其中,訓練要素類爲默認保留的子類,其大小可在「訓練要素子集的大小(可選)」進行選擇。默認按照百分比設置輸出大小,也能夠在「子集大小單位(可選)」中設置按照數量進行輸出。點擊肯定後,將在原始數據的基礎上按照設置的百分比或者輸出數量,生成保留的子集。
4.SubSet工具使用先後結果對比
抽稀前
抽稀後(百分比爲30%)
3、SubPoints點抽稀
Sub Points工具是Esri中國自主開發的一個插件,該工具優先考慮點在空間分佈上的均勻合理性,並結合點數據中包含的「優先級」屬性進行篩選。經過獲取每一個點在必定範圍內擁有的相鄰點的數目信息,獲得地圖中點密度的分佈情況。抽稀時在若干相臨近的點中首先比較優先級,保留優先級高的;優先級相同時比較NAME字段,保留NAME長度短的;二者都相同時隨機選擇。
使用Sub Points進行點抽稀的數據,必須包含「優先級」和「name」兩個字段。其中優先級用來設置數據的重要性,在抽稀過程當中綜合考慮數據的優先級別。
1.1安裝與部署
一、首先將GPSubPoints.dll及「註冊插件」文件拷貝到本機目錄下,而後根據實際存放目錄編輯修改「註冊插件」中GPSubPoints.dll的存放路徑"D:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\GPSubPoints.dll",以下圖所示。
修改保存後,雙擊「註冊插件」文件,將出現如下對話框。
二、註冊完成後能夠在ArcCatalog中新建一個ArcToolbox,以下圖示。
而後向其中添加工具,以下圖所示。
在彈出的「添加工具」對話框中,選擇註冊好的Sub Points工具,選中後便可完成添加。以下圖所示。
從下圖能夠看到,剛新建的工具箱中會出現剛添加的GP工具,雙擊或右鍵點擊打開便可使用了。
也能夠將這個工具添加到ArcToolbox的列表中,方便之後直接調用。
1.2Sub Points 使用
一、先利用Point Distance工具計算臨近要素,以下圖所示。
Point Distance工具運行結果爲一張記錄某點在必定距離(好比100米)到範圍內相鄰點的距離的表,以下圖所示。
臨近要素表
二、原數據中創建「優先級」(short)字段,並給「優先級」字段賦值;
三、運行Sub Points工具計算status的值,在Input PointDistance Table中輸入第一步生成的臨近要素表。Input Feature中,輸入待抽稀的要素圖層。
運行該工具後,將生成status字段,並根據優先級以及臨近要素表給status賦值。以下圖所示。
四、對於status > -99的值,表示要保留顯示的要素;對於status = -99的值,表示要刪除或者不在地圖上顯示的要素。可經過定義查詢操做來控制地圖顯示內容,以下圖所示。也能夠直接刪除不顯示的要素。
五、Sub Points使用先後效果圖
抽稀前
抽稀後
4、總結
經過對三種方法的探究,得出以下結論:
Maplex自動點抽稀方法,方便快捷,只需對圖層標註樣式進行設置便可完成點抽稀。不足之處在於點符號顯示位置與實際位置存在誤差,以下圖所示(紅色符號爲點的真實位置,綠色符號爲抽稀後點的顯示位置)。
若是POI單純用於底圖瀏覽,而且對數據精度沒有特別高的要求可採用這種方式。
使用Subset工具執行效率較高,但該方法保持了原圖的疏密程度,並不能使數據均勻分佈,原有數據密度高的地方抽稀後仍是較密,所以單純利用該工具難以實現底圖上的抽稀效果。
Sub Points點抽稀方法能達到比較好的圖面效果,而且能保持點位的精確,可是大數據量時(超過100000條)耗時較長。
所以,對於大數據量POI,爲了兼顧圖面效果、數據精確性以及執行效率,建議採用Subset與Sub Points相結合的方法。首先經過Subset方法進行空間上的抽稀以減小數據量,再利用Sub Points方法進行抽稀以達到較好的製圖效果。
總之,三種抽稀方法各有優缺點,在實際應用中可根據須要,選擇合適的抽稀方法。