王保國
(蚌埠市勘測設計研究院,安徽 蚌埠 233000)
ShapeLib在土地確權中的應用
王保國
(蚌埠市勘測設計研究院,安徽 蚌埠 233000)
在農村土地承包經營權的確權登記工作中,利用影像圖在AutoCAD平臺下解析出土地邊界,實地調查土地邊界的正確性,并核實土地權屬信息及共有人信息,在確保數據的完整性和準確性后,將數據按照國家標準格式轉換至GIS管理平臺。在AutoCAD平臺的多段線向GIS數據轉換中,利用Esri的C++開源庫ShapeLib,使用.NET語言進行二次開發,對地塊線進行拓撲檢查、屬性檢查,將地塊線轉換為Polygon實體的形文件,擴展屬性轉入DBF文件,最終生成GIS通用格式Shapefile文件,從而提高了工作效率,具有一定的實用價值。
土地確權;AutoCAD;ShapeLib
隨著國家加強對不動產權的管理,農村土地承包經營權的確權登記工作也在有條不紊地推進中,其主要任務是根據承包合同、經營權證,查清發包方、承包方的相關信息和地塊信息,建立集影像、圖形、權屬為一體的農村土地承包管理信息數據庫和管理信息系統。由于不動產權管理平臺是基于GIS平臺,而傳統測繪的作業還是基于AutoCAD平臺,這就需要進行數據的無損轉換以滿足管理平臺的需求。
農村土地承包經營權的確權登記作業方法主要是外業利用影像圖進行實地調繪,在影像圖上標注各類信息,包括二輪合同面積、權利人姓名、地塊名稱等,內業利用在AutoCAD平臺下二次開發的程序進行信息錄入,因為自主開發的程序可以不受限制的使用,每個技術員在外業調查后可獨自進行信息錄入,無需交由專業的內業人員進行錄入,省去了中間因字體潦草、位置不明確等溝通的環節,大大減少了時間,且節省了購置多套商業軟件的成本。如圖1所示。

圖1 地塊信息錄入
外業調查基本結束后,需要把地塊信息導入到商業軟件中進行下一步操作;二次開發的程序是利用AutoCAD中的擴展屬性Xdata來添加地塊的相關信息,如圖2所示。
土地確權商業軟件一般都是基于自主開發的GIS平臺,且都支持AutoCAD圖形導入,但是對于圖形中的Xdata卻不能讀取,這就使得信息不能完全交換,但商業軟件都支持通用的Shapefile格式數據讀取,Shapefiles是Esri提供的一種通用矢量數據格式,一個Shapefiles由一組文件組成,其中必要的基本文件包括坐標文件(SHP)、索引文件(SHX)和屬性文件(DBF)3個文件。坐標文件(SHP)用于記錄空間坐標信息,它由頭文件和實體信息兩部分構成。索引文件(SHX)主要包含坐標文件的索引信息,文件中每個記錄包含對應的坐標文件記錄距離坐標文件的文件頭的偏移量。通過索引文件可以很方便地在坐標文件中定位到指定目標的坐標信息。屬性文件(DBF)用于記錄屬性信息,它是一個標準的DBF文件,也是由頭文件和實體信息兩部分構成。
本文的思路是把每個地塊的圖形信息存入SHP文件中,而地塊的屬性信息存入DBF文件,這樣就完成了數據轉換。
ShapeLib是GIS開源庫,它是由C++開發的類庫,編譯后由.NET軟件對類庫進行引用,可以將AutoCAD中各個實體和屬性轉換為Shape文件。Shape文件支持多種幾何類型,具體見表1。

表1 shapefiles文件支持的幾何類型
AutoCAD中沒有面的概念,地塊是以封閉的多段線來表示的,但在GIS軟件中都是以面狀來呈現的,因此在轉換中需要將多段線轉換為Shape中面狀目標(Polygon)。Shapefile中的面狀目標是由多個子環構成的,每個子環是由至少4個頂點構成的封閉的、無自相交現象的環。對于含有島的多邊形,構成它的環有內外環之分,每個環的頂點的排列順序或方向說明了這個環到底是內環還是外環。一個內環的頂點是按照逆時針順序排列的;而對于外環,它的頂點排列順序是順時針方向。如果一個多邊形只由一個環構成,那么它的頂點排列順序肯定是順時針方向(如圖3所示)。
因此在轉換前要對封閉的多段線進行一系列的拓撲檢查,如重復點檢查、自相交檢查、方向檢查(在GIS軟件中,順時針面積值為正,逆時針為負),為了保證轉換的完整性,需對Xdata進行屬性檢查。

