新增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. python学习——读取染色体长度(三、用循环或者函数求总长并获取最长染色体长度)

    # 读取fasta # 解析每条序列的长度 chr_len = [10,20,30,40,50] # 求和 # 方法一:通过循环 total_len = 0 #定义total_len的初始长度 for ...

  2. UVA - 11090 - Going in Cycle!!(二分+差分约束系统)

    Problem  UVA - 11090 - Going in Cycle!! Time Limit: 3000 mSec Problem Description You are given a we ...

  3. 随心测试_软测基础_007<软测学习路线建议>

    如果你对软测感兴趣,那么如何学习软件测试呢? 贴心小提示:以下内容,仅供参考,不挖坑 1:学习方式_职业教育选择观 ————SX的观点:成本 | 收益说,理性接受 软测产业服务链中,测试工程师重在于& ...

  4. codeforces#1139D. Steps to One (概率dp+莫比乌斯反演)

    题目链接: http://codeforces.com/contest/1139/problem/D 题意: 在$1$到$m$中选择一个数,加入到一个初始为空的序列中,当序列的$gcd$和为$1$时, ...

  5. 项目总结-timerTask的使用

    关于使用timerTask来进行定时任务的研究 业务说明:每天的0点执行一次 调用说明:com.hzmd.itest.db.ItestDbUtil中的startPermitTimer()方法进行最终的 ...

  6. HashMap源码分析(基于jdk8)

    我们知道在jdk7中HashMap的实现方式是数组+链表.而在jdk8中,实现有所变化,使用的是数组+链表+红黑树实现的. 当链表长度达到8时转化为红黑树. static final int TREE ...

  7. Linux(Ubuntu)使用日记------markdown文件与pdf,doc,docx文件的相互转化(pandoc使用)

    安装: sudo apt-get install pandoc 使用: man pandoc   查看帮助文档 直接转换,命令如下: pandoc -f markdown -t docx ./test ...

  8. DAY30、网络编程

    一.网络编程 软件开发 c/s架构 c:客户端 s:服务端 b/s架构 b:浏览器 s:服务端 本质:b/s其实也是c/s 服务端:24小时不间断提供服务,谁来救服务谁 客户端:想什么时候体验服务,就 ...

  9. EL和 JSTL? 在JSP中简化 java代码的写法!

    一.servlet部分 package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.Student ...

  10. Netty 客户端断线重连

    client 关闭后会执行 finally 代码块,可以在这里可以进行重连操作 public class NettyClient implements Runnable { private final ...