国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用SQL語句實現(xiàn)宗地快速編號

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

王志平

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

1 前言

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

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

全國宗地統(tǒng)一編碼采用“地籍區(qū)和地籍子區(qū)”兩個級別的編碼分區(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ù)編宗地號。宗地代碼采用五層19位層次碼結(jié)構(gòu),按層次分別表示縣級行政區(qū)劃、地籍區(qū)、地籍子區(qū)、土地所有權(quán)類型、宗地號。第一層次為縣級行政區(qū)劃,代碼為6位,采用《中華人民共和國行政區(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表示。第五層次為宗地順序號,代碼為5位,宗地順序碼用00001~99999表示,在相應(yīng)的宗地特征碼后順序編碼。

3 常見編號方法

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

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

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

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

4 算法設(shè)計

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

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

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

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

以“之”字形編號為例,核心算法主要包括以下三個步驟。

(1)第一步:遍歷地籍子區(qū)內(nèi)的所有宗地,將宗地要素OID值、中心點坐標(biāo)和所屬行號寫入臨時表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)‘行號,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)第二步:對臨時表Tempfor TB中的記錄根據(jù)行號倒序和橫坐標(biāo)值正序進(jìn)行SELECT查詢,實現(xiàn)對宗地從上到下、從左到右的編號方式。

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

rs.Opensql,datacn,adOpenForwardOnly,ad Lock ReadOnly

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

TBBH=1

'根據(jù)OID值對宗地逐個更新地籍號

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

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

5 結(jié)束語

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

猜你喜歡
宗地界址代碼
兩只小兔移界址
兩只小兔移界址
CASS地籍圖中界址信息批量轉(zhuǎn)出方法研究
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
基于歷史歸檔的宗地查詢系統(tǒng)的設(shè)計與實現(xiàn)
河南科技(2014年22期)2014-02-27 14:18:03
地籍宗地時空數(shù)據(jù)庫中的變化檢測
基于多色圖的宗地信息歷史回溯模型及實現(xiàn)
邻水| 彩票| 保亭| 柞水县| 德清县| 麻城市| 当涂县| 崇文区| 尉犁县| 随州市| 家居| 湘阴县| 扬州市| 英山县| 贺州市| 会宁县| 大城县| 丹巴县| 外汇| 辽源市| 延吉市| 稷山县| 正镶白旗| 齐齐哈尔市| 阜阳市| 铁岭市| 灵璧县| 邮箱| 开封县| 准格尔旗| 富民县| 分宜县| 洱源县| 万安县| 广河县| 永兴县| 于都县| 洛隆县| 五峰| 汽车| 日喀则市|