OGR连接数据源读取矢量数据图层(C#)
1.OGR简介
GDAL/OGR是一个开源的空间数据转换库,其中GDAL提供对栅格数据的读写支持,OGR提供对矢量数据的读写支持。
OGR支持的数据格式:ESRI Shapefiles、S-57、SDTS、PostGIS、Oracle Spatial、Mapinfo mid/mif、Mapinfo TAB。
使用了GDAL/OGR库的GIS产品:ESRI的ArgGIS 9.2、Google Earth、GRASS GIS等。
2.通过OGR获取矢量图层
/// <summary>
/// 根据指定的数据源字符串和图层名获取Layer
/// </summary>
/// <param name="pStrOgrDataSource">数据源字符串</param>
/// <param name="pStrLayerName">图层名</param>
/// <returns>OGR的Layer对象</returns>
private Layer GetOgrLayer(string pStrOgrDataSource, string pStrLayerName)
{
try
{
Ogr.RegisterAll();
DataSource ds = Ogr.Open(pStrOgrDataSource, 0);
Layer layer = ds.GetLayerByName(pStrLayerName);
return layer;
}
catch
{
throw new Exception("打开空间数据出错");
}
}
3.关于数据源字符串
不同数据源的OGR连接字符串有所不同,下面列举几种常用的OGR连接字符串:
Shapefile:图层所在文件夹的路径,如:D:\Data
ArcSDE for Oracle:SDE:ServerName,InstanceName,DatabaseName,UserName,PassWord
如 SDE:MyServer,5151,db1,sde,pwd
Oracle Spatial:OCI:UserName/PassWord@NetServiceName
如 OCI:mdsys/pwd@orcl
浙公网安备 33010602011771号