[GDAL]写入shp
生活随笔
收集整理的這篇文章主要介紹了
[GDAL]写入shp
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?C#通過Wkt碼構(gòu)建shp,記錄寫不進(jìn)去!
1 static void WriteVectorFile() 2 { 3 string strVectorFile = "E:\\"; 4 // 注冊所有的驅(qū)動(dòng) 5 Ogr.RegisterAll(); 6 //創(chuàng)建數(shù)據(jù),這里以創(chuàng)建ESRI的shp文件為例 7 string strDriverName = "ESRI Shapefile"; 8 Driver oDriver = Ogr.GetDriverByName(strDriverName); 9 if (oDriver == null) 10 { 11 Console.WriteLine("%s 驅(qū)動(dòng)不可用!\n", strVectorFile); 12 return; 13 } 14 // 創(chuàng)建數(shù)據(jù)源 15 DataSource oDS = oDriver.CreateDataSource(strVectorFile, null); 16 if (oDS == null) 17 { 18 Console.WriteLine("創(chuàng)建矢量文件【%s】失敗!\n", strVectorFile); 19 return; 20 } 21 22 // 創(chuàng)建圖層,創(chuàng)建一個(gè)多邊形圖層,這里沒有指定空間參考,如果需要的話,需要在這里進(jìn)行指定 23 Layer oLayer = oDS.CreateLayer("TestPolygon", null, wkbGeometryType.wkbPolygon, null); 24 if (oLayer == null) 25 { 26 Console.WriteLine("圖層創(chuàng)建失敗!\n"); 27 return; 28 } 29 30 // 下面創(chuàng)建屬性表 31 // 先創(chuàng)建一個(gè)叫FieldID的整型屬性 32 FieldDefn oFieldID = new FieldDefn("FieldID", FieldType.OFTInteger); 33 oLayer.CreateField(oFieldID, 1); 34 35 // 再創(chuàng)建一個(gè)叫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 // 創(chuàng)建三角形要素 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 // 創(chuàng)建矩形要素 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 // 創(chuàng)建五角形要素 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數(shù)據(jù)集創(chuàng)建完成!\n"); 65 } View Code通過對象構(gòu)建
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yhlx125/p/3632960.html
總結(jié)
以上是生活随笔為你收集整理的[GDAL]写入shp的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring定时器总结
- 下一篇: [Selenium] 基本使用