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

?

基于 GDAL 開源庫的流域地貌特征提取

2018-01-02 08:30:20胡友兵王秀慶闞光遠(yuǎn)趙夢杰
水利信息化 2017年6期
關(guān)鍵詞:水文學(xué)空間數(shù)據(jù)柵格

胡友兵 ,王秀慶 ,闞光遠(yuǎn) ,蘇 翠 ,趙夢杰

(1. 淮河水利委員會水文局(信息中心),安徽 蚌埠 233001;2. 淮河水利委員會沂沭泗水利管理局,江蘇 徐州 221009;3. 中國水利水電科學(xué)研究院防洪抗旱減災(zāi)研究所,北京 100038)

基于 GDAL 開源庫的流域地貌特征提取

胡友兵1,王秀慶2,闞光遠(yuǎn)3,蘇 翠1,趙夢杰1

(1. 淮河水利委員會水文局(信息中心),安徽 蚌埠 233001;2. 淮河水利委員會沂沭泗水利管理局,江蘇 徐州 221009;3. 中國水利水電科學(xué)研究院防洪抗旱減災(zāi)研究所,北京 100038)

GDAL 是一個在 X/MT 許可協(xié)議下讀寫柵格、矢量空間數(shù)據(jù)的開源庫,針對水文學(xué)上流域地貌特征提取研究中與柵格、矢量數(shù)據(jù)的頻繁交互,引入 GDAL 地理空間開源庫。分析 GDAL 模型庫結(jié)構(gòu),空間數(shù)據(jù)打開、讀寫及轉(zhuǎn)換等數(shù)據(jù)交互常用接口,在底層將上述接口與地貌參數(shù)提取算法無縫耦合。在 .Net 平臺上,利用輕型SharpMap 開源空間數(shù)據(jù)渲染控件作為顯示窗體,開發(fā)獨(dú)立地貌參數(shù)提取應(yīng)用程序;在 ArcGIS 平臺上通過 ArcPy腳本語言包搭建地貌參數(shù)提取工具箱,通過圖解建模工具可以將其中的工具與 ArcGIS 相關(guān)工具進(jìn)行組合,構(gòu)建一鍵地貌提取模型,為流域地貌特征的提取計(jì)算提供一條簡便實(shí)用的技術(shù)路徑。

GDAL;開源庫;流域;地貌特征;應(yīng)用程序;插件

0 引言

在水文學(xué)的發(fā)展進(jìn)程中,流域地貌特征研究是一條貫穿始終的生命線[1]。為定量表征流域水文響應(yīng)規(guī)律,水文學(xué)上先后提出了大量的流域地貌參數(shù),如在水系拓?fù)涮卣餮芯恐刑岢龅?Strahler 和Sherve 2 種分級為代表的河流分級數(shù),流域形狀特征研究中提出的流域面積、長度、寬度、伸長比[2],及半分布式水文模型 TOPMODEL 中使用的地形指數(shù)等[3]。水文學(xué)產(chǎn)匯流規(guī)律模型均直接或間接地反映流域地貌規(guī)律,如地貌瞬時(shí)單位線理論[4],新安江模型中流域概化方式及反映地貌特征的蓄水容量、消退系數(shù)等參數(shù)[5],水文相似理論更是將流域幾何結(jié)構(gòu)作為重要判別指標(biāo)[6]。因此,流域地貌特征提取計(jì)算,是水文學(xué)研究中的一項(xiàng)重要的基礎(chǔ)工作。

近年來,隨著計(jì)算機(jī)、3S 技術(shù)的發(fā)展,SRTM(航天飛機(jī)雷達(dá)地形測繪使命)及 ASTER GDEM(先進(jìn)星載熱發(fā)射和反射輻射儀全球數(shù)字高程模型)高精度免費(fèi)數(shù)據(jù)產(chǎn)品不斷涌現(xiàn),基于 DEM 的水文分析方法逐漸成為水文學(xué)研究的熱點(diǎn)[7-9]。為便于流域地貌提取計(jì)算,地理學(xué)軟件中均提供水文分析模塊,如 ArcGIS 中水文分析模塊、Archydrotools和 Rivertools 等[10-11]。由于流域地貌參數(shù)種類繁多,這些軟件均難以全面覆蓋,為此引入 GDAL(Geospatial Data Abstraction Library)地理空間開源庫中豐富靈活的空間數(shù)據(jù)讀取、轉(zhuǎn)換等操作接口,將流域地貌參數(shù)提取算法和用戶層的可視化空間圖形文件進(jìn)行無縫耦合,提出一套實(shí)用可行的流域地貌參數(shù)提取的技術(shù)路徑。

