我想优化我用来查找PostGIS中最近的道路的程序的运行时间。我尝试过在类似问题的答案中提出的其他方法,但它们要么不起作用,要么返回不同的道路。
以下是我目前使用的声明:
SELECT a, b, c, d
FROM roads
WHERE ST_DWithin(ST_GeomFromText('POINT(x y)',-1), geom, maxdistance) AND
speedlimit > 0
ORDER BY ST_Distance(ST_GeomFromText('POINT(x y)',-1), geom)
LIMIT 1
请注意,maxdistance是传递给程序的变量,而speedlimit是道路的速度限制
任何建议都将不胜感激。