OGR坐标转换问题

OGR坐标转换问题

之前使用OGR工具做坐标转换,一直没有问题,后来许久不用,再使用就出现无法转换的问题。

  • 第一个问题

Linux与Windows环境下坐标顺序不同,上图。

linux环境下
OGR坐标转换问题

windows环境下OGR坐标转换问题
两个环境中创建点要素的坐标顺序不同,linux是经度、纬度,而windows是纬度、经度。
如果相反,创建后再坐标转换会出现错误。(具体是什么原因,还没有去查,有空闲再看看)

  • 第二个问题(这个问题之前一直没有注意)

在Shapefile文件中读取的要素几何类型是带有空间参考的,而自定义的几何要素是不带空间参考。
因此如果自定义要素需要转换而且不带空间参考,则使用Geometry.Transform(CoordinateTransformation)方法;
如果是包含了空间参考,则使用TransformTo(SpatialReference)

这两个问题真是纠结了我好一阵子,今天再次遇到,终于搞清楚了。