1 GDAL 地理空間開源庫介紹

GDAL 最初由加拿大 Frank Warmerdam 開發(fā)[12],在 GDAL1.3.2 版本之后,正式由開源空間信息基金會 OSGeo(Open Source Geospatial Foundation)下的 GDAL/OGR 項(xiàng)目管理委員會對其進(jìn)行維護(hù)升級。GDAL 是一個獨(dú)立專業(yè)開源庫,是一個在 X/MT 許可協(xié)議下讀寫空間數(shù)據(jù)(包括柵格和矢量數(shù)據(jù))的轉(zhuǎn)換庫,利用一套柵格/矢量抽象數(shù)據(jù)模型表達(dá)所支持的各種文件格式。GDAL 中對矢量數(shù)據(jù)讀寫支持由 OGR(OGR Simple Features Library)庫支持。很多著名的 GIS 類產(chǎn)品都使用該庫,包括 ESRI 的ArcGIS 系列,Erdas,Google Earth,以及跨平臺的GRASS GIS 和 Quantumn GIS 系統(tǒng)等。

GDAL 支持的空間數(shù)據(jù)類型多達(dá)上百種,支持的柵格數(shù)據(jù)格式有 GeoTIFF,Erdas Imagine,Arc/Info ASCII Grid,ASCII dem 等,支持的矢量數(shù)據(jù)格式有 ESRI(Shapef i le,ArcSDE 及 FileGDM),MapInfo(tab,mid 及 mif),GML,KML 和 PostGIS 等。

G D A L 使用的抽象數(shù)據(jù)模型有數(shù)據(jù)集(Dataset)、坐標(biāo)系統(tǒng)(Coordinate System)、仿射地理坐標(biāo)變換(Affine GeoTransform)、大地控制點(diǎn)(GCPs)、元數(shù)據(jù)(Metadata)、顏色表(Color Table)、柵格波段(Raster Band)、子數(shù)據(jù)集域(Subdatasets Domain)、圖像結(jié)構(gòu)域(Image Structure Domain)、XML 域(XML Domains)、RPC 域(RPC Domain)及快視圖(Overviews)[13]。

GDAL 中的類均是從 GDALMajorObject 派生的,核心類體系結(jié)構(gòu)如圖 1 所示,其中最常用的是GDALDataset 和 GDALRasterBand。

圖 1 GDAL 核心類體系

OGR 中所有的類都是以 OpenGIS 提供的簡單要素 API 為藍(lán)本實(shí)習(xí)的,由 OGRGeometry(封裝幾何對象)、OGRSpatialReference(封裝空間參考)、OGRFeature(封裝幾何要素)、OGRFeatureDefn(封裝集合要素類定義)、OGRLayer(封裝圖層)、OGRDataSource(封裝數(shù)據(jù)源)及 OGRSFDriver(封裝矢量格式驅(qū)動)七大類組成。

2 GDAL 在流域地貌參數(shù)提取中的接口

GDAL 作為一套優(yōu)秀的開源庫,提供了一系列規(guī)范的調(diào)用接口,包括讀取、存儲、轉(zhuǎn)換、柵格處理、矢量柵格轉(zhuǎn)化、圖像校正等,可供各專業(yè)研究人員使用熟悉的開發(fā)語言進(jìn)行調(diào)用。

2.1 地理數(shù)據(jù)打開接口

使用 GDAL 打開地理空間數(shù)據(jù)之前均需要注冊驅(qū)動,即針對 GDAL 支持的數(shù)據(jù)格式,對柵格和矢量數(shù)據(jù)可分別調(diào)用 OGRRegisterAll ( ) 和GDALAllRegister ( ) 函數(shù)實(shí)現(xiàn)。在獲取驅(qū)動之后,使用 OGRSFDriver 和 GDALDriver 類提供的函數(shù)創(chuàng)建相應(yīng)的數(shù)據(jù)集(OGRDataSoure/GDALDataset)對象,最后利用數(shù)據(jù)集對象進(jìn)行數(shù)據(jù)的讀寫和地理參數(shù)設(shè)置。

2.2 數(shù)據(jù)信息讀取接口

