临近小区分析-利用ArcGIS构建分析模型

本文介绍了如何使用ArcGIS桌面模型构建器创建一个临近分析模型,以实现在地图上点击一点,找出最近的小区面。通过模型构建器串联地理处理工具,包括将点要素转为图层、邻近要素分析、获取字段值和选择对象,最终实现一键查找最近小区面的功能。此外,还提到了将模型发布为GP服务以供前端调用。
摘要由CSDN通过智能技术生成

背景

    最近碰到一个有意思的GIS功能需求:有一份小区的面图层,在地图上点一下,找出距离最近的小区面。

    为什么说是有意思呢?如果大家仔细回想下,就会发现,很多时候,我们通过点击地图上的一个目标跟地图进行交互,目的是要看一下我们所点的这个目标的信息。譬如我们在地图上点一个餐馆的图标,想看看它是做什么菜系的,评论好不好,等等。这个点击动作其实是很明确的,就是奔着看餐馆的信息去。

而相对而言,上面的这个需求所带出来的就是另一类诉求了。找出距离最近的小区,或者说找出最近的目标,这其实是懒人的一种需要。譬如说,我肚子饿了,帮我找出里我最近的餐馆,甭管是西餐还是中餐,粤菜、湘菜、川菜还是海南粉,都可以,只要能填饱肚子(温饱问题没解决,让国家领导人操心了~)。

那这个需求能不能实现?答案是肯定的,怎么实现?

实现思路

    好了,坑已经挖好了,现在开始填坑。在填坑之前,需要补充的是,咨询这个问题的朋友用的是ArcGIS API for JavaScript来开发的业务系统。所以他最初的问题是:JS API有没有提供接口直接实现这个功能?

    去过了一遍JS API,没发现有这个接口可以直接实现?那有没有其他的方式可以很方便的就实现?当时第一个念头想到的解决方案是:建模+发布GP服+JS API调用。那除了这种还有没有其他的方法?答案是肯定的,譬如SOE,又或者直接通过ST_Geometry。但是对于懒人来说,本着【能少写些代码就少写些代码】的精神,还是选择了初衷。

    那这里我主要是重点把建模这个过程解释一下,至于发布成GP服务和利用JS API调用,大家百度一下就可以了,很多文章介绍。好,先把模型图放上来:

这个模型当然是用ArcGIS 桌面的模型构建器实现的。模型构建器是一个用来创建、编辑和管理模型的应用程序,而模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。

  1. 首先创建一个变量【inputpoint】,接收点击地图后返回的点要素,这个变量类型是要素集;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值