ST_Geometry: ST_Relate returns invalid value when presented with an empty geometry as an input parameter
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM006581
已提交
February 6, 2007
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2
修正版本
9.3
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
解决办法
Checking for an output of 1 from ST_Relate will still indicate that the features are equal, except in the case where both input parameters are empty. A more robust method is to check whether geometries are empty when calling ST_Relate. If both are empty, they may be considered equal. If one is empty and the other is not, then they are not equal. For example, to find all combinations of matching features in TBL1 and TBL2select (TBL1.OBJECTID, TBL2.OBJECTID) from TBL1, TBL2 WHERE ST_Relate(TBL1.SHAPE,TBL2.SHAPE, 'T*F**FFF*') = 1 OR ( ST_IsEmpty(TBL1.SHAPE) = 0 AND ST_IsEmpty(TBL2.SHAPE) = 0 );