我正在迁移 PostGIS 系统中的所有信息,其中包括有关数千个运动空间的完整信息。对于所有这些空间,我获得了纬度和经度值,并且 PostGis 需要一个几何值,该列已经在我的表“位置”中。
该应用程序的 SRID 是 23030。
我寻找了如何根据经度和纬度计算几何值,我发现:
update location set point=ST_GeomFromText('POINT('|| longitud || ' ' || latitud ||')',23030);
UPDATE georrepositorio.geometria SET point = ST_SetSRID(ST_Point( longitud, latitud),23030);
UPDATE georrepositorio.geometria SET POINT = ST_SetSRID(ST_MakePoint(longitud,latitud),23030);
我总是得到这样的字符串:“0101000020F6590000894327550B97114104EA99EA599D4E41”
在我正在构建的网络应用程序中,如果我标记点来定位空间,它会在表“location”中插入一个字符串,例如:“0101000020F659000000000020DFB115C00000008053244240”
,它看起来类似于字符串I开始使用这些功能。
问题是我无法找到每个空间,因为空间太多,所以我需要进行大规模迁移,并且使用这些函数来计算几何列不起作用。因为好的,这些函数计算几何值,但是当您查询时应用程序不会显示它们。
有人知道如何根据纬度和经度计算几何吗?任何东西
最佳答案
首先,几何图形存储为二进制,您将其视为“0101000020...”,称为 well-known binary (WKB) 。对于 POINT 几何图形,您可以使用 ST_X(point)
提取经度,使用 ST_Y(point)
提取纬度坐标序号。您还可以使用 ST_AsText(point)
来实现人类可读的 WKT 表示。
EPSG:23030是投影空间引用系统 (SRS),东距和北距以米为单位。但如果你的坐标数据是纬度和经度,则需要使用不同的SRS,例如EPSG:4326 。正确存储后,可以使用 ST_Transform(point, 23030)
为应用程序重新投影数据。
关于postgresql - Postgis 经度、纬度转几何 postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977839/