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

时间:2015-02-06 13:17:31

标签: javascript arcgis arcgis-server arcgis-js-api

我有一个问题,我可以使用一些帮助。在我们的应用程序中,我们有多个FeatureLayers,在其中一些层上,用户可以绘制新对象。

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

所以要明白我认为我需要的是一种服务,它可以找到一层(建筑物)上的所有物体与当下绘制的物体之间的距离..

我确实查看了SummarizeNearby服务,但目前我们还没有获得许可证。然后我看了GeometryService,我想知道这是否是正确的方法..

我认为可以使用GeometryService的差异或交叉方法来查找建筑物图层和绘制对象上所有图形/几何图形之间的差异。如果差异与建筑物层中的图形大小相同,则不存在冲突。但是如果结果与建筑物层不同,那么建筑物层确实包含刚刚绘制的对象,并且那里 - 因为绘制的对象无效。

如果这是要走的路,或者有其他方法可以计算/找到相交/重叠的物体,请现在就告诉我。

非常感谢!

尼科

1 个答案:

答案 0 :(得分:0)

如果您只是想弄清楚任何“帐篷”与任何建筑物重叠,我建议您使用帐篷几何作为空间过滤器对建筑服务进行查询。

使用API​​中的QueryQueryTask对象the documentation。您可以使用各种空间关系来查看对您有用的内容。将几何属性设置为等于帐篷几何,创建QueryTask并调用executeForCount。回调函数将为您提供与您刚刚进行的空间查询匹配的要素计数,或者在本例中为建筑物。

这是一个quick fiddle我在一起。