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)。如果错误地使用以前的轴顺序创建了几何图形/地理对象,则可以使用更新交换的版本