• 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
  • 相关阅读:
    关于jquery尺寸的总结
    PhotoshopCC 如何使用动作文件ATN
    改变radio默认样式
    html中如何修改选中 用input做的搜索框 的边框颜色
    option触发事件两种方法总结
    用 CSS 隐藏页面元素的 5 种方法
    bootstrap模态框总结
    stop总结
    如何解决在chrome中自动完成表单后input出现黄色背景
    jquery实现显示和隐藏toggle()方法的使用
  • 原文地址:https://www.cnblogs.com/chenxiao/p/3875880.html
Copyright © 2020-2023  润新知