我对使用 postgreSQL/postGIS 有疑问。
我想在距离用户一定距离的地图(存储在数据库中)上显示标记(为请求提供坐标)。
标记字段的类型是 POINT(我存储纬度/经度)。用户位置由 Google Map API 确定。
这是实际的请求:
SELECT * FROM geo_points WHERE ST_distance(ST_SetSRID(geo_points.coords::geometry,4326),ST_GeomFromEWKT('SRID=4326;POINT(45.0653944 4.859764599999996)')) > 65
我知道(在对互联网进行了一些研究之后)函数 ST_distance 为我提供了标记和用户位置之间的距离,并且我测试了以公里为单位的距离。
我想我必须使用函数 ST_transform 来转换公制坐标中的点。
所以我的问题是: - 法国的 SRID 是什么 - 我怎样才能根据用户的位置动态地为整个世界制作这个?
我也知道函数 ST_within 存在并且可以做到这一点。但我预计以后,我可能需要距离。
任何帮助将不胜感激
ps:其他帖子中可能有解决方案,但是我在研究过程中找到的所有答案都不能真正满足我的需求。