用gdal實現將shp檔案中的shape欄位轉成wkt
public List<string> ShptoWkt(string path) { List<string> list = new List<string>(); string wkt = "";
OSGeo.OGR.Ogr.RegisterAll(); OSGeo.OGR.Driver dr = OSGeo.OGR.Ogr.GetDriverByName("ESRI shapefile");
if (dr == null) { return list; }
OSGeo.OGR.DataSource ds = dr.Open(path, 0); int layerCount = ds.GetLayerCount();
OSGeo.OGR.Layer layer = ds.GetLayerByIndex(0);
//投影資訊 OSGeo.OSR.SpatialReference coord = layer.GetSpatialRef(); string coordString; coord.ExportToWkt(out coordString);
OSGeo.OGR.Feature feat; //string contentString = ""; //讀取shp檔案 while ((feat = layer.GetNextFeature()) != null) { OSGeo.OGR.Geometry geometry = feat.GetGeometryRef(); OSGeo.OGR.wkbGeometryType goetype = geometry.GetGeometryType(); geometry.ExportToWkt(out wkt); list.Add(wkt); } return list; }