ArcGIS 发现图层和几何之间的冲突
ArcGIS find conflict between layer and geometry
我有一个问题需要一些帮助。在我们的应用程序中,我们有多个 FeatureLayer,并且在其中一些图层上,用户可以绘制新对象。
当用户绘制一个新对象时,我们称它为帐篷(任何类型的几何图形),我需要检查该位置是否有效。当对象不占用与建筑物相同的位置时,该对象有效。建筑物存储在一个单独的 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 中使用 Query
和 QueryTask
对象。您可以尝试各种空间关系,看看什么适合您。将几何体 属性 设置为帐篷几何体,创建一个 QueryTask
并调用 executeForCount
。回调函数将为您提供与您刚刚执行的空间查询相匹配的要素计数,在本例中为建筑物计数。
这是我拼凑的quick fiddle。
我有一个问题需要一些帮助。在我们的应用程序中,我们有多个 FeatureLayer,并且在其中一些图层上,用户可以绘制新对象。
当用户绘制一个新对象时,我们称它为帐篷(任何类型的几何图形),我需要检查该位置是否有效。当对象不占用与建筑物相同的位置时,该对象有效。建筑物存储在一个单独的 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 中使用 Query
和 QueryTask
对象。您可以尝试各种空间关系,看看什么适合您。将几何体 属性 设置为帐篷几何体,创建一个 QueryTask
并调用 executeForCount
。回调函数将为您提供与您刚刚执行的空间查询相匹配的要素计数,在本例中为建筑物计数。
这是我拼凑的quick fiddle。