我正在使用Postgresql和PostGIS.我的所有数据都已连接到十进制纬度/长度(即-87.34554 33.12321),但要使用PostGIS,我需要将其转换为某种类型的SRID.
我的大多数查询都在寻找特定半径范围内的数据.
我的大多数查询都在寻找特定半径范围内的数据.
我应该使用什么SRID?我已经创建了一个带有SRID 4269的几何列.
在这个例子中:
link text作者正在将SRID 4269转换为SRID 32661.我对如何以及何时使用这些SRID感到非常困惑.任何关于这个主题的精简版都会真正受到赞赏
只要您从不打算将数据重新投影/转换到另一个坐标系,从技术上讲,您使用的是什么srid并不重要.但是假设您不想丢弃那些重要的元数据,并且您确实希望对其进行转换,那么您需要确保已分配的srid与数据匹配,因此postgis知道在时机成熟时该做什么.
原文链接:https://www.f2er.com/postgresql/192071.html那你为什么要重新投影epsg:4269?答案是因为某些类型的查询(例如距离)在这个“未投影”的世界中毫无意义.你的单位是十进制度,x十进制度的直接测量是一个不同的实际距离,取决于你在这个星球的位置.
在上面的示例中,有人正在使用epsg:32661,因为他们相信它会为他们正在工作的人提供更好的准确性.如果您的数据位于地球的特定区域,则可以选择对该区域准确的投影.如果它横跨整个地球,你必须选择一个“满意”的投影.
幸运的是,PostGIS有一些方法可以让这一切变得更容易.对于大约距离,您可以使用st_distance_sphere函数,正如您可能猜到的那样,假设地球是一个球体.或者更准确的st_distance_spheroid.使用这些,您不需要重新投影,除了边缘情况,您可能会适合您的距离查询.较新版本的PostGIS也允许您使用geography columns
tl; dr – 使用st_distance_spheroid进行距离查询,将数据存储在地理列中,或将其转换为本地投影(存储时,或根据需要动态).