竇長娥, 劉建紅
(淮海工學(xué)院 測繪工程學(xué)院, 江蘇 連云港 222005)
海洋的開發(fā)、利用和保護已成為當(dāng)今全球的熱點[1-2], 為了更好地開發(fā)利用海洋資源, 保護環(huán)境, 科學(xué)合理地使用海域, 開發(fā)利用豐富的海洋資源是未來經(jīng)濟、社會發(fā)展的一個新領(lǐng)域。而海洋信息是開發(fā)海洋和建設(shè)海洋的基礎(chǔ), 為了更好地開發(fā)利用海洋, 必須掌握和管理海洋信息。李巧稚等[3]利用GIS技術(shù)對海洋功能區(qū)劃管理信息系統(tǒng)框架進行研究。肖桂榮等[4]利用對象組件技術(shù)和網(wǎng)絡(luò)共享技術(shù)建立海洋功能區(qū)劃WebGIS系統(tǒng), 實現(xiàn)區(qū)劃信息的共建共享和網(wǎng)上公示。鄔群勇等[5]以福建省海洋功能區(qū)劃管理信息系統(tǒng)的建設(shè)為例, 對系統(tǒng)的總體結(jié)構(gòu)、功能、數(shù)據(jù)庫和系統(tǒng)集成等方面進行了探討。滕駿華等[6]結(jié)合網(wǎng)絡(luò)GIS集成技術(shù), 建立了基于網(wǎng)絡(luò)GIS的海洋功能區(qū)劃管理信息系統(tǒng), 并對海洋功能區(qū)劃管理信息系統(tǒng)的三層結(jié)構(gòu)框架和系統(tǒng)研制的關(guān)鍵性技術(shù)進行了研究。李曉等[7]利用MapX組件結(jié)合Visual Basic語言進行專題地理信息系統(tǒng)二次開發(fā), 建立海洋功能區(qū)劃管理信息系統(tǒng)。游建勝[8]闡述了海洋功能區(qū)劃論——兼論福建省海洋資源環(huán)境及海洋功能區(qū)劃。曹可[9]對海洋功能區(qū)劃的基本理論與實證進行研究。針對連云港市大比例尺海洋功能區(qū)劃多源海量數(shù)據(jù)的特點, 開發(fā)海量空間數(shù)據(jù)綜合信息平臺“連云港市海洋功能區(qū)劃信息系統(tǒng)”, 是響應(yīng)“國家海洋功能區(qū)劃管理信息系統(tǒng)”的建設(shè)。本文基于已有成果采用的開發(fā)方法, 利用軟件工程思想和地理信息系統(tǒng)相關(guān)軟件, 以Embarcadero RAD Studio XE2為開發(fā)環(huán)境, 采用Delphi語言, 結(jié)合ArcGIS Engine提供的接口和方法進行程序設(shè)計, 完成基于ArcGIS Engine連云港海洋功能區(qū)劃信息系統(tǒng)的設(shè)計, 實現(xiàn)對連云港市海洋功能區(qū)劃信息的可視化管理和查詢, 系統(tǒng)采用面向?qū)ο蠓椒ê徒M件技術(shù)進行開發(fā), 能夠提高系統(tǒng)的開發(fā)效率, 給用戶提供高效直觀的信息, 更好地利用連云港市的海洋功能區(qū)劃數(shù)據(jù), 提高海洋開發(fā)的合理性和海洋管理的科學(xué)性, 實現(xiàn)區(qū)劃數(shù)據(jù)的動態(tài)管理和信息共享。
連云港市是江蘇省管轄地級市, 位于江蘇省東北部, 東西長129 km, 南北寬約132 km, 土地總面積7 444 km2, 島嶼陸域面積6.22 km2。連云港市海岸南起與鹽城交界的灌河口, 北至蘇魯交界的繡針河口, 大陸標(biāo)準(zhǔn)海岸線長176.5 km, 其中贛榆縣標(biāo)準(zhǔn)岸線46.4 km, 灌云縣21 km, 市區(qū)109.1 km, 有江蘇唯一的基巖港灣海岸40 km和僅有的砂質(zhì)海岸 30 km。連云港市位于中國沿海的“臍部”, 區(qū)位優(yōu)勢極為突出。連云港市海洋功能區(qū)劃是按各種海洋功能區(qū)的標(biāo)準(zhǔn), 把海域劃分為不同類型的海洋功能區(qū)單元的一項開發(fā)與管理的基礎(chǔ)性工作, 根據(jù)海洋區(qū)域資源、環(huán)境、區(qū)位條件、開發(fā)現(xiàn)狀等自然屬性, 結(jié)合社會經(jīng)濟發(fā)展需求等因素, 確定各功能區(qū)域的主導(dǎo)功能和功能順序, 合理開發(fā)利用海洋資源, 保護海洋生態(tài)環(huán)境, 規(guī)范海域開發(fā)利用秩序, 實現(xiàn)全市海洋經(jīng)濟持續(xù)、協(xié)調(diào)、有序的發(fā)展。
系統(tǒng)設(shè)計開發(fā)是面向海洋管理層, 故系統(tǒng)利用ArcGIS Engine組件開發(fā), 采用C/S模式架構(gòu), 運行于局域網(wǎng)中, 具有系統(tǒng)運行速度快、易于升級, 同時具有操作方便、界面友好以及圖、文并茂等特點, 集成多源空間數(shù)據(jù)管理、應(yīng)用模型開發(fā)和輔助決策支持, 實現(xiàn)海洋功能區(qū)劃數(shù)據(jù)的管理與輔助分析功 能[5]。因此, 系統(tǒng)體系結(jié)構(gòu)從邏輯上分為三部分: 數(shù)據(jù)層、邏輯層、應(yīng)用層。系統(tǒng)數(shù)據(jù)層是整個系統(tǒng)的基礎(chǔ), 分為空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫, 為應(yīng)用層的實現(xiàn)提供數(shù)據(jù)支持。系統(tǒng)邏輯層作為中間層連接上下兩層, 并對各部分進行管理[10]。系統(tǒng)應(yīng)用層的核心是區(qū)劃圖和區(qū)劃信息的顯示, 即提供最終成果供用戶使用, 系統(tǒng)的總體結(jié)構(gòu)見圖1、流程見圖2。
圖1 系統(tǒng)總體結(jié)構(gòu)設(shè)計圖 Fig. 1 The framework diagram of the overall structure of the system
圖2 系統(tǒng)總體流程圖 Fig. 2 The overall flowchart of the system
海洋功能區(qū)劃信息系統(tǒng)是面向海洋管理者, 輔 助管理者能夠及時采集、更新、高效管理海洋功能區(qū)劃信息。就海洋功能區(qū)本身的含義來說, 是指根據(jù)海洋的自然資源條件、環(huán)境狀況和地理位置, 并考慮到海洋開發(fā)利用現(xiàn)狀和社會經(jīng)濟發(fā)展需求所劃定的, 具有特定主導(dǎo)功能, 有利于資源的合理開發(fā)利用, 能夠發(fā)揮最佳效益的區(qū)域。而海洋功能區(qū)劃, 是指依據(jù)海洋自然屬性和社會屬性, 以及自然資源和環(huán)境特定條件, 界定海洋利用的主導(dǎo)功能和使用范圍。顯然, 海洋功能區(qū)劃信息系統(tǒng)關(guān)鍵在于提供海洋功能區(qū)的空間位置、地理范圍、面積大小、使用現(xiàn)狀和管理要求等方面的信息。
從功能角度來講, 系統(tǒng)除了應(yīng)該包含基本功能以外, 還要涉及空間數(shù)據(jù)和屬性數(shù)據(jù), 需要對各類數(shù)據(jù)進行統(tǒng)一管理、查詢、調(diào)用, 包括數(shù)據(jù)入庫、元數(shù)據(jù)庫管理、數(shù)據(jù)庫還原備份、查詢分析等; 系統(tǒng)應(yīng)涵蓋海洋功能區(qū)劃的各項信息, 包括海洋功能區(qū)的區(qū)劃圖、各級代碼、名稱、地區(qū)、地理范圍、面積、使用現(xiàn)狀和管理要求等, 以便于管理者對各區(qū)進行統(tǒng)一管理和規(guī)劃, 及時更新各方面的信息; 由于系統(tǒng)用戶為海洋管理者, 因此需要完善的用戶管理功能, 各類用戶根據(jù)自身權(quán)限對相應(yīng)功能進行操作, 無法訪問未賦予權(quán)限的信息及功能, 以保證規(guī)劃數(shù)據(jù)的安全性。
根據(jù)用戶的需求, 連云港市海洋功能區(qū)劃信息系統(tǒng)功能應(yīng)能覆蓋整個連云港市海洋功能區(qū)域, 收集、整理、提取和存儲當(dāng)前連云港市海洋功能區(qū)的多源數(shù)據(jù), 構(gòu)建一個集信息查詢與管理為一體的平臺。系統(tǒng)功能模塊采用樹狀結(jié)構(gòu)分級顯示, 第一級主模塊下又分為系統(tǒng)基本功能、圖形操作功能、信息查詢分析功能和數(shù)據(jù)管理功能4個二級模塊; 二級模塊又細(xì)分為子模塊[11]。具體系統(tǒng)功能模塊(圖3)。
圖3 系統(tǒng)功能結(jié)構(gòu)示意圖 Fig. 3 The function structure diagram of the system
3.2.1 系統(tǒng)基本功能模塊
該模塊包含GIS應(yīng)用系統(tǒng)應(yīng)具備基本功能, 如地圖操作功能(放大、縮小、選擇、平移等)、文件管理功能(打開、新建、保存、打印等)、系統(tǒng)維護管理功能(登錄、退出等)。
3.2.2 圖形操作功能模塊
該模塊主要提供圖形操作功能, 圖形加載導(dǎo)入功能主要以快捷菜單的形式實現(xiàn); 圖形編輯功能以快捷菜單的形式, 實現(xiàn)查看圖層屬性表、刪除圖層、圖層上下移動等功能; 圖形整飾功能主要在布局中實現(xiàn)對地圖輸出前的簡單整飾。
3.2.3 信息查詢分析功能模塊
該模塊實現(xiàn)海洋功能區(qū)劃信息的雙向查詢功能, 既可根據(jù)圖形查詢到對應(yīng)的屬性信息, 也可根據(jù)一些屬性限制查詢到對應(yīng)的圖形、斑塊。而疊置分析功能實現(xiàn)功能疊置區(qū)的分析, 以便用戶深入了解該區(qū)域的用途。緩沖區(qū)分析實現(xiàn)功能區(qū)周圍環(huán)境影響的分析, 使海洋管理者采取更加合理的措施, 保護好海洋環(huán)境。
3.2.4 數(shù)據(jù)管理模塊
該系統(tǒng)包含空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫, 二者集成共享操作均通過數(shù)據(jù)庫操作模塊實現(xiàn)??臻g數(shù)據(jù)和屬性數(shù)據(jù)入庫及數(shù)據(jù)庫更新操作, 為數(shù)據(jù)庫提供多源數(shù)據(jù)調(diào)用基礎(chǔ); 元數(shù)據(jù)庫操作, 主要對屬性數(shù)據(jù)庫信息(名稱、表單、字段)進行修改或刪除, 使屬性數(shù)據(jù)庫保持準(zhǔn)確性。
3.3.1 空間數(shù)據(jù)庫設(shè)計
系統(tǒng)空間數(shù)據(jù)有柵格數(shù)據(jù)和矢量數(shù)據(jù)兩種, 表現(xiàn)為海洋功能區(qū)劃中多種功能區(qū)要素類的集合及基礎(chǔ)區(qū)劃圖, 采用Geodatabase空間數(shù)據(jù)模型對數(shù)據(jù)進行組織和管理, 該模型是一種面向?qū)ο髷?shù)據(jù)模型[12-13], 它支持在標(biāo)準(zhǔn)DBMS中存儲和管理地理信息, 可應(yīng)用于多種DBMS結(jié)構(gòu)和多用戶訪問, 且大小可伸縮。系統(tǒng)根據(jù)連云港市海洋功能區(qū)的劃分, 共建立9個圖層(圖4)。系統(tǒng)海洋功能區(qū)劃柵格數(shù)據(jù)主要來自于 江蘇省海洋功能1∶100萬區(qū)劃圖中的連云港市圖幅。首先在ArcMap中選擇特征明顯的12個控制點, 根據(jù)圖上經(jīng)緯度坐標(biāo), 將其轉(zhuǎn)化為大地坐標(biāo), 調(diào)用Georeferencing, 完成對該圖的配準(zhǔn); 然后依次進行每個圖層的矢量化和符號化, 對圖層要素增加相應(yīng)的屬性字段。
圖4 空間數(shù)據(jù)庫結(jié)構(gòu)圖 Fig. 4 The spatial database structure diagram
3.3.2 屬性數(shù)據(jù)庫設(shè)計
屬性數(shù)據(jù)來源于江蘇省海洋功能區(qū)登記表, 從中選擇連云港市海洋功能區(qū)的信息, 數(shù)據(jù)內(nèi)容主要包括海洋功能區(qū)的二級類代碼和名稱、地區(qū)、地理范圍、面積、使用現(xiàn)狀和管理要求, 這些數(shù)據(jù)的準(zhǔn)備將為系統(tǒng)的查詢功能提供后臺支持,將數(shù)據(jù)存儲到InterBase數(shù)據(jù)庫中。而基于Delphi的開發(fā)環(huán)境, 用InterBase自帶的IBX控件, 采用TIBDatabase. databasename方法直接連接到LYG.GDB, 使用方便且開發(fā)、維護費用低, 數(shù)據(jù)庫中的設(shè)計表結(jié)構(gòu)見表1。
表1 連云港市海洋功能區(qū)屬性表結(jié)構(gòu) Tab. 1 The attribute table structure of Lianyungang marine functional zonation
系統(tǒng)主界面, 包括菜單欄、制圖工具欄、鷹眼圖、狀態(tài)欄、地圖管理、查詢、分析、圖形顯示、布局、屬性和數(shù)據(jù)管理等窗口。系統(tǒng)主界面是整個系統(tǒng)的核心, 通過它用戶能夠?qū)崿F(xiàn)系統(tǒng)包含的所有功能(圖5), 具體功能的實現(xiàn)用到了 MapControl控件、TOCControl控件、PageLayoutControl控件和SaveDialog控件等。
圖5 系統(tǒng)主界面 Fig. 5 The main interface of the system
基本操作功能主要包括菜單欄、快捷菜單和工具欄。其中, 菜單欄包括文件、視圖、工具、系統(tǒng) 管理和幫助等, 實現(xiàn)圖形的輸出、視圖和工具窗口的切換顯示、系統(tǒng)幫助文檔等; 快捷菜單主要運行于圖形顯示窗口, 包括對地圖的選擇、平移、放大、縮小和全屏等功能, 便于用戶操作; 工具欄為地圖顯示窗口和布局窗口提供基本操作功能, 使用戶對系統(tǒng)的操作更加直觀便利; 具體實現(xiàn)利用LoadMxFile, LoadDwgFile, CoControlsSaveAsDocCommand, ExportMapToFile, RzPageControl1. ActivePage, ataModule1.ClientDataSet.open等方法實現(xiàn)加載文件、保存、輸出和視圖布局、屬性等功能。
地圖操作模塊包括圖形管理窗口和圖形整飾窗口。圖形管理窗口包括圖層加載和編輯功能, 圖層操作相關(guān)功能都以快捷菜單形式實現(xiàn), 主要包括加載圖層、圖層上移、圖層下移、移除圖層和查看屬性等, 可實現(xiàn)對圖層的不同操作, 以達(dá)到用戶的需求。圖形整飾窗口通過基本布局工具欄和快捷菜單實現(xiàn)為地圖添加指北針、圖例和比例尺等(圖6), 具體實現(xiàn)方法是: CoControlsSelectFeaturesTool.Create, CoControlsMap-PanTool.Create, CoControlsMapZoominFixedCommand. Create, CoControlsMapZoomoutFixedCommand.Create, Mapcontrol1.ActiveView. FullExtent實現(xiàn)圖形管理的選擇、平移、放大、縮小、全圖等功能, 而通過AddShape- File, MoveLayer, DeleteLayer和RzStringGrid1.Cells[I,J]實現(xiàn)圖層的添加、上下移動、刪除和查看屬性等功能, 而Insert Legend, InsertNorthArrow, InsertScaler等方法實現(xiàn)添加圖例、指北針、比例尺等功能。
圖6 地圖整飾圖 Fig. 6 Map decoration
數(shù)據(jù)查詢模塊依賴于空間數(shù)據(jù)和屬性數(shù)據(jù), 通過關(guān)鍵字段的聯(lián)接, 實現(xiàn)海洋功能區(qū)劃信息的雙向查詢功能, 即根據(jù)圖形查詢到其對應(yīng)的屬性信息, 同樣根據(jù)一些屬性限制查詢到其對應(yīng)的空間圖形、斑塊。示例查詢(圖7), 即通過函數(shù) GetFieldInfo ByLayer來實現(xiàn), 具體實現(xiàn)代碼是:
function GetFieldInfoByLayer(pLayer: ILayer; out FieldName:TStringList; out FieldType:TStringList): Boolean;
var
i: Integer;
pLayerFields: ILayerFields;
begin
pLayerFields := pLayer as ILayerFields;
FieldName.Clear;
FieldType.Clear;
for i := 0 to pLayerFields.FieldCount - 1 do
begin FieldName.Add(pLayerFields.Field[i]. AliasName);
FieldType.Add(GetFieldType(pLayerFields.
Field[i].type_));
end;
Result := True;
end;
而通過屬性查詢圖形用到的函數(shù)是:
SearchByPropInfo(aeMapControl:TMapControl;pLayer: ILayer;sWhere:string;out iCounts:Integer;bFlash: Boolean):IFeatureCursor。
圖7 圖形對屬性查詢 Fig. 7 The Graphics for attribute query
數(shù)據(jù)分析模塊包括疊置分析和緩沖區(qū)分析。
通過疊置分析, 使用戶清晰明了哪些區(qū)域同時包含了哪些不同的功能區(qū)(圖8), 使用BasicGeo- Processor接口進行疊置運算, 具體實現(xiàn)代碼是:
pBasicGeoprocessor:=coBasicGeoprocessor.Create as IBasicGeoprocessor;
pOutputFeatureClass:=pBasicGeoprocessor.Clip (pInputTable, False,pOverlayTable,False,0,pFeatureClassName);
圖8 疊置分析圖 Fig. 8 Overlay analysis
通過緩沖區(qū)分析, 可以實現(xiàn)對該功能區(qū)在某個范圍內(nèi)造成的影響在圖上得以直觀地展現(xiàn), 分析在該范圍內(nèi)其他功能區(qū)的相關(guān)情況, 分析到的區(qū)域則高亮顯示(圖9), 具體實現(xiàn)代碼是:
pGeometry:=GetGeometryByFeatureID(MapControl1, iLayerID,i);
pTopOprtor:=pGeometry as ITopologicalOperator;
MapControl1.FlashShape(pTopOprtor.Buffer(j), 5,1000,EmptyParam);
圖9 緩沖區(qū)分析圖 Fig. 9 Buffer analysis
該模塊實現(xiàn)對空間數(shù)據(jù)和屬性數(shù)據(jù)的管理。空間數(shù)據(jù)的入庫更新主要通過制圖工具欄對圖形要素進行操作, 如刪除、修改、新增功能區(qū)等。屬性數(shù)據(jù)的更新和元數(shù)據(jù)庫操作功能在數(shù)據(jù)管理窗口中實現(xiàn)。只有管理員登錄時, 數(shù)據(jù)管理窗口才顯示, 由此保證系統(tǒng)的安全性, 管理員可以對屬性數(shù)據(jù)進行更新、刪除、修改等(圖10), 管理員登錄的具體實現(xiàn)代碼是:
if(edt1.Text = username) and (edt2.Text = password) then begin
Form1.TabSheet4.TabVisible:=True;
Form1.RzPageControl1.ActivePage:=form1.Tab- Sheet4;
Form2.Close;
DataModule1.ClientDataSet.open; end else begin
Application.MessageBox('密碼與用戶名不符','警告',MB_OK+ MB_ICONWARNING);
end;
本文在分析各地海洋功能區(qū)劃信息系統(tǒng)研究的基礎(chǔ)上, 結(jié)合當(dāng)前海洋功能區(qū)劃數(shù)據(jù)特點和業(yè)務(wù)需求, 將ArcGIS Engine和C/S模式引入到海洋功能區(qū)劃信息系統(tǒng)中, 設(shè)計連云港海洋功能區(qū)劃信息系統(tǒng)框架和功能模塊; 構(gòu)建連云港海洋功能區(qū)劃信息空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫, 空間數(shù)據(jù)庫采用Geodatabase模型進行組織, 屬性數(shù)據(jù)庫采用InterBase數(shù)據(jù)庫進行管理, 從應(yīng)用角度為空間數(shù)據(jù)管理和信息共享提供一種可行的解決方案, 實現(xiàn)了多源異構(gòu)數(shù)據(jù)的統(tǒng)一管理和聯(lián)合調(diào)用, 最后根據(jù)系統(tǒng)框架和數(shù)據(jù)庫模型, 利用ArcGIS, ArcGIS Engine, InterBase數(shù)據(jù)庫及Delphi實現(xiàn)連云港海洋功能區(qū)劃信息系統(tǒng), 它是“數(shù)字海洋”建設(shè)的一個重要組成部分, 將納入“數(shù)字海洋”建設(shè)的總體框架之中, 為海洋的開發(fā)利用、海洋環(huán)境保護和海洋資源管理等信息化奠定技術(shù)和數(shù)據(jù)基礎(chǔ), 解決海洋利用開發(fā)和保護, 實現(xiàn)海洋資源可持續(xù)發(fā)展的有效手段。
圖10 數(shù)據(jù)管理窗口示例圖 Fig. 10 Data management window
[1] 克拉克 約翰 R. 海岸帶管理手冊[M]. 吳克勤, 楊德全,蓋明舉, 譯. 北京: 海洋出版社, 2000: 378-425.
[2] 孫洪. 論“九五”海洋科技發(fā)展的戰(zhàn)略與對策[J]. 海洋與湖沼, 1998, 29(5): 453-457.
[3] 李巧稚, 劉百橋, 林寧. 海洋功能區(qū)劃管理信息系統(tǒng)框架研究[J]. 海洋通報, 2001, 20(2): 51-56.
[4] 肖桂榮, 鄔群勇, 郭朝珍. 海洋功能區(qū)劃WebGIS的設(shè)計與實現(xiàn)[J]. 福州大學(xué)學(xué)報(自然科學(xué)版), 2002, 30(3): 319-322.
[5] 鄔群勇, 王欽敏, 肖桂榮. 海洋功能區(qū)劃管理信息系統(tǒng)[J]. 地理信息科學(xué), 2003, 1: 45-48.
[6] 滕駿華, 黃韋艮, 孫美仙. 基于網(wǎng)絡(luò)GIS的海洋功能區(qū)劃管理信息系統(tǒng)[J]. 海洋學(xué)研究, 2005, 23(2): 56-63.
[7] 李曉, 張劍鋒, 林忠, 等. 基于MapX+Visual Basic的專題地理信息系統(tǒng)二次開發(fā)——以開發(fā)海洋功能區(qū)劃管理信息系統(tǒng)為例[J]. 福州大學(xué)學(xué)報(自然科學(xué)版), 2002, 18(4): 105-109.
[8] 游建勝. 海洋功能區(qū)劃論——兼論福建省海洋資源環(huán)境及海洋功能區(qū)劃[M]. 北京: 海洋出版社, 2003.
[9] 曹可. 海洋功能區(qū)劃的基本理論與實證研究[D]. 沈陽: 遼寧師范大學(xué), 2004.
[10] 許懿娜. 基于AE的城鄉(xiāng)土地利用規(guī)劃集成信息系統(tǒng)設(shè)計與實現(xiàn)[D]. 成都: 西南交通大學(xué), 2010.
[11] 王方雄, 馬凱, 徐惠民. 基于ArcGIS Engine的海洋生態(tài)系統(tǒng)健康評價信息系統(tǒng)研究[J]. 海洋開發(fā)與管理, 2010, 5(27): 14-16.
[12] 劉斌. 空間數(shù)據(jù)管理淺析[J]. 測繪通報, 2006, 12(9): 57-59.
[13] 陳毅龍. 基于Geodatabase的土地利用規(guī)劃數(shù)據(jù)庫的設(shè)計與實現(xiàn)[J]. 徐州工程學(xué)院學(xué)報(自然科學(xué)版), 2009, 24(2): 66-71.