【发布时间】:2019-12-16 09:14:34
【问题描述】:
我目前正在 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 将其分配给一个变量。
来自 JSTS 的contains-method 将返回一个布尔值,指示多边形 2 是否包含在多边形 1 中
【问题讨论】:
-
预定义边距是什么意思?
-
我很想知道您是如何验证多边形在另一个多边形内的。也许,分享一个代码 sn-p 可以帮助像我这样的人。
-
@JamshaidKamran 很高兴。我已经用这些信息更新了帖子。希望对您有所帮助。
标签: geometry openlayers