C#用GDAL/OGR库创建与写Shape文件
2013-07-27 19:31
309 查看
GDAL/OGR是非常著名的开源GIS库,GDAL是对栅格数据进行操作,而OGR是对矢量数据进行操作,它们相当于一个通用数据访问库。甚至ESRI的产品中都用了此库。
现在,GDAL/OGR也提供了对.NET的编译支持,具体的编译与使用过程大家GOOGLE一下,网上资料非常详尽。其官网上有一些C,C++,Python的示例代码。 但没有C#的示例代码,但程序之间大同小异,下面我试的一个C#创建Shape文件,并往其中添加Point的示例代码,希望对各位有用。
现在,GDAL/OGR也提供了对.NET的编译支持,具体的编译与使用过程大家GOOGLE一下,网上资料非常详尽。其官网上有一些C,C++,Python的示例代码。 但没有C#的示例代码,但程序之间大同小异,下面我试的一个C#创建Shape文件,并往其中添加Point的示例代码,希望对各位有用。
//注册Ogr库 string pszDriverName = "ESRI Shapefile"; OSGeo.OGR.Ogr.RegisterAll(); //调用对Shape文件读写的Driver接口 OSGeo.OGR.Driver poDriver = OSGeo.OGR.Ogr.GetDriverByName(pszDriverName); if (poDriver == null) MessageBox.Show("Driver Error"); //用此Driver创建Shape文件 OSGeo.OGR.DataSource poDS; poDS = poDriver.CreateDataSource("point_out.shp", null); if (poDS == null) MessageBox.Show("DataSource Creation Error"); //创建层Layer OSGeo.OGR.Layer poLayer; poLayer = poDS.CreateLayer("point_out", null, OSGeo.OGR.wkbGeometryType.wkbPoint, null); if (poLayer == null) MessageBox.Show("Layer Creation Failed"); //创建属性列两列 OSGeo.OGR.FieldDefn oField = new OSGeo.OGR.FieldDefn("名称", OSGeo.OGR.FieldType.OFTString); oField.SetWidth(16); OSGeo.OGR.FieldDefn oField2 = new OSGeo.OGR.FieldDefn("高度", OSGeo.OGR.FieldType.OFTInteger); poLayer.CreateField(oField, 1); poLayer.CreateField(oField2, 0); //创建一个Feature,一个Point OSGeo.OGR.Feature poFeature = new Feature(poLayer.GetLayerDefn()); OSGeo.OGR.Geometry pt = new Geometry(OSGeo.OGR.wkbGeometryType.wkbPoint); //往创建的Shape中写入二十个点, for (int i = 100; i < 120; i++) { //属性一"名称"赋值 poFeature.SetField(0, "point"+i.ToString()); //属性二"高度"赋值 poFeature.SetField(1, i); //添加坐标点 pt.AddPoint(i, i, 0); poFeature.SetGeometry(pt); //将带有坐标及属性的Feature要素点写入Layer中 poLayer.CreateFeature(poFeature); } //关闭文件读写 poFeature.Dispose(); poDS.Dispose();
相关文章推荐
- C#用GDAL/OGR库创建与写Shape文件(转载)
- VS2010 c#利用GDAL创建金字塔文件(金字塔文件包含在文件内部)
- C++、GDAL创建shapefile,并向矢量文件中添加网格
- 图层设置GDAL/OGR创建DXF文件中多图层的方法
- [置顶] android 平台下通过GDAL创建SHP(ShapeFile)文件至SD卡
- GDAL/OGR创建DXF文件中多图层的方法
- C++、GDAL创建shapefile,并向矢量文件中添加网格
- GDAL/OGR创建DXF文件中多图层的方法 .
- GDAL/OGR创建DXF文件中多图层的方法 .
- 结合C++和GDAL实现shapefile(shp)文件的创建和写入
- c#+ArcGIS Engine-创建shp数据文件结构
- 用 C# 轻松读取、改变文件的创建、修改、访问时间
- C# 获取文件大小,创建时间,文件信息,FileInfo类的属性表
- 【转载】C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
- C#.net编程创建Access文件和Excel文件的方法详解
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- C#创建文件夹、批量移动文件
- C# 如何创建一个xml文件?并写入指定内容?
- Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- 用C#创建文件的MD5验证码