【发布时间】:2026-01-04 05:10:01
【问题描述】:
我想找到距离给定点不超过特定点距离的所有点。与普通的半径搜索一样,只有半径随每个点而变化(每个条目都使用点 + 半径围绕自身定义一个圆)。
我的问题是如何为这个问题定义一个索引(我现在使用的查询如下),以及是否可以使用非 GIS 和 GIS 字段创建索引(如下面的启用字段) .
我目前有这个工作查询
SELECT "Locations"."Name",
FROM public."Locations"
WHERE
"Locations"."Enabled" = TRUE
AND ST_DWithin(
"Locations"."MyCoord"::geography,
ST_SetSRID(ST_MakePoint(<Given Long>, <Given Lat>),4326)::geography,
"Locations"."Radius");
如下表
Id: uuid
Name: text
Enabled: boolean
MyCoord: GEOGRAPHY(Point)
Radius: double precision
【问题讨论】:
标签: postgresql gis postgis