相关疑难解决方法(0)

Postgis SQL为最近邻居

我正在尝试计算最近的邻居.为此,我需要传递一个参数来限制与邻居的最大距离.例如,哪些是半径1000米内最近的邻居?

我做了以下事情:

我用数据创建了我的表:

id | name | latitude | longitude
Run Code Online (Sandbox Code Playgroud)

之后,我执行了以下查询:

SELECT AddGeometryColumn ( 'public' , ' green ', ' geom ' , 4326 , ' POINT' , 2 );

UPDATE season
SET geom = ST_Transform(ST_PointFromText ('POINT (' || longitude || ' ' || latitude || ')', 4269), 4326);
Run Code Online (Sandbox Code Playgroud)

第一个问题,巴西的SRID是4326吗?什么是4269?

第二个问题,通过执行以下SQL

SELECT id, name
FROM season
WHERE ST_DWithin (
                 geom ,
                 ST_GeomFromText ('POINT(-49.2653819 -25.4244287 )', 4326),
                 1000
                 );
Run Code Online (Sandbox Code Playgroud)

这什么都不返回.据我所知,这个SQL会进一步指向最大距离的半径,对吧?

如果您将1000个结果显示为100000000,则会显示所有条目.

所以,我想知道这里有什么问题?

sql postgresql postgis

5
推荐指数
2
解决办法
3870
查看次数

标签 统计

postgis ×1

postgresql ×1

sql ×1