检查多边形是否被其他多边形完全填充
Check if polygon is completely filled by other polygons
我目前正在 Openlayers 中为需要验证在另一个多边形(基本区域)内绘制多边形的客户创建地图。通过使用 JSTS 和 Openlayers 本机方法,我能够验证所有形状都绘制在多边形内,并且不与多边形内的其他形状相交。这包括标记和多边形。
另一个要求是检查基区是否完全被其他多边形填充,并具有预定义的边距。我还没有想出任何方法来做到这一点。什么是完成此任务的好方法?
编辑:
我用来检查多边形是否包含其他多边形的方法:
const geoJSONFormat = new GeoJSON();
const jstsGeoJSONReader = new jsts.io.GeoJSONReader();`
polygon1 = jstsGeoJSONReader.read(geoJSONFormat.writeFeatureObject(feature1)).geometry;
polygon2 = jstsGeoJSONReader.read(geoJSONFormat.writeFeatureObject(feature2)).geometry;
polygon1ContainsPolygon2= polygon1.contains(polygon2); `
首先,我将给定的特征传递给从 OL 导入的 geoJSONFormat.writeFeatureObject。然后使用 JSTS GeoJSON-reader.
将其分配给一个变量
contains
-来自 JSTS 的方法将 return 一个布尔值,指示 polygon2 是否包含在 polygon1
中
由于您已经验证了多边形位于基地区域内并且它们没有重叠。要检查底面积是否完全填满,只需检查多边形面积之和等于底面积即可。
我不完全确定你所说的边距是什么意思,但你可以检查多边形面积的总和至少是基面积的 x% 以给出一些 "wiggle"房间。
我目前正在 Openlayers 中为需要验证在另一个多边形(基本区域)内绘制多边形的客户创建地图。通过使用 JSTS 和 Openlayers 本机方法,我能够验证所有形状都绘制在多边形内,并且不与多边形内的其他形状相交。这包括标记和多边形。
另一个要求是检查基区是否完全被其他多边形填充,并具有预定义的边距。我还没有想出任何方法来做到这一点。什么是完成此任务的好方法?
编辑:
我用来检查多边形是否包含其他多边形的方法:
const geoJSONFormat = new GeoJSON();
const jstsGeoJSONReader = new jsts.io.GeoJSONReader();`
polygon1 = jstsGeoJSONReader.read(geoJSONFormat.writeFeatureObject(feature1)).geometry;
polygon2 = jstsGeoJSONReader.read(geoJSONFormat.writeFeatureObject(feature2)).geometry;
polygon1ContainsPolygon2= polygon1.contains(polygon2); `
首先,我将给定的特征传递给从 OL 导入的 geoJSONFormat.writeFeatureObject。然后使用 JSTS GeoJSON-reader.
将其分配给一个变量contains
-来自 JSTS 的方法将 return 一个布尔值,指示 polygon2 是否包含在 polygon1
由于您已经验证了多边形位于基地区域内并且它们没有重叠。要检查底面积是否完全填满,只需检查多边形面积之和等于底面积即可。
我不完全确定你所说的边距是什么意思,但你可以检查多边形面积的总和至少是基面积的 x% 以给出一些 "wiggle"房间。