zoukankan      html  css  js  c++  java
  • 用GDAL 1.4 For C#来写ShapeFile注意事项

    GDAL1.5已经出来一段时间了,一直没有机会用。用时又来不及下,现在还主要是用1.4。
    用swig将在gdal1.4基础上生成C# 的Wrap后发现,OGR命名空间下几何体方面的类只有Geometry,没有那些熟悉的Point,PolyLine,Ploygon等,搜索了命名空间也没发现,可能是用的swig的头文件里边就没有包装1.4这个几个类吧。另外一些常量也没有找到,几何打算放弃1.4下载1.5编译,或者用JTS中的类库来操作。
    不过最后还是搞好了,这里记录一下要点:

    1、常量大部分在ogr类中,这里ogr(小写)是个类,主要提供了一下常量和静态函数,方便调用。不过元数据中没有注释,有点不方便理解只好参考c++版帮助。
    2、有Geometry类基本就可以实现创建各类几何对象,方法是用WKT或者WKB或者GML格式先构造好几何数据,在该类构造函数中传入即可。
    3、还有一点要注意的是,有的地方类型如果不是很清楚的时候尽量用UnKnow类型,这样类库可以根据传入参数自动识别,更可靠一些。
    4、创建Shapefile的主要流程大概是:1)CreateDatasource。2)CreateLayer。3)CreateFiled。4)New Feature,注意要用Layer的Def,并给各个字段SetValue,SetGeometry。5)Layer.CreateFeature将Featrue写入文件。

    5、还有一个问题没解决:操作完毕后无法关闭文件,导致别的进程无法访问刚刚创建的文件,必须关闭才可以。推测是托管造成的,但还不知道如何解决。也许这些问题都已经在1.5中解决掉了,有时间应该试一下。

  • 相关阅读:
    低于时钟频率的任意频率生成(相位累加器)
    verilog实现奇数倍分频
    No.135 Candy
    No.42 Trapping Rain Water
    No.149 Max Point on a Line
    No.147 Insertion Sorted List
    No.21 Merge Two Sorted List
    No.88 Merge Sorted Array
    No.148 Sort List
    No.206 Reverse Linked List
  • 原文地址:https://www.cnblogs.com/flyingfish/p/1147610.html
Copyright © 2011-2022 走看看