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
  • 相关阅读:
    day4 流程控制while 判断if
    作业2
    C语言I博客作业02
    ActionScript3与PHP的通信
    WordPress代码和分析从主题开始
    事件、委托、异步
    201920201学期 20192405《网络空间安全专业导论》第二周学习总结
    201920201学期 20192405《网络空间安全专业导论》第二周学习总结
    201920201学期 20192405《网络空间安全专业导论》第四周学习总结
    201920201学期 20192405《网络空间安全专业导论》第一周学习总结
  • 原文地址:https://www.cnblogs.com/chenxiao/p/3875880.html
Copyright © 2011-2022 走看看