本文收录了一些关于矢量的操作。目前认为GDAL仅只支持GDB中图层的读取,而不支持写入和修改,所以不建议采用GDAL对GDB进行处理,如果需要创建GDB、创建图层、写入数据,可以尝试FileGDB的方式。希望能对大家有所帮助。
(1)获取Shapefile矢量图层
public static Layer GetLayer(string fileShpPath)
{
OSGeo.OGR.Driver pDriver = Ogr.GetDriverByName("ESRI Shapefile");
OSGeo.OGR.DataSource pDataSource = pDriver.Open(fileShpPath, 1);
OSGeo.OGR.Layer pLayer = pDataSource.GetLayerByName(System.IO.Path.GetFileNameWithoutExtension(fileShpPath));
return pLayer;
}
(2)创建矢量图层
public static Layer CreateLayer(string layerPath, SpatialReference spatialReference, Dictionary<string, OSGeo.OGR.FieldType> fieldNameAndType)
{
OSGeo.OGR.Driver drv = OSGeo.OGR.Ogr.GetDriverByName("ESRI Shapefile");
OSGeo.OGR.DataSource dstds = drv.CreateDataSource(layerPath, new string[] { });
Layer laye