Postgresql 从POSTGIS获取位置
我已经从Postgresql 从POSTGIS获取位置,postgresql,postgis,Postgresql,Postgis,我已经从geonames下载了数据,然后按照下面的链接将其转储到POSTGIS中 目前我不知道如何在两条路线之间找到位置。该表中的纬度和经度有单独的列 我需要在两条路线之间找到位置,有什么办法吗 我尝试过的 获取两点之间的位置: SELECT * FROM geoname WHERE ST_DWithin('POINT(44.8781 -116.6298)', ST_GeographyFromText('POINT(43.7392 -114.9903)'), 16093.4); 我得到了
geonames
下载了数据,然后按照下面的链接将其转储到POSTGIS中
目前我不知道如何在两条路线之间找到位置。该表中的纬度
和经度
有单独的列
我需要在两条路线之间找到位置,有什么办法吗
我尝试过的
获取两点之间的位置:
SELECT * FROM geoname WHERE
ST_DWithin('POINT(44.8781 -116.6298)',
ST_GeographyFromText('POINT(43.7392 -114.9903)'), 16093.4);
我得到了0个结果,尽管我确信在这些点附近有一些地方
我也试过,
SELECT * FROM geoname WHERE
ST_Distance_Sphere('POINT(44.8781 -116.6298)',
ST_MakePoint(43.7392,-114.9903)) <= 16093.4;
从geoname中选择*,其中
ST_距离_球面('点(44.8781-116.6298)',
ST_MakePoint(43.7392,-114.9903))您没有看到错误消息“错误:坐标值超出地理类型的范围[-180-90,180 90”
将轴顺序从lat lon(或Y X)切换到正确的轴顺序lon lat(或X Y)。如果错误地使用以前的轴顺序创建了几何图形/地理对象,则可以使用更新交换的版本