GDAL(Geospatial Data Abstraction Library)是一個(gè)在X/MIT 許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。該項(xiàng)目由 Frank Warmerdam教授于1998年發(fā)起。它利用抽象數(shù)據(jù)模型來 表達(dá)所支持的各種文件格式。它還有一系列命令行工具來進(jìn)行 數(shù)據(jù)轉(zhuǎn)換和處理。OGR(OpenGIS Simple Features Reference Implementation)是GDAL項(xiàng)目的一個(gè)子項(xiàng)目,提供對(duì)矢量數(shù)據(jù)的 支持。一般把這兩個(gè)庫合稱為GDAL/OGR,或者簡稱為GDAL。 由于MIT協(xié)議的開放性,任何人都可以基于GDAL庫來編寫自己的 軟件而不需要原作者的授權(quán),所以有很多著名的GIS軟件都使 用了GDAL/OGR庫,包括商業(yè)公司ESRI的ArgGIS 9.2,Google的 Google Earth和開源的GRASS GIS系統(tǒng)。
GDAL/OGR支持多種操作系統(tǒng),可以同時(shí)對(duì)Linux和windows下的 地理空間數(shù)據(jù)管理系統(tǒng)提供百余種矢量和柵格文件類型的支持。GDAL/OGR使用面向?qū)ο蟮腃++語言編寫,這令該庫在支持百余種 格式的同時(shí),還具有很高的執(zhí)行效率。GDAL/OGR同時(shí)還提供多種 主流編程語言的綁定,除了C和C++語言之外,用戶還可以在Perl、python、VB6、Ruby、Java、C#等語言中調(diào)用GDAL,這令GDAL的 應(yīng)用變得非常廣泛。
下面簡要介紹GDAL/OGR的體系結(jié)構(gòu)。
1. GDAL
GDAL提供對(duì)多種柵格數(shù)據(jù)的支持,包括Arc/Info ASCII Grid(asc),GeoTiff (tiff),Erdas Imagine Images(img),ASCII DEM(dem) 等格式。 GDAL使用抽象數(shù)據(jù)模型(abstract datamodel)來解析它 所支持的數(shù)據(jù)格式,抽象數(shù)據(jù)模型包括數(shù)據(jù)集(dataset),坐標(biāo) 系統(tǒng),仿射地理坐標(biāo)轉(zhuǎn)換(Affine Geo Transform),大地控制點(diǎn),元數(shù)據(jù)(Metadata),柵格波段(Raster Band),顏色表(Color Table),子數(shù)據(jù)集域(Subdatasets Domain),圖像結(jié)構(gòu)域(Image _ Structure Domain),XML域(XML:Domains)。 GDAL包括如下幾個(gè)部分:

添加微信好友, 獲取更多信息
復(fù)制微信號(hào)
- GDALMajorObject類:帶有元數(shù)據(jù)的對(duì)象。
- GDALDdataset類:通常是從一個(gè)柵格文件中提取的相關(guān)聯(lián)的柵格 波段 *** 和這些波段的元數(shù)據(jù);GDALDdataset也負(fù)責(zé)所有柵格波 段的地理坐標(biāo)轉(zhuǎn)換(georeferencing transform)和坐標(biāo)系定義。
- GDALDriver類:文件格式驅(qū)動(dòng)類,GDAL會(huì)為每一個(gè)所支持的文件 格式創(chuàng)建一個(gè)該類的實(shí)體,來管理該文件格式。
- GDALDriverManager類:文件格式驅(qū)動(dòng)管理類,用來管理GDALDriver類。
2. OGR
OGR提供對(duì)矢量數(shù)據(jù)格式的讀寫支持,它所支持的文件格式包括: ESRI Shapefiles, S-57, SDTS, PostGIS,Oracle Spatial,Mapinfo mid/mif , Mapinfo TAB。 OGR包括如下幾部分:
- Geometry:類Geometry (包括OGRGeometry等類)封裝了 OpenGIS的矢量數(shù)據(jù)模型,并提供了一些幾何操作,WKB (Well Knows Binary)和WKT(Well Known Text)格式之間的 相互轉(zhuǎn)換,以及空間參考系統(tǒng)(投影)。
- Spatial Reference:類OGRSpatialReference封裝了投影和 基準(zhǔn)面的定義。
- Feature:類OGRFeature封裝了一個(gè)完整feature的定義,一個(gè) 完整的feature包括一個(gè)geometry和geometry的一系列屬性。
- Feature Definition:類OGRFeatureDefn里面封裝了feature的 屬性,類型、名稱及其默認(rèn)的空間參考系統(tǒng)等。一個(gè)OGRFeatureDefn 對(duì)象通常與一個(gè)層(layer)對(duì)應(yīng)。
- Layer:類OGRLayer是一個(gè)抽象基類,表示數(shù)據(jù)源類 OGRDataSource里面的一層要素(feature)。
- Data Source:類OGRDataSource是一個(gè)抽象基類,表示含有 OGRLayer對(duì)象的一個(gè)文件或一個(gè)數(shù)據(jù)庫。
- Drivers:類OGRSFDriver對(duì)應(yīng)于每一個(gè)所支持的矢量文件格式。 類OGRSFDriver由類OGRSFDriverRegistrar來注冊(cè)和管理。
來源:開源地理空間基金會(huì)中文分會(huì)
來源鏈接:https://www.osgeo.cn/post/7143g
本站聲明:網(wǎng)站內(nèi)容來源于 *** ,如有侵權(quán),請(qǐng)聯(lián)系我們,我們將及時(shí)處理。