在得到矢量數(shù)據(jù)集(OGRDataSource)對象后,使用該對象提供的 GetLayer ( ) 方法得到圖層對象,對圖層的 GetNextFeature ( ) 方法進(jìn)行遍歷即可得到圖層中的所有要素。GDAL 讀寫柵格圖像函數(shù)由GDALDataset 的 RasterIO ( ) 接口實(shí)現(xiàn),該接口的聲明為:CPLErr RasterIO(GDALRWFlag eRWFlag, int nXoff, int nYoff, int nXSize, int nYSize, void* pData, int nBufXSize, int nBufYSize, GDALDataType eBufType,int nBandCount, int* panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace)。

該接口中,第 1 個參數(shù)表示讀取或?qū)懭氩僮?,?2 和 3 個參數(shù)表示讀寫圖像的起始行列位置,第 4和 5 個參數(shù)表示讀寫圖像的行列數(shù)目,第 6 個參數(shù)是指向讀寫數(shù)據(jù)對象的指針,第 7 和 8 個參數(shù)是讀寫數(shù)據(jù)過程中緩沖區(qū)大小,第 9~11 個參數(shù)用于存取的內(nèi)存數(shù)據(jù)的排列順序。

2.3 柵格轉(zhuǎn)矢量接口

GDAL 庫中柵格轉(zhuǎn)矢量由接口 GDALPolygonize( ) 實(shí)現(xiàn),聲明為:CPLErr GDALPolygonize(GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, OGRLayerH hOutLayer, int pPixValField,char** papszOption, GDALProgressFunc pfnProgress,void* pProgressArg)。

該接口中,第 1 個參數(shù)為輸入柵格波段對象,第 2 個參數(shù)為輸入柵格掩碼波段,第 3 個為輸出矢量文件圖層,第 4 個為矢量圖層中保存像元值的字段序號,第 5 個參數(shù)為轉(zhuǎn)化算法,一般為“8CONNECTED”,第 6 和 7 個參數(shù)為顯示計(jì)算進(jìn)度的回調(diào)函數(shù)。

3 GDAL 在地貌參數(shù)提取中的應(yīng)用

采用 GDAL 中豐富的數(shù)據(jù)信息讀取接口,將地理空間數(shù)據(jù)轉(zhuǎn)換為地貌參數(shù)提取算法層需求的內(nèi)存數(shù)組,再將算法層計(jì)算的結(jié)果數(shù)組轉(zhuǎn)換為用戶層需求的可視化圖形文件,即可實(shí)現(xiàn)數(shù)據(jù)層、算法層和用戶層的無縫耦合,結(jié)構(gòu)圖如圖 2 所示。采取獨(dú)立應(yīng)用程序和商用軟件內(nèi)嵌工具箱 2 種開發(fā)方式,搭建可視化流域地貌參數(shù)提取軟件。

圖 2 流域地貌參數(shù)提取軟件結(jié)構(gòu)圖

3.1 獨(dú)立應(yīng)用程序

在 .Net 2.0 平臺上,采用輕型 SharpMap 開源空間數(shù)據(jù)渲染控件作為顯示窗體,開發(fā)了一套獨(dú)立性的流域地貌特征提取軟件。主要有空間數(shù)據(jù)文件加載,地形和水文分析等功能。地形分析功能實(shí)現(xiàn)了基于 DEM 數(shù)據(jù)的坡度、坡向及地形陰影計(jì)算,水文分析功能實(shí)現(xiàn)了洼地處理、流向計(jì)算、水系提取、河道分級。

圖 3 流域地貌參數(shù)提取應(yīng)用程序示意圖

該軟件以經(jīng)典的圖形對話框的形式與用戶進(jìn)行交互,典型輸入界面及計(jì)算結(jié)果如圖 3 所示。地貌提取結(jié)果利用 GDAL 柵格生成工具直接轉(zhuǎn)換為影像格式,如圖 4 a 和 b 所示,可形象直觀地查看計(jì)算結(jié)果,同時(shí)對于需求的地貌統(tǒng)計(jì)特征,系統(tǒng)計(jì)算完成后按文本文件的方式輸出,如圖 4 c 所示。

圖 4 典型地貌提取計(jì)算成果

3.2 插件機(jī)制

插件是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來的應(yīng)用程序,目前很多成熟軟件均支持插件開發(fā)機(jī)制,ArcGIS 作為一套可伸縮全面的 GIS 平臺,支持多種插件開發(fā)機(jī)制。在 10.1 版本中對傳統(tǒng) Python 腳本進(jìn)行再封裝構(gòu)建 ArcPy 腳本包,能夠以更加實(shí)用高效的方式通過 Python 執(zhí)行地理數(shù)據(jù)分析、轉(zhuǎn)換、管理等功能[14]。

