楊林波,劉 歐,謝 飛,王利鴻
(1.中國電建集團昆明勘測設計研究院有限公司,云南 昆明 650041; 2.云南師范大學 文理學院,云南 昆明 650224)
基于ArcMap的地塊分割插件設計與實現
楊林波1,劉 歐2,謝 飛1,王利鴻1
(1.中國電建集團昆明勘測設計研究院有限公司,云南 昆明 650041; 2.云南師范大學 文理學院,云南 昆明 650224)

我國正在全面開展土地承包經營權調查工作,在地塊調查過程中,涉及分戶析產或土地流轉的農戶家庭需要按一定的面積、比例、數量、邊界走向等要求對承包地塊進行分割。基于ArcMap開發了地塊分割插件,實現了按面積或按占股比例進行地塊快速自動分割,分割結果滿足農戶面積精度和邊界走向需求,大大提高了地塊分割操作的效率,同時也減少了項目投入成本。
土地承包;經營權調查;地塊分割;Add-in插件
目前,我國正在全面開展土地承包經營權調查工作,查清承包地塊的面積和空間位置是其中的一項重要內容。我國集體土地承包方式大部分屬于家庭承包,二輪延包合同簽訂之后,距今已超過10 a,分戶析產現象較多,此外,隨著我國經濟的快速發展,一些農戶的土地流轉承包給個人或單位進行大規模農業經營,土地經重新整治后地塊邊界已消失。在地塊調查過程中,涉及分戶析產或土地流轉的農戶家庭需要按一定的面積、比例、數量、邊界走向等要求對承包的地塊進行分割。ArcMap軟件平臺是使用最廣泛的確權數據處理平臺,分割的通常做法是技術員利用編輯器的裁剪、合并等工具組合,對地塊進行操作,切割出相應面積的地塊,當農戶精度要求高時,這種手動分割方式費時費力。筆者基于通用的ArcMap軟件平臺,開發滿足特殊需求的地塊分割插件,其成本低、靈活度高,非常適合以ArcMap軟件為數據處理平臺的項目實施。
1.1 流程設計
地塊分割最基本的需求是指定一個面積,通過農戶輸入的邊界走向,從當前地塊中分割出指定面積大小的地塊。受地塊形狀限制,要找到既能滿足邊界輸入要求,又能滿足農戶關心的面積要求,不能采用多項式求解的方式計算切割線或其集合。本文采用的方法為從邊界輸入開始,定義初始分割,將地塊分割出兩個小地塊(Pc和Pu),然后,采用一定的步長,以Pc地塊達到指定面積A為目標,以遞歸方式切割Pc,切割出的新Pc不足目標面積時,繼續切割,超出目標面積時,反向切割Pu(此時Pu和Pc對象互換)。進行下次切割前,分割出的步長小地塊始終要與未被切割的Pu合并。流程設計如圖1所示。
1.2 分割地塊算法
針對地塊分割,ArcObject本身提供了相應的接口函數ITopologicalOperator.Cut,但該接口短時間頻繁調用時容易產生內存受保護錯誤,當輸入要素要求超出分割地塊需求時,可能返回無法識別多邊形左右的錯誤。因此,本文對分割地塊算法進行了定制,主要算法為:
1)數據輸入地塊P和切割線L,順序循環地塊P的結點鏈,獲取切割線L的起點和終點在P上的4個端點ID,分別作為待生成的左、右多邊形起點和終點ID,記為nLeftFrom,nLeftTo,nRightFrom,nRightTo;
2)生成左多邊形點集LeftPc:①切割線結點加入點集;②如果nLeftTo小于nLeftFrom,則從P上nLeftTo結點開始到0結點逆序將結點加入點集;從最后一個結點開始到nLeftFrom結點,逆序將結點加入點集;③如果nLeftTo大于nLeftFrom,則從nLeftTo結點到nLeftFrom結點逆序將結點加入點集。
3)生成右多邊形點集RightPc:①首先將切割線結點加入點集;②如果nRightTo小于nRightFrom,從P上nRightFrom結點開始到地塊最后一個結點順序將結點加入點集,從0結點開始到nRightTo結點順序將結點加入點集;③如果nRightTo大于nRightFrom,從nRightFrom結點到nRightTo結點順序將結點加入點集。
1.3 獲取步長切割線算法
在遞歸算法中,切割線屬于待切割多邊形的一部分,為保證下一條切割線在切割地塊內,對切割線的端點和其他結點分別進行處理(見圖2)。算法步驟為:①下一個切割線的端點由當前切割線端點在多邊形邊界上獲取,如果下一個結點距離超過步長,采用步長距離獲取下一條切割線的端點,否則直接取下一個結點作為端點;②切割線內部的結點以夾角的平分線作為方向、步長作為距離生成下一條切割線結點;③對所生成的切割線點集進行檢查,剔除自相交以及在切割多邊形外部和小于結點最小距離的結點。

