我如何从RGEO Postgis点返回经度和纬度

时间:2014-09-08 16:52:05

标签: ruby-on-rails-3 postgis postgresql-9.3

我的数据库中有一个表,其中包含位置city,state,zip和point

我的数据库中的点看起来像0101000020E6100000000000E0087B52C0000000402F6B4440

当我运行此命令时,我得到了这个:

1.9.3-p547 :014 > coords = "ST_GeographyFromText('#{Location.first.coords}')"
2014-09-08 11:46:55 DEBUG --   Location Load (77.4ms)  SELECT "locations".* FROM "locations" LIMIT 1
=> "ST_GeographyFromText('POINT (-85.28800201416016 48.596500396728516)')" 

如果弄清楚如何拉动并设置每个纬度和经度

,我想做什么
   Latitude = "48.596500396728516"
   Longitude = "-85.28800201416016"

我需要这些,所以我可以将它用于谷歌地图......

2 个答案:

答案 0 :(得分:0)

想出来......

除非其他人有更简单的解决方案:

coords =" ST_GeographyFromText('#{Location.first.coords}')"

lat,lng = coords.gsub(/ [^ - 。0-9 \ s] /,"")。strip.split("")

如果有更快的方法可以做到这一点......请告诉我,因为我必须这样做100,000次

答案 1 :(得分:0)

使用ST_Y(geom)表示纬度,ST_X(geom)表示经度。