圖3 流程示意圖
(1) 首先在.NET中封裝由C++編譯的Shapelib.dll,并加入MapTools命名空間,便于調用。
[assembly: AssemblyTitle("MapTools")]
[assembly: AssemblyDescription(".NET wrapper for shapelib.dll")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("David Gancarz")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
(2) 然后在新建的工程中引用MapTools并聲明。
Imports MapTools′聲明對MapTools的引用
(3) 遍歷實體后生成Shape文件。
Dim hShp As IntPtr=ShapeLib.SHPCreate(shapeFileName, ShapeLib.ShapeType.Polygon)′聲明形文件為多邊形
Dim hDbf As IntPtr=ShapeLib.DBFCreate(shapeFileName)′聲明屬性文件
′設置屬性格式
Dim intAttribute As New List(Of Integer)
′地塊編碼設置為字符串型,長度為30
intAttribute.Add(ShapeLib.DBFAddField(hDbf, "DKBM", ShapeLib.DBFFieldType.FTString, 30, 0))
′創建多邊形文件
Dim pshpObj As IntPtr=ShapeLib.SHPCreate SimpleObject(ShapeLib.ShapeType.Polygon, intPt+1, x, y, New Double((intPt)) {})
Dim ShpiRet As Integer=ShapeLib.SHPWriteObject(hShp, -1, pshpObj) ShapeLib.SHPDestroyObject(pshpObj)
′獲取土地線段的擴展屬性
Dim myRb As ResultBuffer=Land.GetXDataFor Application("TDQS")
Dim myValues As TypedValue()=myRb.AsArray
′寫入屬性數據
ShapeLib.DBFWriteStringAttribute(hDbf, k, 0, my Values(1).Value & myValues(2).Value & "00" & Format(Convert.ToInt16(myValues(4).Value), "00000"))
′關閉文件
ShapeLib.SHPClose(hShp)
hapeLib.DBFClose(hDbf)
本文通過對AutoCAD實體對象的研究,結合Esri的開源庫ShapeLib,通過C++編譯后生成DLL文件,使用.NET引用類庫文件,在AutoCAD平臺下進行二次開發,再結合筆者所在單位的工作模式,將數據完整的轉換為GIS格式,從而提高了工作效率,保證了數據的正確性,為農村土地承包經營權的確權登記工作提供了有力的保障。
[1] (美)Thearon Willis Bryan Newsome.Visual Basic 2005 入門經典[M].北京:清華大學出版社,2006.
[2] 秦洪現,崔惠嵐,孫劍,等.Autodesk系列產品開發培訓教程[M].北京:化學工業出版社,2008.
[3] 曾洪飛,張帆,盧擇臨.AutoCad VBA & VB.NET開發基礎與實例教程[M].北京:中國電力出版社,2008.
[4] 楊娜娜,張新長,黃健鋒.CAD規劃成果數據GIS建庫的技術與研究[J].測繪通報,2015(6):44-48.
[5] 安如,王慧麟,馮學智,等.CAD軟件用于一體化地圖制圖信息系統建立與應用研究[J].測繪通報,2001(11):6-8.
[6] 王保國.基于AutoCAD的建筑信息管理工具開發[J].測繪通報,2013(4):105-106,114.
[7] 李勇平.DWG到SHP數據的一種實用轉換方法[J].國土資源信息化,2010(10):29-32.
[8] 浮懷鵬,譚盧師,吳元碩. CAD圖元擴展數據[J].華北水利水電學院學報,2010(3):74-75.
[9] 李賓,師晶,丁文利.基于AutoCad.NET的DWG與SHAPEFILE數據轉換實現[J].科技信息,2011(23):85-86.
[10] 陳能,施蓓琦.AutoCAD地形圖數據轉換為GIS空間數據的技術研究與應用[J].測繪通報,2005(8):11-14,34.
[11] 宋志輝,王建軍,譚運釗.AutoCAD與MapInfo數據轉換的研究及實現[J].測繪通報,2012(2):88-89,93.
[12] 李廣生,程明,賀學文,等.基于Teigha.net與Shapelib的圖形數據轉換系統設計與實現[J] .測繪與空間地理信息,2012(8):118-120.
[13] 武世虎.基于C#.NET的DWG到ShapeFile格式轉換程序實現[J].山西大同大學學報,2016(1):73-74.
[14] 朱新銘,李少梅,彭湃.基于Illustrator的Shapefile空間數據讀取方法研究[J].測繪與空間地理信息,2016(2):100-103.
[15] 柳佳佳,欒曉巖.ShapeFile格式文件寫入方法研究[J].測繪通報,2012(9):90-92.
Application of ShapeLib in Land Ownership
WANG Baoguo
(Bengbu Geotechnical Engineering and Surveying Institue, Bengbu 233000, China)
In the contracted management of rural land ownership registration, it uses image analysis of land boundary in the AutoCAD platform, the correctness of the land boundary survey, and verifies the ownership of land information and information in common. In order to ensure the completeness and accuracy of data, the data according to the national standard format conversion to GIS management platform. Convert to GIS data on the AutoCAD platform of the multi segment line, using the Esri C++ library ShapeLib, using.NET language to develop two times, topology check, block line attribute inspection, will be converted to Polygon block line entity shape files, extended attributes into the DBF file, the final generation GIS general ShapeFile file format thus, improve work efficiency, and has a certain practical value.
land ownership; Autocad; ShapeLib
王保國.ShapeLib在土地確權中的應用[J].測繪通報,2017(8):135-137.
10.13474/j.cnki.11-2246.2017.0271.
2017-06-12
王保國(1979— ),男,碩士,高級工程師,主要從事測繪技術與管理工作。E-mail:wbg0727@126.com
P208
A
0494-0911(2017)08-0135-03