通過 ArcPy 腳本語言編寫 ArcGIS 地貌參數(shù)提取工具箱 HuDEM,如圖 5 所示,同時(shí),利用 ArcGIS平臺中的圖解建模工具,將 ArcGIS 中已有的相關(guān)工具與地貌參數(shù)提取工具耦合,即可實(shí)現(xiàn)流域地貌信息提取的一鍵計(jì)算。

圖 5 ArcGIS 平臺插件機(jī)制流域地貌提取工具箱

流域數(shù)字化及地貌特征提取工具界面友好,使用簡便,實(shí)現(xiàn)了提取流域信息時(shí)的可視化計(jì)算。編制完成后,已經(jīng)在河南、安徽等省多個中小流域得到實(shí)例驗(yàn)證,均取得良好的應(yīng)用效果。同時(shí)利用地貌特征提取工具可為流域水文模型的應(yīng)用提供技術(shù)支撐。

3.3 應(yīng)用效果

近年來,中小河流因降雨引發(fā)的洪水災(zāi)害問題日益突出,且大多位于資料短缺的山丘區(qū),洪水具有突發(fā)性強(qiáng),匯流時(shí)間快,預(yù)見期短及分布廣等特點(diǎn)。為做好中小河流洪水預(yù)警工作,可行的路徑是通過判斷流域間的相似性規(guī)律,將有資料地區(qū)預(yù)報(bào)方法移用于中小河流地區(qū)。采用本研究建立的地貌參數(shù)提取軟件,對流域間的地貌特征進(jìn)行計(jì)算,并統(tǒng)計(jì)地形指數(shù)頻率分布特征進(jìn)行相似流域判斷。目前已完成河南省丹江流域軍馬河和江蘇省洪澤湖周邊維橋等小流域共 20 多個中小河流地區(qū)水文預(yù)報(bào)方案建設(shè),為無資料地區(qū)洪水預(yù)警提供了重要參考。

4 結(jié)語

通過分析 GDAL 開源庫中豐富靈活的數(shù)據(jù)操作接口,構(gòu)建對地理空間數(shù)據(jù)進(jìn)行直接讀寫、轉(zhuǎn)換的技術(shù)方法,實(shí)現(xiàn)了流域地貌參數(shù)提取算法層和可視化應(yīng)用層的無縫拼接。在 .Net 平臺上利用輕型SharpMap 渲染控件,開發(fā)了輕型可視化獨(dú)立應(yīng)用程序;在 ArcGIS 平臺上利用 ArcPy 腳本搭建了專業(yè)工具箱,并在無資料地區(qū)洪水預(yù)警中進(jìn)行應(yīng)用,完成了 20 多個中小河流地區(qū)水文預(yù)報(bào)方案建設(shè)。

流域地貌特征是水文學(xué)中貫穿始終的一條生命線,構(gòu)建一套簡便靈活的地貌特征提取技術(shù)方法,將水文學(xué)的理論方法應(yīng)用于生產(chǎn)實(shí)踐,對水文學(xué)發(fā)展具有重要意義。下一步將針對不同水文學(xué)模型的流域概化特點(diǎn),豐富地貌特征計(jì)算內(nèi)容,為水文學(xué)方法應(yīng)用提供方便。并在此基礎(chǔ)上,對模型變量與地貌特征進(jìn)行分析統(tǒng)計(jì),為無資料地區(qū)不同水文方法應(yīng)用提供技術(shù)途徑。

[1] 芮孝芳. 水文學(xué)原理[M]. 北京:中國水利水電出版社,2004: 18-43.

[2] 錢寧,張仁,周志德. 河床演變學(xué)[M]. 北京:科學(xué)出版社,1987: 1-30.

[3] BEVEN K J, KIRKBY M J. A physically based variable contributing area model of basin hydrology[J]. Hydrological Sciences Bulletin, 1970,24 (1): 43-69.

[4] 芮孝芳. 地貌瞬時(shí)單位線研究進(jìn)展[J]. 水科學(xué)進(jìn)展,1999,10 (3): 345-350.

[5] 何虹,夏達(dá)忠,甘郝新. 基于 MODIS 的水文特征指標(biāo)提取與應(yīng)用研究[J]. 水利信息化,2011 (4): 4-8.

[6] 劉金濤,宋慧卿,王愛花. 水文相似概念與理論發(fā)展探析[J]. 水科學(xué)進(jìn)展,2014,25 (2): 288-296.

[7] 張朝忙,劉慶生,劉高煥,等. SRTM3 與 ASTER GDEM數(shù)據(jù)處理及應(yīng)用進(jìn)展[J]. 地理與地理信息科學(xué),2012,28 (5):29-34.

