ArcGIS 发现图层和几何之间的冲突

ArcGIS find conflict between layer and geometry

我有一个问题需要一些帮助。在我们的应用程序中,我们有多个 Fe​​atureLayer,并且在其中一些图层上,用户可以绘制新对象。

当用户绘制一个新对象时,我们称它为帐篷(任何类型的几何图形),我需要检查该位置是否有效。当对象不占用与建筑物相同的位置时,该对象有效。建筑物存储在一个单独的 featureLayer 上,该 featureLayer 存储在 MapServer 上(并加载到浏览器中)。图纸,帐篷,仅存储在本地(目前)。

言归正传..我认为我需要的是一种服务,它可以找到图层上所有对象(建筑物)与当时绘制的对象之间的距离..

我确实看过 SummarizeNearby services but at this moment we don’t have the license for it. Then I had a look at the GeometryService 我想知道这是否是正确的方法..

我认为可以使用 GeometryService 的求差法或求交法求建筑层和绘制对象上的所有 graphic/geometries 之间的差异。如果差异与建筑物层中的图形大小相同,则不存在冲突。但如果结果与建筑物层不同,那么建筑物层确实包含刚刚绘制的对象,因此绘制的对象无效。

如果这是要走的路,或者是否还有其他方法 calculate/find intersect/overlap 对象 intersect/overlap。

,请告诉我

非常感谢!

妮可

如果您只是想弄清楚 'tents' 是否与任何建筑物重叠,我建议您使用帐篷几何形状作为空间过滤器来查询建筑服务。

这里 the documentation 介绍如何在 API 中使用 QueryQueryTask 对象。您可以尝试各种空间关系,看看什么适合您。将几何体 属性 设置为帐篷几何体,创建一个 QueryTask 并调用 executeForCount。回调函数将为您提供与您刚刚执行的空间查询相匹配的要素计数,在本例中为建筑物计数。

这是我拼凑的quick fiddle