Geotools/JTS中MultiPolygon等集合几何能否包含同类集合几何?
Geotools/JTS 中 Multi 系列几何的子元素类型规则
MultiPolygon
它的子几何对象必须是 Polygon 类型,既不能嵌套另一个 MultiPolygon,也不能包含 Point、LineString 等其他类型的几何。JTS/Geotools 严格遵循 OGC 简单要素规范,MultiPolygon 的定义就是由多个独立的 Polygon 组成的集合,不允许混合其他类型或嵌套同类型的 Multi 几何。
MultiPoint
子元素只能是 Point 类型,禁止包含 MultiPoint 或其他几何类型,完全符合规范中“Point 集合”的定义。
MultiLineString
子元素必须是 LineString 类型,不能嵌套 MultiLineString,也不能混入其他类型的几何,仅能由单个的 LineString 对象组成。
如果需要处理包含嵌套 Multi 几何的场景,比如合并多个 MultiPolygon,需要先将嵌套的 Multi 几何扁平化(提取内部的基础几何),再重新构建对应的 Multi 几何。如果要容纳不同类型的几何,可以使用 GeometryCollection 类型。
内容的提问来源于stack exchange,提问作者gym
相关产品推荐
相关产品推荐

