[GDAL]写入shp
生活随笔
收集整理的這篇文章主要介紹了
[GDAL]写入shp
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?C#通過Wkt碼構建shp,記錄寫不進去!
1 static void WriteVectorFile() 2 { 3 string strVectorFile = "E:\\"; 4 // 注冊所有的驅動 5 Ogr.RegisterAll(); 6 //創建數據,這里以創建ESRI的shp文件為例 7 string strDriverName = "ESRI Shapefile"; 8 Driver oDriver = Ogr.GetDriverByName(strDriverName); 9 if (oDriver == null) 10 { 11 Console.WriteLine("%s 驅動不可用!\n", strVectorFile); 12 return; 13 } 14 // 創建數據源 15 DataSource oDS = oDriver.CreateDataSource(strVectorFile, null); 16 if (oDS == null) 17 { 18 Console.WriteLine("創建矢量文件【%s】失敗!\n", strVectorFile); 19 return; 20 } 21 22 // 創建圖層,創建一個多邊形圖層,這里沒有指定空間參考,如果需要的話,需要在這里進行指定 23 Layer oLayer = oDS.CreateLayer("TestPolygon", null, wkbGeometryType.wkbPolygon, null); 24 if (oLayer == null) 25 { 26 Console.WriteLine("圖層創建失敗!\n"); 27 return; 28 } 29 30 // 下面創建屬性表 31 // 先創建一個叫FieldID的整型屬性 32 FieldDefn oFieldID = new FieldDefn("FieldID", FieldType.OFTInteger); 33 oLayer.CreateField(oFieldID, 1); 34 35 // 再創建一個叫FeatureName的字符型屬性,字符長度為50 36 FieldDefn oFieldName = new FieldDefn("FieldName", FieldType.OFTString); 37 oFieldName.SetWidth(100); 38 oLayer.CreateField(oFieldName, 1); 39 FeatureDefn oDefn = oLayer.GetLayerDefn(); 40 41 // 創建三角形要素 42 Feature oFeatureTriangle = new Feature(oDefn); 43 oFeatureTriangle.SetField(0, 0); 44 oFeatureTriangle.SetField(1, "三角形"); 45 Geometry geomTriangle = Geometry.CreateFromWkt("POLYGON ((0 0,20 0,10 15,0 0))"); 46 oFeatureTriangle.SetGeometry(geomTriangle); 47 oLayer.CreateFeature(oFeatureTriangle); 48 49 // 創建矩形要素 50 Feature oFeatureRectangle = new Feature(oDefn); 51 oFeatureRectangle.SetField(0, 1); 52 oFeatureRectangle.SetField(1, "矩形"); 53 Geometry geomRectangle = Geometry.CreateFromWkt("POLYGON ((30 0,60 0,60 30,30 30,30 0))"); 54 oFeatureRectangle.SetGeometry(geomRectangle); 55 oLayer.CreateFeature(oFeatureRectangle); 56 57 // 創建五角形要素 58 Feature oFeaturePentagon = new Feature(oDefn); 59 oFeaturePentagon.SetField(0, 2); 60 oFeaturePentagon.SetField(1, "五角形"); 61 Geometry geomPentagon = Geometry.CreateFromWkt("POLYGON ((70 0,85 0,90 15,80 30,65 15,70 0))"); 62 oFeaturePentagon.SetGeometry(geomPentagon); 63 oLayer.CreateFeature(oFeaturePentagon); 64 Console.WriteLine("\n數據集創建完成!\n"); 65 } View Code通過對象構建
?
?
轉載于:https://www.cnblogs.com/yhlx125/p/3632960.html
總結
以上是生活随笔為你收集整理的[GDAL]写入shp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring定时器总结
- 下一篇: [Selenium] 基本使用