8

应该使用什么 SELECT 查询从一个点提取纬度和经度?
我不能使用 PostGIS。

存储在数据库中的示例点(点类型值):

   我的观点
--------------
(50.850,4.383)

执行查询后的预期结果:

  纬度 | 液化天然气
---------------
50.850 | 4.383

下面的查询工作正常,但看起来效率不高。

SELECT 
    split_part(trim(my_point::text, '()'), ',', 1)::float AS lat, 
    split_part(trim(my_point::text, '()'), ',', 2)::float AS lng
FROM my_table;
4

1 回答 1

13

始终阅读精美的手册

可以访问一个点的两个分量编号,就好像该点是一个索引为 0 和 1 的数组一样。例如,如果 tp 是一个点列,则 SELECT p[0] FROM t 检索 X 坐标并 UPDATE t SET p 1 = ... 改变 Y 坐标。同样,box 或 lseg 类型的值可以被视为两个点值的数组。

于 2013-08-28T15:30:21.763 回答