如何使用Oracle Spatial Java API判断点是否在多边形内部?
处理JGeometry形状包含判断的踩坑经历
我最近在做Oracle空间几何的包含判断时,接连遇到两个问题,跟大家分享下我的试错过程:
首先尝试了
JGeometry.createShape()方法,结果发现完全行不通。因为它返回的是java.awt.geom.GeneralPath对象,这个类只支持单精度,导致调用shape.contains(...)时,在多边形的边缘区域经常返回错误结果,精度根本达不到要求。之后我换成了
JGeometry.createDoubleShape(),它返回的是oracle.spatial.util.SDODoubleGeneralPath对象,本以为双精度能解决精度问题,结果调用contains方法直接报错了——显然这个类的contains方法存在部分实现缺陷,没法正常使用。
内容的提问来源于stack exchange,提问作者Marco Curvello
相关产品推荐
相关产品推荐