[8] 鐘永,杜文印. 河道數(shù)字化關(guān)鍵技術(shù)研究及應(yīng)用[J]. 水利信息化,2015 (5): 17-21.

[9] 湯翠蓮,范青松,劉瑩. 一種保持地貌特征的數(shù)字高程模型生成方法[J]. 人民長江,2007,38 (10): 23-25.

[10] 李俊超,馬倩,陶均. 基于 ArcGIS 的水文流域分析及應(yīng)用[J]. 地理空間信息,2012,10 (6): 121-123.

[11] 李春紅,任立良,達(dá)衛(wèi)特,等. 數(shù)字水系構(gòu)建方法淺析[J]. 水文,2002,22 (6): 1-4.

[12] FRANK W. GDAL-Geospatial Data Abstraction Library[EB/OL]. [2017-05-05]. http://www. gdal.org/.

[13] 李民錄. GDAL 源碼剖析與開發(fā)指南[M]. 北京:人民郵電出版社,2014: 221-297.

[14] 余詠生,彭艷麗,尹言軍,等. 基于 Arcpy 的影像地圖自動處理技術(shù)研究[J]. 測繪通報(bào),2015 (3): 82-85.

Watershed geomorphic feature extraction based on open source library GDAL

HU Youbing1, WANG Xiuqing2, KAN Guangyuan3, SU Cui1, ZHAO Mengjie1
(1. Hydrologic Bureau (information center), the Huai River Resources Commission, Bengbu 233001, China;2. Management of Water Conservancy, Yi-Shu-Si, the Huai River Resources Commission, Xuzhou 221009, China;3. Research Center on Flood and Drought Disaster Reduction, China Institute of Water Resources and Hydropower Research, Beijing 100038, China)

GDAL is an open source library for raster and vector geospatial data under an X/MIT license. Against on frequent interaction between geographical raster and vector data in watershed geomorphology extraction of hydrology,the GDAL geospatial open source library is introduced. It analyzes on the model structure of GDAL and some common use interface like geospatial data open, read, write and data convert. Geomorphic parameter extraction algorithm seamlessly couples with the interface at the bottom. An independent application program is developed on .Net platform that use light SharpMap open source spatial data rendering control as a display window. A profession toolbox on ArcGIS platform with ArcPy scripting language packages for geomorphology parameter extraction is established, by combining it with other related tools through the graphical modeling tool. The one key geomorphology extraction model is built. It provides a practical technical path for geomorphology parameter extraction.

GDAL; open source library; watershed; geomorphic feature; application program; plugin

TP274;P931

A

1674-9405(2017)06-0041-05

10.19364/j.1674-9405.2017.06.008

2017-05-22

國家重點(diǎn)研發(fā)計(jì)劃(2016YFC0402703);水利部公益性行業(yè)科研專項(xiàng)經(jīng)費(fèi)(201401027,201501007)

胡友兵(1986-),男,安徽池州人,博士,工程師,主要從事水文學(xué)及水利信息化方面工作。

猜你喜歡
水文學(xué)空間數(shù)據(jù)柵格
中文水文學(xué)溯源及傳播
基于鄰域柵格篩選的點(diǎn)云邊緣點(diǎn)提取方法*
簡述現(xiàn)代水文學(xué)的現(xiàn)狀及展望
元數(shù)據(jù)驅(qū)動的多中心空間數(shù)據(jù)同步方法研究
涇河中游龍山文化晚期特大洪水水文學(xué)研究
不同剖面形狀的柵格壁對柵格翼氣動特性的影響
基于CVT排布的非周期柵格密度加權(quán)陣設(shè)計(jì)
青島冬暖的氣象水文學(xué)解讀及成因分析
海岸工程(2014年2期)2014-02-27 12:50:53
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
動態(tài)柵格劃分的光線追蹤場景繪制
宝坻区| 堆龙德庆县| 犍为县| 白水县| 毕节市| 西平县| 孙吴县| 疏勒县| 新干县| 昌宁县| 兰州市| 南开区| 霍林郭勒市| 龙山县| 石渠县| 辛集市| 商都县| 正定县| 景泰县| 石屏县| 丰顺县| 南城县| 廊坊市| 西昌市| 广德县| 承德市| 工布江达县| 西和县| 宾阳县| 肇东市| 六枝特区| 确山县| 印江| 东至县| 中宁县| 嘉兴市| 和静县| 鹤岗市| 东山县| 荥阳市| 汝阳县|