背景
最近遇到一个需求:需要了解每个经营网格(面图层)中包含了多少个营业网点(点图层)。在GIS来说,这是一个很基本的需求,实现的方式也很多。这里的情况是B/S架构的系统,所以,我们可以直接在SQL层面使用ST_Geometry函数来实现,还可以在前端使用ArcGIS JavaScript API的空间查询来实现。前一种方式,需要写服务端代码,费劲,所以不考虑;后一种需要先查询到网格图层的数据,再和经营网点进行空间查询,网格数多的话,需要进行多次空间查询,效果不高,所以也不考虑。
既要省时又要效率高,那就不妨试试GP服务!
实现思路
ArcGIS里面提供了空间关联的工具,具体路径在:
这个工具接受两个参数:一个是目标图层、一个是关联图层。在我们的需求里面,目标图层是网格图层、关联古城是营业网点图层。利用这个工具,我们再使用Model Builder工具构建了一个模型,具体如下图:
利用这个模型我们再发布成GP服务,如下图所示: