ogr2ogr在不同的系统上产生不同的结果

时间:2016-07-28 06:58:21

标签: postgresql postgis ogr2ogr

我试图将代表Philippines行政区域的形状文件转换为geojson。我从here获取了形状文件。我尝试转换的文件是PHL_adm3.shp

我正在使用这个bash脚本:

function shp2geojson() {
      ogr2ogr -f GeoJSON "$1.geojson" "$1.shp"
}

for var in *.shp; do shp2geojson ${var%\.*}; done 

我在我的服务器上运行了这个脚本并获得了相应的geojson文件。现在我在我的本地运行了相同的脚本,许多城市的几何图形在我的本地不同于我的服务器上。虽然坐标没有太大差别,但它们仅在6-7位小数之后有所不同,但是当我尝试将它们插入PostGIS时它们会抛出异常。

这是在PostGIS中插入时在服务器上产生错误的几何体的示例。我还发布了我在同一个城市当地的几何图形。

服务器:Geometry

本地:Geometry

我还在两个几何上运行ST_IsValidReason。我的服务器上出现以下错误。

SELECT ST_IsValidReason(ST_SetSRID(
            ST_GeomFromGeoJSON(my_geometry),4326))

Server : Error [('Self-intersection[120.979159 14.71218]',)]
Local  : [('Valid Geometry',)]

我在印度,日本泰国等不同国家和我测试的所有国家都尝试了同样的事情,同样的事情正在发生。在本地我没有发现任何错误,但在我的服务器上我得到了无效的几何。

任何人都可以解释我的查询有什么问题以及如何解决这个问题吗?

P.S.-我的两个系统都是64位并运行Ubuntu 14.04。

0 个答案:

没有答案