gpt4 book ai didi

PostgreSQL:如何解决 ST_Intersects 中的 "Could not generate outside point"错误

转载 作者:行者123 更新时间:2023-11-29 13:20:25 25 4
gpt4 key购买 nike

我在我的径向地理空间搜索中遇到了一个错误,如果用户定义了一个半径延伸到任一极点的圆,我会遇到 PostGIS 错误:调用 ST_Intersects 引发的“BOOM!无法生成外部点”。我知道为什么会发生这种情况,但有没有办法让我修剪我正在查询的缓冲地理/几何图形,以免导致 ST_Intersects 遇到任何外部点?

可以使用以下查询复制我的问题:

SELECT ST_intersects(
ST_BUFFER(
ST_geomFromGeoJSON('{"type":"Point","coordinates":[-110.390625,42.293564192170095]}')::geography,
17712927.122199997
),
ST_geomFromGeoJSON('{"type":"Point","coordinates":[-28.828124999999996,84.7060489350415]}')::geography
);

最佳答案

再次查看文档后,我注意到他们建议不要使用 ST_Buffer 进行径向搜索。相反,使用 ST_DWithin(geography, geography, meters) 将避免此问题。

以下查询将满足我的问题:

SELECT ST_DWithin(
ST_geomFromGeoJSON('{"type":"Point","coordinates":[-110.390625,42.293564192170095]}')::geography,
ST_geomFromGeoJSON('{"type":"Point","coordinates":[-28.828124999999996,84.7060489350415]}')::geography,
17712927.122199997
);

关于PostgreSQL:如何解决 ST_Intersects 中的 "Could not generate outside point"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42812663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com