• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用SQL語(yǔ)句實(shí)現(xiàn)宗地快速編號(hào)

      2016-12-18 14:12:22王志平
      北京測(cè)繪 2016年2期
      關(guān)鍵詞:宗地界址代碼

      王志平

      (上海瑞納信息技術(shù)有限公司,上海200433)

      1 前言

      為推進(jìn)以土地為基礎(chǔ)的不動(dòng)產(chǎn)統(tǒng)一登記工作,推動(dòng)城鄉(xiāng)一體化地籍管理進(jìn)程,逐步實(shí)現(xiàn)國(guó)土資源信息化、標(biāo)準(zhǔn)化,國(guó)土資源部印發(fā)了《全國(guó)宗地統(tǒng)一代碼編制工作實(shí)施方案》的通知(國(guó)土資發(fā)〔2012〕4號(hào))。不僅最近幾年開(kāi)展的集體土地所有權(quán)調(diào)查、村莊地籍調(diào)查要求以新的編碼規(guī)則進(jìn)行宗地編號(hào),老的城鎮(zhèn)地籍系統(tǒng)升級(jí)時(shí),所有宗地也要按照新規(guī)則進(jìn)行統(tǒng)一編號(hào)。面對(duì)數(shù)量巨大的宗地和界址點(diǎn),如何快速高效的進(jìn)行重新編號(hào)是一個(gè)值得研究的問(wèn)題。

      2 宗地統(tǒng)一編號(hào)原則

      全國(guó)宗地統(tǒng)一編碼采用“地籍區(qū)和地籍子區(qū)”兩個(gè)級(jí)別的編碼分區(qū)概念,遵循宗地統(tǒng)一編碼的原則。地籍區(qū)、地籍子區(qū)的劃分有三種模式:一是按照現(xiàn)行鄉(xiāng)鎮(zhèn)、街道劃分;二是以現(xiàn)行鄉(xiāng)鎮(zhèn)街道為基礎(chǔ),結(jié)合典型線狀地物劃分;三是完成按照典型線狀地物劃分。

      《地籍調(diào)查規(guī)程》要求[1],在地籍子區(qū)范圍內(nèi),從西到東,從北到南,統(tǒng)一預(yù)編宗地號(hào)。宗地代碼采用五層19位層次碼結(jié)構(gòu),按層次分別表示縣級(jí)行政區(qū)劃、地籍區(qū)、地籍子區(qū)、土地所有權(quán)類型、宗地號(hào)。第一層次為縣級(jí)行政區(qū)劃,代碼為6位,采用《中華人民共和國(guó)行政區(qū)劃代碼》(GB/T 2260)。第二層次為地籍區(qū),代碼為3位,用01~999表示。第三層次為地籍子區(qū),代碼為3位,用01~999表示。第四層次為土地權(quán)屬類型,代碼為2位,其中第一位表示土地所有權(quán)類型,用G、J、Z表示,第二位表示宗地特征碼,用 A、B、S、X、C、W、Y表示。第五層次為宗地順序號(hào),代碼為5位,宗地順序碼用00001~99999表示,在相應(yīng)的宗地特征碼后順序編碼。

      3 常見(jiàn)編號(hào)方法

      過(guò)去,開(kāi)展城鎮(zhèn)地籍調(diào)查,一般在調(diào)查階段采用人工的方式進(jìn)行編號(hào),系統(tǒng)地對(duì)宗地自動(dòng)進(jìn)行編號(hào)的研究較少。目前,常見(jiàn)的商品軟件一般采用帶狀法實(shí)現(xiàn)自動(dòng)編號(hào)[2],用定位點(diǎn)位置代替宗地位置,并通過(guò)設(shè)定間距來(lái)劃分條帶,然后在條帶內(nèi)依據(jù)橫坐標(biāo)實(shí)現(xiàn)從左到右的排序。這種編號(hào)法清晰簡(jiǎn)單,容易實(shí)現(xiàn),但是對(duì)地塊形狀敏感性較差,會(huì)出現(xiàn)編號(hào)跳躍,但跳躍范圍不大,總體效果比較好。

      改進(jìn)的編號(hào)方法如改進(jìn)錐形編號(hào)法、遞歸分解編號(hào)法[3],優(yōu)先考慮了編號(hào)地塊的連續(xù)性,方向關(guān)系定位比較準(zhǔn)確,解決了一些復(fù)雜形狀地塊的空間關(guān)系,編號(hào)更合理,但是涉及到地塊空間關(guān)系的判斷,不可避免的要進(jìn)行復(fù)雜繁瑣的圖形運(yùn)算,在處理大量地塊的編號(hào)時(shí),其編號(hào)效率就難以令人滿意了。

      對(duì)于城鎮(zhèn)地籍?dāng)?shù)據(jù)庫(kù)升級(jí)來(lái)說(shuō),宗地往往都以數(shù)萬(wàn)或數(shù)十萬(wàn)計(jì),界址點(diǎn)以數(shù)十萬(wàn)或數(shù)百萬(wàn)級(jí)。以縣為單位開(kāi)展的村莊地籍調(diào)查往往有數(shù)十萬(wàn)個(gè)宗地和數(shù)百萬(wàn)個(gè)界址點(diǎn)。面對(duì)海量地塊,如果在編號(hào)運(yùn)算時(shí)要進(jìn)行大量的空間關(guān)系的運(yùn)算,編號(hào)效率是不能接受的。常規(guī)的帶狀編號(hào)法由于涉及到圖形運(yùn)算,其編號(hào)效率仍然不夠理想,在處理大量宗地和界址點(diǎn)上常常需要花費(fèi)很長(zhǎng)時(shí)間。例如,我們使用某采用帶狀編號(hào)法的商品軟件對(duì)約10萬(wàn)個(gè)宗地進(jìn)行編號(hào)時(shí),用時(shí)達(dá)數(shù)小時(shí)。

      本文在遵循基本編號(hào)原則的基礎(chǔ)上,主要把重點(diǎn)放在提高編號(hào)效率上,在帶狀法編號(hào)思路的基礎(chǔ)上,將空間排序巧妙的轉(zhuǎn)換為利用SQL的排序查詢來(lái)實(shí)現(xiàn),編號(hào)效率實(shí)現(xiàn)了數(shù)量級(jí)的提高。

      4 算法設(shè)計(jì)

      由于涉及到對(duì)圖形的讀寫,為了實(shí)現(xiàn)更快的讀取速度,我們將ArcSDEGeodatabase數(shù)據(jù)庫(kù)中的圖形數(shù)據(jù)全部導(dǎo)出為本地Personal Geodatabase數(shù)據(jù)庫(kù),所有的處理和轉(zhuǎn)換直接針對(duì)本地?cái)?shù)據(jù)庫(kù)操作[4]。圖形數(shù)據(jù)處理程序編寫全部在Arc Map環(huán)境中以VBA+Arc Objects的本地開(kāi)發(fā)模式進(jìn)行[5][6]。

      宗地統(tǒng)一編號(hào)不僅涉及到圖形運(yùn)算,還要修改圖形及調(diào)查表的宗地編號(hào)等屬性信息。通過(guò)分析,我們發(fā)現(xiàn)影響宗地編碼速度的主要瓶頸在宗地圖形的空間排序和宗地號(hào)賦值,因此,需要在這兩個(gè)方面進(jìn)行突破才能實(shí)現(xiàn)編號(hào)速度的大幅提升。

      為了實(shí)現(xiàn)宗地的快速空間排序,我們讀取地籍子區(qū)內(nèi)每個(gè)宗地面要素的FeatureID值和中心點(diǎn)或者外界矩形左上角點(diǎn)的縱、橫坐標(biāo)寫入本地?cái)?shù)據(jù)庫(kù)臨時(shí)表中,并采用合適的間距對(duì)縱坐標(biāo)進(jìn)行分行,然后直接用Select語(yǔ)句對(duì)臨時(shí)表中的記錄進(jìn)行行號(hào)倒序、橫坐標(biāo)正序的查詢就可以實(shí)現(xiàn)宗地從上之下、從左到右的快速排序。

      對(duì)宗地圖形要素的宗地號(hào)賦值,使用ADO連接本地?cái)?shù)據(jù)庫(kù),依據(jù)FeatureID值用Update語(yǔ)句逐個(gè)更新Personal Geodatabase中宗地層要素表記錄即可,試驗(yàn)證明其比調(diào)用IFeature對(duì)象來(lái)修改宗地要素地籍號(hào)要快數(shù)十倍。

      以“之”字形編號(hào)為例,核心算法主要包括以下三個(gè)步驟。

      (1)第一步:遍歷地籍子區(qū)內(nèi)的所有宗地,將宗地要素OID值、中心點(diǎn)坐標(biāo)和所屬行號(hào)寫入臨時(shí)表Tempfor TB中。

      Set p Query Filter=New Query Filter

      p Query Filter.WhereClause= ″SSQY=″″&Trim(DjzqBh)

      Set p FeatureCursor = p Featureclass.Search(p QueryFilter,F(xiàn)alse)

      Set p Feature=pFeatureCursor.NextFeature

      Do While Not p FeatureIs Nothing

      Set p Area=p Feature.Shape

      OID=p Feature.OID

      X=p Area.Centroid.X

      Hanghao=Int(p Area.Centroid.Y/30)‘行號(hào),30為行距

      sql= ″insert into Tempfor TB(OID,X,Hanghao)values(?&OID&?,? &X&?,?&Hanghao&?)″

      Set rs=datacn.Execute(sql,1,adCmd T-ext)

      Set rs=Nothing

      Set pFeature=pFeatureCursor.NextFeature

      Loop

      (2)第二步:對(duì)臨時(shí)表Tempfor TB中的記錄根據(jù)行號(hào)倒序和橫坐標(biāo)值正序進(jìn)行SELECT查詢,實(shí)現(xiàn)對(duì)宗地從上到下、從左到右的編號(hào)方式。

      sql=″SELECT OID,X,HanghaoFROM Tempfor TB order by Hanghaodesc,X″

      rs.Opensql,datacn,adOpenForwardOnly,ad Lock ReadOnly

      (3)第三步:根據(jù)查詢結(jié)果逐個(gè)更新宗地編號(hào)。

      TBBH=1

      '根據(jù)OID值對(duì)宗地逐個(gè)更新地籍號(hào)

      Do While rs.EOF=False

      sql2= ″update″&pZDFeatureclass.Alias Name&″set DJH=?&Trim(DjzqBh)&″GB″ &TBBH& ? where OBJECTID=″&rs!OID

      Set rs2=datacn2.Execute(sql2,1,adCmd Text)

      Set rs2=Nothing

      rs.MoveNext

      TBBH=TBBH+1

      Loop

      上述算法,稍加改動(dòng)就可以實(shí)現(xiàn)“弓”字形順序流水編號(hào)。界址點(diǎn)、圖斑的編號(hào)規(guī)則和宗地類似,因此同樣可以采用上述算法實(shí)現(xiàn)快速統(tǒng)一編號(hào)。

      5 結(jié)束語(yǔ)

      由于盡量避免了圖形運(yùn)算和讀寫,將編號(hào)中最耗時(shí)的空間排序和宗地號(hào)賦值過(guò)程都通過(guò)SQL語(yǔ)句操作本地?cái)?shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn),故編號(hào)效率較高。在一臺(tái)較高配置的PC機(jī)上對(duì)約10萬(wàn)個(gè)宗地全部進(jìn)行重新統(tǒng)一編號(hào)用時(shí)不到3分鐘,對(duì)約54萬(wàn)個(gè)界址點(diǎn)重新編號(hào)費(fèi)時(shí)約11分鐘。雖然本算法不能做到像智能化編號(hào)方法那樣做到編號(hào)更加合理化,但是在遵循基本編號(hào)規(guī)則的前提下,在編號(hào)速度上做到了完勝,在批量處理大量宗地、圖斑的編號(hào)上具有一定的效率優(yōu)勢(shì)。

      猜你喜歡
      宗地界址代碼
      兩只小兔移界址
      兩只小兔移界址
      CASS地籍圖中界址信息批量轉(zhuǎn)出方法研究
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      基于歷史歸檔的宗地查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      河南科技(2014年22期)2014-02-27 14:18:03
      地籍宗地時(shí)空數(shù)據(jù)庫(kù)中的變化檢測(cè)
      基于多色圖的宗地信息歷史回溯模型及實(shí)現(xiàn)
      富源县| 香格里拉县| 油尖旺区| 蛟河市| 民权县| 东乡县| 武城县| 汉寿县| 贺州市| 雅江县| 江安县| 靖远县| 抚宁县| 芜湖市| 永新县| 乐平市| 蛟河市| 万源市| 社旗县| 梅河口市| 平山县| 康乐县| 马山县| 内黄县| 饶河县| 太康县| 陈巴尔虎旗| 游戏| 襄城县| 垣曲县| 广汉市| 肇东市| 平原县| 板桥市| 友谊县| 松桃| 迁西县| 团风县| 盐源县| 嵩明县| 延寿县|