1

我正在尝试将代表行政区域的形状文件转换Philippines为geojson。我从这里获取形状文件。我要转换的文件是这个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 时在服务器上产生错误的几何示例。我还发布了我在同一个城市的当地人得到的几何图形。

服务器:几何

本地:几何

我也在ST_IsValidReason这两种几何体上运行。我的服务器上出现以下错误。

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

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

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

谁能解释我的查询有什么问题以及如何解决这个问题?

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

4

0 回答 0