莫忠榮
【摘 要】控制性詳細(xì)規(guī)劃的編制、維護(hù)與管理是一項(xiàng)基礎(chǔ)的、重要的、長(zhǎng)期的任務(wù),隨著社會(huì)的快速發(fā)展和城鄉(xiāng)一體化進(jìn)程的加快,控制性詳細(xì)規(guī)劃的編制與審批也處于不斷深化、完善與調(diào)整的過(guò)程。如何在數(shù)據(jù)庫(kù)中記錄其變化的過(guò)程,以及在地圖顯示窗口回放歷史版本數(shù)據(jù),文章通過(guò)對(duì)ArcSde中的數(shù)據(jù)存儲(chǔ)進(jìn)行詳細(xì)分析,結(jié)合ArcEngine進(jìn)行必要的開(kāi)發(fā),實(shí)現(xiàn)控制性詳細(xì)規(guī)劃的版本控制。
【關(guān)鍵詞】ArcSde;ArcEngine;控制性詳細(xì)規(guī)劃;版本控制
【中圖分類號(hào)】P208;TU984【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1674-0688(2016)01-0050-04
0 引言
控制性詳細(xì)規(guī)劃是引導(dǎo)和控制城鎮(zhèn)建設(shè)發(fā)展最直接的法定依據(jù),是具體落實(shí)城市、鎮(zhèn)總體規(guī)劃各項(xiàng)戰(zhàn)略部署、原則要求和規(guī)劃內(nèi)容的關(guān)鍵環(huán)節(jié),用以指導(dǎo)國(guó)有土地使用權(quán)的劃撥、出讓和開(kāi)發(fā)建設(shè)[1]。
南寧市規(guī)劃局從2005年起,就開(kāi)始了控制性詳細(xì)規(guī)劃的編制與審批,隨著控制性詳細(xì)規(guī)劃成果的不斷完善和調(diào)整,需要如實(shí)記錄并管理空間數(shù)據(jù)庫(kù)中控制性詳細(xì)規(guī)劃成果在變更、演化過(guò)程中各個(gè)階段的狀態(tài)信息,做到“編制—審批—入庫(kù)—調(diào)整再入庫(kù)”的全過(guò)程跟蹤和備案。本文結(jié)合關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(Related Database Manage System,RDBMS)、地理信息系統(tǒng)(Geographic Information System,GIS)等技術(shù),利用ArcSde與ArcEngine實(shí)現(xiàn)對(duì)控制性詳細(xì)規(guī)劃——以地塊圖元為例的版本控制,有效地維護(hù)空間的完整性和時(shí)間的連續(xù)性。
1 ArcSde與ArcEngine功能介紹
1.1 ArcSde介紹
ArcSde是Arcgis的空間數(shù)據(jù)引擎,也稱空間數(shù)據(jù)加強(qiáng),采用的是客戶/服務(wù)器體系結(jié)構(gòu)。它是存儲(chǔ)和管理RDBMS的多用戶空間數(shù)據(jù)庫(kù)。從空間數(shù)據(jù)管理的角度看,ArcSde是一個(gè)連續(xù)的空間數(shù)據(jù)模型,借助這一空間數(shù)據(jù)模型,可以實(shí)現(xiàn)用RDBMS管理空間數(shù)據(jù)庫(kù),改變了傳統(tǒng)的文件系統(tǒng)存儲(chǔ)方式,直接由空間數(shù)據(jù)庫(kù)統(tǒng)一管理,提高了數(shù)據(jù)的安全性和穩(wěn)定性。由于空間數(shù)據(jù)庫(kù)規(guī)模的擴(kuò)大、用戶數(shù)量激增及用戶需求的日益多樣性,GIS的數(shù)據(jù)處理工作流和數(shù)據(jù)共享機(jī)制需要長(zhǎng)事務(wù)的支持,以完成數(shù)據(jù)維護(hù)人員對(duì)空間數(shù)據(jù)的編輯修改和歷史數(shù)據(jù)的回放管理。
1.2 ArcEngine介紹
ArcEngine是2004年由美國(guó)ESRI公司發(fā)布的,它提供了一系列可以在ArcGISDesktop框架之外使用的GIS組件。ArcEngine的出現(xiàn)對(duì)于需要使用ArcObjects的開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)福音,因?yàn)锳rcEngine發(fā)布之前,基于ArcObjects的開(kāi)發(fā)只能在龐大的ArcGIS Desktop框架下進(jìn)行[2]。ArcEngine是獨(dú)立的嵌入式組件,它包括核心ArcObjects的功能,是對(duì)AO中的大部分接口、類等進(jìn)行封裝所構(gòu)成的嵌入式組件。
2 功能實(shí)現(xiàn)
2.1 創(chuàng)建空間數(shù)據(jù)庫(kù)
在oracle 10g中創(chuàng)建一個(gè)實(shí)例名為ghsde的空間數(shù)據(jù)庫(kù),專門用以存放城鄉(xiāng)規(guī)劃數(shù)據(jù)成果,空間數(shù)據(jù)庫(kù)中的每一張表對(duì)應(yīng)著一個(gè)要素類(feature class),如Kmkg_poly存放的是控制性詳細(xì)規(guī)劃地塊圖元的空間數(shù)據(jù)和屬性。在空間數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表是Kmkg_poly,存放的數(shù)據(jù)和features class相同。
2.2 版本注冊(cè)
在進(jìn)行地塊圖元的編輯前,在arccatalog中對(duì)Kmkg_poly進(jìn)行注冊(cè)版本register as versioned(如圖1所示),在上述基礎(chǔ)上再生成歷史版本控制enable archiving(如圖2所示),在ghsde空間數(shù)據(jù)庫(kù)中相對(duì)應(yīng)地生成一個(gè)Kmkg_poly_h的表。其中,該表中有2個(gè)時(shí)間點(diǎn)字段,gdb_from_date記錄的是對(duì)應(yīng)某條記錄的原始狀態(tài)時(shí)間,gdb_to_date記錄的是對(duì)應(yīng)某條記錄的修改狀態(tài)時(shí)間,在歷史版本回放的功能中,主要根據(jù)gdb_from_date與gdb_to_date來(lái)針對(duì)某地塊圖元進(jìn)行檢索回放。
2.3 地塊圖元的數(shù)據(jù)要求
為了實(shí)現(xiàn)控制性詳細(xì)規(guī)劃地塊圖元的版本控制,需要對(duì)地塊圖元進(jìn)行唯一標(biāo)識(shí),即每個(gè)地塊圖元賦予唯一的地塊編碼,同時(shí)該地塊編碼字段要求不可空。
2.4 在空間數(shù)據(jù)庫(kù)中的體現(xiàn)
我們以地塊編碼為DJIA-157為例,分別就歷史版本控制表kmkg_poly_h、數(shù)據(jù)添加表A表、數(shù)據(jù)刪除表Delta表進(jìn)行詳細(xì)說(shuō)明。
2.4.1 歷史版本控制表kmkg_poly_h
Select a.地塊編碼,a.土地使用性質(zhì)代碼,a.土地使用性質(zhì),a.shape.area,,a.gdb_from_date,a.gdb_to_date
from kmkg_poly_h a where a.地塊編碼 like 'DJIA-157',查詢結(jié)果見(jiàn)表1。
從表1中可以看出,地塊編碼為DJIA-157控制性詳細(xì)規(guī)劃地塊圖元從2009年9月4日到2010年7月12日期間做了2次改動(dòng),其中2010年2月22日下午16:10:17對(duì)該地塊圖元四至范圍界線進(jìn)行了修改,2010年7月12日上午11:23:33對(duì)該地塊圖元的土地使用性質(zhì)做了變更,由醫(yī)院用地調(diào)整為行政辦公用地。
當(dāng)要素類注冊(cè)版本以后,該表存儲(chǔ)新增加的記錄,由于DJIA-157被修改了2次,那么相應(yīng)的地圖操作也是做了2次數(shù)據(jù)的增加和刪除操作,利用sql語(yǔ)句對(duì)空間數(shù)據(jù)庫(kù)中的Delta表(A表\D表)查詢檢索,得出如表2、表3的結(jié)果。
2.4.2 數(shù)據(jù)添加表A表
select B.OBJECTID,b.地塊編碼,b.土地使用性質(zhì)代碼,b.土地使用性質(zhì)from a1432 b where b.地塊編碼 like 'DJIA-157';從表2可以看得出來(lái),objectid為16963和22087的記錄是不同時(shí)間點(diǎn)新增加的數(shù)據(jù)。
2.4.3 數(shù)據(jù)刪除表D表
select * from d1432 c where c.sde_deletes_
row_id in(1161,16963);從表3可以看出,objectid為1161與16963的記錄是不同時(shí)間點(diǎn)刪除的數(shù)據(jù)。
從時(shí)間點(diǎn)上來(lái)看,1161的記錄刪除與16963的記錄增加對(duì)應(yīng)著地塊邊界的修改,16963的記錄刪除和22087的記錄增加對(duì)應(yīng)著地塊用地性質(zhì)的修改。
2.5 功能的實(shí)現(xiàn)
調(diào)用kmkg_poly_h表的歷史數(shù)據(jù),具體部分代碼如下:
ipFWS:= ipWorkspace as IFeatureWorkspace;
//直接查找此記錄編輯操作的_H表
ipFWS.OpenFeatureClass(sFtrCls-
Name+'_H',ipFtrcls);
ipFtrly:= CoFeaturelayer.create as IF
eatureLayer;
ipFtrly._Set_FeatureClass(ipFtrcls);
ipFtrly.Set_ScaleSymbols(true);
ipFtrly.QueryInterface(IID_IGeoFea-
tureLayer,ipGeoFtrly0);
iplayer:= ipFtrly as ILayer;
wsQry:=m_strDkbmField+'='''+sDkbmVal-
ue+'''andGDB_FROM_DATE=to_date('''+GDBFR-
OMDATE+''',''yyyy-mm-dd hh24:mi:ss'')';
iplayer1: = TreeNodeInfoh(Node.Data)^.ipLayer;
if iplayer1<>nil then
begin
ipFeatLy: = iplayer1 as IFeaturel-
ayer;
ipFeatLy.QueryInterface(IID_IG-
eoFeatureLayer,ipGeoFtrly1);
if ipGeoFtrly1 <> nil then
ipGeoFtrly1.Get_Renderer(ip-
FeatRenderer);
//wsQry1: = ' 地塊編碼<>'''+sDkbmValue+'''';
wsQry1 := m_strDkbmField+
'<>'''+
sDkbmValue+'''';
ipFeatLy.QueryInterface(IID
_IFeatureLayerDefinition,ipFLDef1);
ipFLDef1.Set_DefinitionExpression(wsQry1);
end;
實(shí)現(xiàn)的版本控制視圖界面如圖3所示。
通過(guò)對(duì)照?qǐng)D3,我們可以很清晰地看出DJIA-157地塊圖元的歷史演變過(guò)程,如果需要對(duì)2009年9月4日的圖斑進(jìn)行重現(xiàn),直接在2009-9-4 21:22:44上點(diǎn)擊鼠標(biāo),就可以回放圖3頂端的地圖窗口,其他的時(shí)間點(diǎn)回放也是采用類似的操作。
3 結(jié)束語(yǔ)
依法制定和實(shí)施控制性詳細(xì)規(guī)劃,是城市、鎮(zhèn)政府的職責(zé),是城鄉(xiāng)規(guī)劃主管部門一項(xiàng)重要的日常法定工作,一經(jīng)批準(zhǔn),即對(duì)社會(huì)具有廣泛的約束力,任何單位和個(gè)人不經(jīng)法定程序,不得隨意修改經(jīng)批準(zhǔn)的控制性詳細(xì)規(guī)劃。從某種意義上說(shuō),實(shí)現(xiàn)控制性詳細(xì)規(guī)劃的版本控制,一是可以根據(jù)日志功能捕捉未經(jīng)批準(zhǔn)就進(jìn)行修改的惡意行為,二是可以保持?jǐn)?shù)據(jù)在空間上的完整性和時(shí)間上的延續(xù)性。
參 考 文 獻(xiàn)
[1]吳俐民,丁仁軍,馮亞飛,等.城市規(guī)劃信息化體系[M].成都:西南交通大學(xué)出版社,2010.
[2]李娜娜.基于ArcSDE的“數(shù)字城市”基礎(chǔ)地理空間數(shù)據(jù)庫(kù)的實(shí)現(xiàn)[J].科技信息,2011(8):247-248.
[3]吳志強(qiáng),周曉光.基于ArcSDE和ArcEngine的管道燃?xì)鈹?shù)據(jù)增量更新[J].地理信息世界,2014(2):78-83.
[責(zé)任編輯:陳澤琦]