zoukankan      html  css  js  c++  java
  • GDAL create kml

    新增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(32);
              ogrlayer.CreateField(fdefn,1);
    
              fdefn = new FieldDefn("IntField", FieldType.OFTInteger);
              ogrlayer.CreateField(fdefn, 1);
    
              fdefn = new FieldDefn("DbleField", FieldType.OFTReal);
              ogrlayer.CreateField(fdefn, 1);
    
              fdefn = new FieldDefn("DateField", FieldType.OFTDate);
              ogrlayer.CreateField(fdefn, 1);
    
              Feature feature = new Feature(ogrlayer.GetLayerDefn());
              feature.SetField("Name", "新增kml");
              feature.SetField("IntField", (int)123);
              feature.SetField("DbleField", (double)12.345);
              feature.SetField("DateField", 2007, 3, 15, 18, 24, 30, 0);
    
    
              Geometry geom = Geometry.CreateFromWkt("POINT(115.91466833333 28.668223333)");
              feature.SetGeometry(geom);
              ogrlayer.CreateFeature(feature);
    
              ogrlayer.Dispose();
              ogrDS.Dispose();
          }
    View Code
    新增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(32);
              ogrlayer.CreateField(fdefn, 1);
    
              fdefn = new FieldDefn("IntField", FieldType.OFTInteger);
              ogrlayer.CreateField(fdefn, 1);
    
              fdefn = new FieldDefn("DbleField", FieldType.OFTReal);
              ogrlayer.CreateField(fdefn, 1);
    
              fdefn = new FieldDefn("DateField", FieldType.OFTDate);
              ogrlayer.CreateField(fdefn, 1);
    
              Feature feature = new Feature(ogrlayer.GetLayerDefn());
              feature.SetField("Name", "新增kml");
              feature.SetField("IntField", (int)123);
              feature.SetField("DbleField", (double)12.345);
              feature.SetField("DateField", 2007, 3, 15, 18, 24, 30, 0);
    
    
              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();
          }
    View Code
  • 相关阅读:
    Python中下划线---完全解读(转)
    数字、基数及表示
    实现二叉排序树的各种算法
    shell脚本 空格
    Linux中执行shell脚本的4种方法
    vim常用命令总结
    Linux 奇技淫巧
    排序算法之二分治法
    二分查找
    排序算法之一插入排序
  • 原文地址:https://www.cnblogs.com/chenxiao/p/3875880.html
Copyright © 2011-2022 走看看