王保國(guó)
(蚌埠市勘測(cè)設(shè)計(jì)研究院,安徽 蚌埠 233000)
ShapeLib在土地確權(quán)中的應(yīng)用
王保國(guó)
(蚌埠市勘測(cè)設(shè)計(jì)研究院,安徽 蚌埠 233000)
在農(nóng)村土地承包經(jīng)營(yíng)權(quán)的確權(quán)登記工作中,利用影像圖在AutoCAD平臺(tái)下解析出土地邊界,實(shí)地調(diào)查土地邊界的正確性,并核實(shí)土地權(quán)屬信息及共有人信息,在確保數(shù)據(jù)的完整性和準(zhǔn)確性后,將數(shù)據(jù)按照國(guó)家標(biāo)準(zhǔn)格式轉(zhuǎn)換至GIS管理平臺(tái)。在AutoCAD平臺(tái)的多段線向GIS數(shù)據(jù)轉(zhuǎn)換中,利用Esri的C++開(kāi)源庫(kù)ShapeLib,使用.NET語(yǔ)言進(jìn)行二次開(kāi)發(fā),對(duì)地塊線進(jìn)行拓?fù)錂z查、屬性檢查,將地塊線轉(zhuǎn)換為Polygon實(shí)體的形文件,擴(kuò)展屬性轉(zhuǎn)入DBF文件,最終生成GIS通用格式Shapefile文件,從而提高了工作效率,具有一定的實(shí)用價(jià)值。
土地確權(quán);AutoCAD;ShapeLib
隨著國(guó)家加強(qiáng)對(duì)不動(dòng)產(chǎn)權(quán)的管理,農(nóng)村土地承包經(jīng)營(yíng)權(quán)的確權(quán)登記工作也在有條不紊地推進(jìn)中,其主要任務(wù)是根據(jù)承包合同、經(jīng)營(yíng)權(quán)證,查清發(fā)包方、承包方的相關(guān)信息和地塊信息,建立集影像、圖形、權(quán)屬為一體的農(nóng)村土地承包管理信息數(shù)據(jù)庫(kù)和管理信息系統(tǒng)。由于不動(dòng)產(chǎn)權(quán)管理平臺(tái)是基于GIS平臺(tái),而傳統(tǒng)測(cè)繪的作業(yè)還是基于AutoCAD平臺(tái),這就需要進(jìn)行數(shù)據(jù)的無(wú)損轉(zhuǎn)換以滿足管理平臺(tái)的需求。
農(nóng)村土地承包經(jīng)營(yíng)權(quán)的確權(quán)登記作業(yè)方法主要是外業(yè)利用影像圖進(jìn)行實(shí)地調(diào)繪,在影像圖上標(biāo)注各類信息,包括二輪合同面積、權(quán)利人姓名、地塊名稱等,內(nèi)業(yè)利用在AutoCAD平臺(tái)下二次開(kāi)發(fā)的程序進(jìn)行信息錄入,因?yàn)樽灾鏖_(kāi)發(fā)的程序可以不受限制的使用,每個(gè)技術(shù)員在外業(yè)調(diào)查后可獨(dú)自進(jìn)行信息錄入,無(wú)需交由專業(yè)的內(nèi)業(yè)人員進(jìn)行錄入,省去了中間因字體潦草、位置不明確等溝通的環(huán)節(jié),大大減少了時(shí)間,且節(jié)省了購(gòu)置多套商業(yè)軟件的成本。如圖1所示。
圖1 地塊信息錄入
外業(yè)調(diào)查基本結(jié)束后,需要把地塊信息導(dǎo)入到商業(yè)軟件中進(jìn)行下一步操作;二次開(kāi)發(fā)的程序是利用AutoCAD中的擴(kuò)展屬性Xdata來(lái)添加地塊的相關(guān)信息,如圖2所示。
土地確權(quán)商業(yè)軟件一般都是基于自主開(kāi)發(fā)的GIS平臺(tái),且都支持AutoCAD圖形導(dǎo)入,但是對(duì)于圖形中的Xdata卻不能讀取,這就使得信息不能完全交換,但商業(yè)軟件都支持通用的Shapefile格式數(shù)據(jù)讀取,Shapefiles是Esri提供的一種通用矢量數(shù)據(jù)格式,一個(gè)Shapefiles由一組文件組成,其中必要的基本文件包括坐標(biāo)文件(SHP)、索引文件(SHX)和屬性文件(DBF)3個(gè)文件。坐標(biāo)文件(SHP)用于記錄空間坐標(biāo)信息,它由頭文件和實(shí)體信息兩部分構(gòu)成。索引文件(SHX)主要包含坐標(biāo)文件的索引信息,文件中每個(gè)記錄包含對(duì)應(yīng)的坐標(biāo)文件記錄距離坐標(biāo)文件的文件頭的偏移量。通過(guò)索引文件可以很方便地在坐標(biāo)文件中定位到指定目標(biāo)的坐標(biāo)信息。屬性文件(DBF)用于記錄屬性信息,它是一個(gè)標(biāo)準(zhǔn)的DBF文件,也是由頭文件和實(shí)體信息兩部分構(gòu)成。
本文的思路是把每個(gè)地塊的圖形信息存入SHP文件中,而地塊的屬性信息存入DBF文件,這樣就完成了數(shù)據(jù)轉(zhuǎn)換。
ShapeLib是GIS開(kāi)源庫(kù),它是由C++開(kāi)發(fā)的類庫(kù),編譯后由.NET軟件對(duì)類庫(kù)進(jìn)行引用,可以將AutoCAD中各個(gè)實(shí)體和屬性轉(zhuǎn)換為Shape文件。Shape文件支持多種幾何類型,具體見(jiàn)表1。
表1 shapefiles文件支持的幾何類型
AutoCAD中沒(méi)有面的概念,地塊是以封閉的多段線來(lái)表示的,但在GIS軟件中都是以面狀來(lái)呈現(xiàn)的,因此在轉(zhuǎn)換中需要將多段線轉(zhuǎn)換為Shape中面狀目標(biāo)(Polygon)。Shapefile中的面狀目標(biāo)是由多個(gè)子環(huán)構(gòu)成的,每個(gè)子環(huán)是由至少4個(gè)頂點(diǎn)構(gòu)成的封閉的、無(wú)自相交現(xiàn)象的環(huán)。對(duì)于含有島的多邊形,構(gòu)成它的環(huán)有內(nèi)外環(huán)之分,每個(gè)環(huán)的頂點(diǎn)的排列順序或方向說(shuō)明了這個(gè)環(huán)到底是內(nèi)環(huán)還是外環(huán)。一個(gè)內(nèi)環(huán)的頂點(diǎn)是按照逆時(shí)針順序排列的;而對(duì)于外環(huán),它的頂點(diǎn)排列順序是順時(shí)針?lè)较?。如果一個(gè)多邊形只由一個(gè)環(huán)構(gòu)成,那么它的頂點(diǎn)排列順序肯定是順時(shí)針?lè)较?如圖3所示)。
因此在轉(zhuǎn)換前要對(duì)封閉的多段線進(jìn)行一系列的拓?fù)錂z查,如重復(fù)點(diǎn)檢查、自相交檢查、方向檢查(在GIS軟件中,順時(shí)針面積值為正,逆時(shí)針為負(fù)),為了保證轉(zhuǎn)換的完整性,需對(duì)Xdata進(jìn)行屬性檢查。
圖3 流程示意圖
(1) 首先在.NET中封裝由C++編譯的Shapelib.dll,并加入MapTools命名空間,便于調(diào)用。
[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′聲明對(duì)MapTools的引用
(3) 遍歷實(shí)體后生成Shape文件。
Dim hShp As IntPtr=ShapeLib.SHPCreate(shapeFileName, ShapeLib.ShapeType.Polygon)′聲明形文件為多邊形
Dim hDbf As IntPtr=ShapeLib.DBFCreate(shapeFileName)′聲明屬性文件
′設(shè)置屬性格式
Dim intAttribute As New List(Of Integer)
′地塊編碼設(shè)置為字符串型,長(zhǎng)度為30
intAttribute.Add(ShapeLib.DBFAddField(hDbf, "DKBM", ShapeLib.DBFFieldType.FTString, 30, 0))
′創(chuàng)建多邊形文件
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)
′獲取土地線段的擴(kuò)展屬性
Dim myRb As ResultBuffer=Land.GetXDataFor Application("TDQS")
Dim myValues As TypedValue()=myRb.AsArray
′寫(xiě)入屬性數(shù)據(jù)
ShapeLib.DBFWriteStringAttribute(hDbf, k, 0, my Values(1).Value & myValues(2).Value & "00" & Format(Convert.ToInt16(myValues(4).Value), "00000"))
′關(guān)閉文件
ShapeLib.SHPClose(hShp)
hapeLib.DBFClose(hDbf)
本文通過(guò)對(duì)AutoCAD實(shí)體對(duì)象的研究,結(jié)合Esri的開(kāi)源庫(kù)ShapeLib,通過(guò)C++編譯后生成DLL文件,使用.NET引用類庫(kù)文件,在AutoCAD平臺(tái)下進(jìn)行二次開(kāi)發(fā),再結(jié)合筆者所在單位的工作模式,將數(shù)據(jù)完整的轉(zhuǎn)換為GIS格式,從而提高了工作效率,保證了數(shù)據(jù)的正確性,為農(nóng)村土地承包經(jīng)營(yíng)權(quán)的確權(quán)登記工作提供了有力的保障。
[1] (美)Thearon Willis Bryan Newsome.Visual Basic 2005 入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社,2006.
[2] 秦洪現(xiàn),崔惠嵐,孫劍,等.Autodesk系列產(chǎn)品開(kāi)發(fā)培訓(xùn)教程[M].北京:化學(xué)工業(yè)出版社,2008.
[3] 曾洪飛,張帆,盧擇臨.AutoCad VBA & VB.NET開(kāi)發(fā)基礎(chǔ)與實(shí)例教程[M].北京:中國(guó)電力出版社,2008.
[4] 楊娜娜,張新長(zhǎng),黃健鋒.CAD規(guī)劃成果數(shù)據(jù)GIS建庫(kù)的技術(shù)與研究[J].測(cè)繪通報(bào),2015(6):44-48.
[5] 安如,王慧麟,馮學(xué)智,等.CAD軟件用于一體化地圖制圖信息系統(tǒng)建立與應(yīng)用研究[J].測(cè)繪通報(bào),2001(11):6-8.
[6] 王保國(guó).基于AutoCAD的建筑信息管理工具開(kāi)發(fā)[J].測(cè)繪通報(bào),2013(4):105-106,114.
[7] 李勇平.DWG到SHP數(shù)據(jù)的一種實(shí)用轉(zhuǎn)換方法[J].國(guó)土資源信息化,2010(10):29-32.
[8] 浮懷鵬,譚盧師,吳元碩. CAD圖元擴(kuò)展數(shù)據(jù)[J].華北水利水電學(xué)院學(xué)報(bào),2010(3):74-75.
[9] 李賓,師晶,丁文利.基于AutoCad.NET的DWG與SHAPEFILE數(shù)據(jù)轉(zhuǎn)換實(shí)現(xiàn)[J].科技信息,2011(23):85-86.
[10] 陳能,施蓓琦.AutoCAD地形圖數(shù)據(jù)轉(zhuǎn)換為GIS空間數(shù)據(jù)的技術(shù)研究與應(yīng)用[J].測(cè)繪通報(bào),2005(8):11-14,34.
[11] 宋志輝,王建軍,譚運(yùn)釗.AutoCAD與MapInfo數(shù)據(jù)轉(zhuǎn)換的研究及實(shí)現(xiàn)[J].測(cè)繪通報(bào),2012(2):88-89,93.
[12] 李廣生,程明,賀學(xué)文,等.基于Teigha.net與Shapelib的圖形數(shù)據(jù)轉(zhuǎn)換系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J] .測(cè)繪與空間地理信息,2012(8):118-120.
[13] 武世虎.基于C#.NET的DWG到ShapeFile格式轉(zhuǎn)換程序?qū)崿F(xiàn)[J].山西大同大學(xué)學(xué)報(bào),2016(1):73-74.
[14] 朱新銘,李少梅,彭湃.基于Illustrator的Shapefile空間數(shù)據(jù)讀取方法研究[J].測(cè)繪與空間地理信息,2016(2):100-103.
[15] 柳佳佳,欒曉巖.ShapeFile格式文件寫(xiě)入方法研究[J].測(cè)繪通報(bào),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
王保國(guó).ShapeLib在土地確權(quán)中的應(yīng)用[J].測(cè)繪通報(bào),2017(8):135-137.
10.13474/j.cnki.11-2246.2017.0271.
2017-06-12
王保國(guó)(1979— ),男,碩士,高級(jí)工程師,主要從事測(cè)繪技術(shù)與管理工作。E-mail:wbg0727@126.com
P208
A
0494-0911(2017)08-0135-03