新增kml 点
 public void WriteKmlPiont()
{ string driverName = "KML"; //MapInfo File OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
// 为了使属性表字段支持中文,请添加下面这句SHAPE_ENCODING //UTF-8 to ISO-8859-1.
OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "");
//注册
Ogr.RegisterAll(); OSGeo.OGR.Driver ogrDriver = Ogr.GetDriverByName(driverName); DataSource ogrDS = ogrDriver.CreateDataSource("C:\\test.kml", null); // string fileName = DateTime.Now.ToString("yyyyMMddHHmmss"); Layer ogrlayer = ogrDS.CreateLayer("kml", null, wkbGeometryType.wkbPoint, null); FieldDefn fdefn = new FieldDefn("Name", FieldType.OFTString);
fdefn.SetWidth();
ogrlayer.CreateField(fdefn,); fdefn = new FieldDefn("IntField", FieldType.OFTInteger);
ogrlayer.CreateField(fdefn, ); fdefn = new FieldDefn("DbleField", FieldType.OFTReal);
ogrlayer.CreateField(fdefn, ); fdefn = new FieldDefn("DateField", FieldType.OFTDate);
ogrlayer.CreateField(fdefn, ); Feature feature = new Feature(ogrlayer.GetLayerDefn());
feature.SetField("Name", "新增kml");
feature.SetField("IntField", (int));
feature.SetField("DbleField", (double)12.345);
feature.SetField("DateField", , , , , , , ); Geometry geom = Geometry.CreateFromWkt("POINT(115.91466833333 28.668223333)");
feature.SetGeometry(geom);
ogrlayer.CreateFeature(feature); ogrlayer.Dispose();
ogrDS.Dispose();
}
新增kml 线
   public void WriteKmlLine()
{ string driverName = "KML"; //MapInfo File OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
// 为了使属性表字段支持中文,请添加下面这句SHAPE_ENCODING //UTF-8 to ISO-8859-1.
OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "");
//注册
Ogr.RegisterAll(); OSGeo.OGR.Driver ogrDriver = Ogr.GetDriverByName(driverName); DataSource ogrDS = ogrDriver.CreateDataSource("C:\\wkbLineString.kml", null); // string fileName = DateTime.Now.ToString("yyyyMMddHHmmss"); Layer ogrlayer = ogrDS.CreateLayer("kml", null, wkbGeometryType.wkbLineString, null); FieldDefn fdefn = new FieldDefn("Name", FieldType.OFTString);
fdefn.SetWidth();
ogrlayer.CreateField(fdefn, ); fdefn = new FieldDefn("IntField", FieldType.OFTInteger);
ogrlayer.CreateField(fdefn, ); fdefn = new FieldDefn("DbleField", FieldType.OFTReal);
ogrlayer.CreateField(fdefn, ); fdefn = new FieldDefn("DateField", FieldType.OFTDate);
ogrlayer.CreateField(fdefn, ); Feature feature = new Feature(ogrlayer.GetLayerDefn());
feature.SetField("Name", "新增kml");
feature.SetField("IntField", (int));
feature.SetField("DbleField", (double)12.345);
feature.SetField("DateField", , , , , , , ); Geometry geom = new Geometry(wkbGeometryType.wkbLineString); //Geometry.CreateFromWkt("LINESTRING(115.91466833333 28.668223333)"); //需要增加两个点,两点成一线,开始测试的时候就经常报错。、
geom.AddPoint_2D(115.91466833333, 28.668223333); geom.AddPoint_2D(115.92466833333, 28.668223333); feature.SetGeometry(geom);
ogrlayer.CreateFeature(feature); ogrlayer.Dispose();
ogrDS.Dispose();
}

GDAL create kml的更多相关文章

  1. gdal集成kml库的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近要读取kml文件,具体就是把kml文件当作一个矢量文件来读取.我发现gdal是支持集成kml库的.不过集成这个km ...

  2. GDAL集成对KML文件的支持

    目录 1. 正文 1.1. 编译LibKML 1.1.1. 第三方库支持 1.1.2. 编译错误 1.2. 配置GDAL 1.3. 链接问题 2. 参考 1. 正文 GDAL可以支持将KML作为矢量文 ...

  3. KML,SHP TAB互转,GDAL

    最近在接触地图数据转换的东西,从硬件kml的数据转换其他的格式,因为从没做过着东西, 先去了解kml文件格式 http://baike.baidu.com/view/400307.htm?fr=ala ...

  4. GDAL中通过GDALDriver类的Create函数实现图像的保存

    GDAL中除了读取各种类型的图像外,也可以实现对各种图像的保存操作,具体实现测试代码如下: int test_gadl_GDALDataset_write() { const char* image_ ...

  5. 部分GDAL工具功能简介

    主要转自http://blog.csdn.net/liminlu0314?viewmode=contents 部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. ...

  6. GDAL——命令使用专题——gdalinfo命令

    GDAL——命令使用专题——gdalinfo命令  前言 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库.它利用 ...

  7. GDAL——命令使用专题——ogrinfo命令

    GDAL——命令使用专题——ogrinfo命令 前言 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库.它利用抽象 ...

  8. gdal gdal2tiles.py 的使用

    I’m here showing how you can use GDAL2Tiles to generate map tiles of Tom Patterson’s Natural Earth I ...

  9. GDAL 遥感图像处理后的数据保存为图像文件的实现方法

    在遥感图像处理中,GDAL库不仅能读取和处理大部分的遥感图像数据,而且还能够实现图像处理后将数据保存为图像的功能. 本文就详细介绍如何将内存中的图像数据保存为.tif格式. 首先,遥感数据处理完,保存 ...

随机推荐

  1. elementUi、iview、ant Design源码button结构篇

    在看elementUI的button组件的时候,一起和iview.ant Design的button组件比 较功能.样式.代码结构,看他们的一些不同点,不同的写法哪种会好些,button的对外开放的功 ...

  2. JSP页面、EL表达式

    JSP页面: jsp 是一种动态页面,html 页面和 jsp页面最大的区别是:html 是一种静态页面,在 html 中只 能定义 css.js 等,在 jsp 中除了可以定义 css.js 之外还 ...

  3. linux-高并发与负载均衡-lvs-功能配置介绍

    百度百科: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. ...

  4. vue 相关

    1.vue v-for 循环一个数组,key值报错,但是数据是正常显示的 报错: v-for使用key,需要在key前加上:key;srcList是个数组,key值绑定不能是数据类型Object的it ...

  5. 剑指Offer面试题 二维数组中的查找

    题目链接:https://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e 题目大意: 略 分析: 对萌醒很开拓思维 ...

  6. springcloud 设置feign超时时间

    转载网址:http://www.pianshen.com/article/187038775/

  7. springdata 动态查询之排序

  8. 代理与hook

    参考:Java 动态代理 代理是什么 为什么需要代理呢?其实这个代理与日常生活中的“代理”,“中介”差不多:比如你想海淘买东西,总不可能亲自飞到国外去购物吧,这时候我们使用第三方海淘服务比如惠惠购物助 ...

  9. html2canvas 识别 svg 解决方案

    参考: 预览地址 http://jsfiddle.net/bv16o50f/1/ html <div class="visualization"> <svg xm ...

  10. linux makefile中一些复制运算的区别

    Makefile 中  :=. ?= .+= .=的区别 = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值,如果已经被赋值则就用之前的赋值+= 是添加等号后面的值