我的数据库中有一个表,其中包含位置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"
我需要这些,所以我可以将它用于谷歌地图......
答案 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)
表示经度。