从 Postgis 获取投影限制

Get projection limits from Postgis

我在 lat/lon 坐标对中收到对我的 API 的空间查询。我的空间数据是在不覆盖整个地球的投影中,因此某些查询超出范围。

我想用有用的错误消息来回应错误的查询。而不是试图在 GIS 规范或标准中找出每个投影的边界(并从中获得正确的 lat/lon 对),我想知道我是否可以从 Postgis 询问限制或询问是否具体点在限制范围内,以何种方式出错。这样我就可以轻松支持很多投影了。

看起来 Postgis 有这个信息,因为对于错误的查询,它会这样回答:

transform: couldn't project point (-77.0331 -12.1251 0):
    latitude or longitude exceeded limits (-14)

我正在通过 Geodjango 距离查询(django.contrib.gis.geos.geometry.GEOSGeometry.distance 函数)使用 Postgis。

PostGIS 或 PROJ.4(遵循 this thread)没有这些界限。每个投影的边界都是唯一的,传统上由设计投影的权威机构发布。

此数据的主要来源之一来自 https://www.epsg-registry.org 单击 "retrieve by code" 和(例如)27200,然后查看 "Area of Use" 字段。

许多相同的信息在(例如)http://epsg.io/27200 处重复并查找 "bounds"。

如果你需要这些数据,我建议你制作一个新的table来收集它。