作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 postgis 查询:
select st_pointonsurface(geometry), geometry, other, important, columns
from my_polygons;
在 ~2.5m 结果之后,有一个函数失败的记录。
ERROR: GEOSPoint OnSurface: TopologyException:
Input geom 1 is invalid: Self-intersection at or near
point -9083598.0378282126 3646413.3039207752 at -9083598.0378282126 3646413.3039207752
查看几何图形,我明白了为什么会失败。这是一个糟糕的多边形。
我愿意
null
并返回其他列)。我怎样才能得到这两种结果?
最佳答案
此函数将“尝试/捕获”该函数,在出现任何异常时返回 null
。
CREATE OR replace FUNCTION polylabel(arg geometry)
RETURNS geometry LANGUAGE plpgsql
AS $$
BEGIN
BEGIN
RETURN st_pointonsurface(arg);
EXCEPTION WHEN OTHERS THEN
RETURN null;
end;
END $$;
关于postgresql - 如何在 postgres(postgis)查询中将错误转换为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53291720/
我是一名优秀的程序员,十分优秀!