圖2 獲取下一條切割線
1.4 結點抽稀
當步長地塊Ps和地塊Pu進行合并后在合并邊界處會產生結點,由于程序采用了遞歸算法,當分割精度要求高(面積容差設置很小)或步長設置很小時,遞歸次數會很多,如果不進行結點抽稀,最終分割出的地塊會有很多結點。本算法產生的多余結點都是分割線的端點,在合并操作完成后要對合并后的Pu多邊形進行抽稀,剔除多邊形和上次分割線端點重合的點。抽稀時判斷當前點是否與全局點距離以及與前后端點構成的夾角在一定閾值內。
插件界面分3個UI區域,分別是地塊設置、圖形設置、精度設置(見圖3)。根據項目地塊分割情況統計,大部分應用屬于單個地塊分割,本插件可按實際面積進行分割,農戶需要分割多少,實際就分割多少;也可按比例分割,由農戶承包經營權合同面積和該地塊所有權利人合同面積總和的比值來確定比例進行分割;插件還實現了等分、不等比例面積分割和不等比例股權分割,后2個功能需一次性錄入地塊權利人的地塊面積或合同面積。

圖3 地塊分割插件用戶界面
根據土地承包經營權地塊分割的需求,利用ArcGIS Add-in技術開發了地塊分割插件。實際應用中,技術員只需選擇地塊并在地塊上輸入或選擇多段線(農戶確定的邊界走向),指定面積或占股比例,程序可快速、自動在地塊上分割出需要的子地塊。還實現了分戶析產的農戶需要對承包地塊進行等分批量操作。該工具操作簡單,參數設置靈活,對作業流程和數據格式(圖形特征要求除外)無要求,可適應不同規模的地塊分割,在滿足精度和邊界走向的要求前提下,大大縮短了地塊分割操作的時間。
[1] 李維慶,張璇,李永鑫. Add-Ins技術在地理國情普查過程質量控制中的應用[J].測繪,2014,37(5):229-232
[2] 張隆,馬林兵,楊子,等.基于ArcMap插件的土地利用規劃編制方法研究[J].地理信息世界,2011(5):63-66
[3] 馬文濤. 基于高分辨率DEM的活動斷層斷錯水系剖面信息提取add-in插件的設計與實現[D].云南:云南大學資源環境與地球科學學院,2015
[4] 田光,謝忠,吳亮.基于簡單要素模型的多邊形分割算法[J].地理與地理信息科學,2010,26(1):24-28
[5] 曾廣鴻,王曉明,徐宜勤,等.基于結點序列搜索的多邊形分割算法[J].測繪通報,2006(8):16-18
[6] 邵晴晴,朱福利. 一種宗地四至提取方法探討[J].測繪地理信息, 2014, 39(4):58-61
[7] 李論,張志鵬,陳慎. 基于ArcGISAdd-In的不等分緯線多圓錐投影變換[J].測繪,2013(5):222-224
P208
B
1672-4623(2016)10-0080-02
10.3969/j.issn.1672-4623.2016.10.024
楊林波,高級工程師,主要從事測繪、3S集成技術應用研究等工作。
2016-01-06。
項目來源:云南省科技廳重大專項資助項目(2013ZB006)。