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

posted on 2010-10-18 15:30  Hexy  阅读(1817)  评论(0编辑  收藏  举报

导航