1.引言

百度地图上有这样的功能:点击两个点,地图上会显示对两个点的路径规划。这个功能能否利用 arcgis api 实现呢?答案是肯定的。不过在实现之前,我们需要将数据发布为网络分析服务,接下来我将介绍如何发布网络分析服务。

2. 步骤

2.1 数据准备

首先,我们需要一个 gdb 数据库,右击这个数据库,创建一个 feature dataset。

右击刚创建的 feature dataset,import 我们进行分析所需要的道路数据。

数据导入成功之后,再次右击这个 feature dataset,创建一个 network dataset:

为新建的网络分析数据集命名。

一路点击下一步,直到设置 connectivity 时。connectivity 主要是设置多个图层之间的连通性和连接方式。我们主要关注的是这两个点

  • connectivity policy

    表示的是连接的规则。有两个选项。第一个是 End Point,表示两条线段仅在端点处才能连接。例如下面这张图,l1 和 l2 设置连通性为 End Point 之后,虽然他们显示为交叉,但是不能够从图中的 j1 经过拐点到达 j3。

    第二个选项时 Any Vertex,表示线段上任意一个转折点都可以和其他线段连接。还是上面那个例子,如果设置为 Any Vertex 之后,就可以从 j1 经过拐点到达 j3 了。

  • 连接组

    连接组表示将这两个图层放在同一个网络服务上,如果他们坐标一样,显示在地图上有重合的部分,这些重合的部分会按照对应的连接政策连接。如果这里 highroad 不勾选的换,那么highroad 图层和 road 图层之间是不能连接的。

接下来设置图层的 Z 坐标。即是否需要为每个图层设置高程值,如果有设置高程值,不同高程的点之间是不连通的,我这边选择 None。

接下来的这步操作会影响到最终的路径规划。要选择出两点之间的最短路径,我们需要有一个评判标准,例如长度、时间等,这里我们一长度作为评判路径长短的标准。选择 Add,填入对应的名称、类型、单位等值。关于 Usage Type 的详细介绍可以看这里

添加完之后,我们发现 Distance 字段前面出现了黄色感叹号,表示这个评判标准不合法,我们点击 Evaluators 来消除这个感叹号。主要是为每个图层的评判标准设置一个值,我们将每个图层的 Value 都设置为图层内部的 SHAPE_1_Length,表示长度。根据图层包含字段不同,请自行设置。如果需要对字段进行计算之后再赋值,可以点击右边的这个图标。

接下来设置 Direction 属性,点击 Directions 按钮之后,将 Primary 的 name 属性设置为任意一个字段,至于为什么这么还有待研究。注意,每个图层都要进行这个操作。

点击 下一步,显示我们设置的信息,至此,我们数据准备步骤已经完成了。

2.2 服务发布

发布服务之前,我们需要开启网络分析权限,点击 Customize - extensions,勾选 Network Analyst。打开 Network Analyst 工具条,新建一个 route。至此,数据准备完成了,开始发布数据。

发布过程跟发布基本的动态服务差不多,需要注意的是确保在 Capabilities 选项卡下勾选 Network Analysis。

点击 Analyze 进行分析,没有错误之后,点击 Publish 发布服务。出现以下窗口之后,表示服务发布成功。

arcgis api for js 之网络分析服务发布的更多相关文章

  1. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

    原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分 ...

  2. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  3. arcgis api for js入门开发系列二十打印地图的那些事

    前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...

  4. arcgis api for js入门开发系列四地图查询(含源代码)

    备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...

  5. ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能

    原文:ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能 昨天一QQ好友问了一个关于裁剪的问题,感觉自己也没有帮上什么忙,之后自己做了一个裁剪的例子,不过在做这个例子的 ...

  6. 转:arcgis api for js入门开发系列四地图查询

    原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...

  7. Arcgis API for JS——打印控件乱码

    在通过Arcgis API for JS编写打印控件进行地图下载时,总发现地图字体乱码,如下图: 解决方法: 在装有ArcGIS Server,要调用服务的电脑或服务器上找到下图文件夹

  8. arcgis api for js 地图查询

      arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...

  9. arcgis api for js 4.X 出现跨域问题

    arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...

随机推荐

  1. 操作句柄Handle(7)

    可以将Handle理解成访问对象的一个“句柄”.垃圾回收时对象可能被移动(对象地址发生改变),通过Handle访问对象可以对使用者屏蔽垃圾回收细节. Handle涉及到的相关类的继承关系如下图所示. ...

  2. 数据规整:连接、联合与重塑知识图谱-《利用Python进行数据分析》

    所有内容整理自<利用Python进行数据分析>,使用MindMaster Pro 7.3制作,emmx格式,源文件已经上传Github,需要的同学转左上角自行下载或者右击保存图片. 其他章 ...

  3. python3利用cryptography 进行加密和解密

    我们的日常工作中,一定会遇到需要加密的数据,比如:密码.私密信息... ... 我们不仅要对他们进行加密,更需要对他们进行解密,因为毕竟我们的用户应该不会看得懂加密过后的字符串吧!!! 在python ...

  4. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

  5. Andriod 自动化环境搭建

    一.安装JDK,配置JDK环境    百度搜索下载就行,这里分享一个下载链接:https://pan.baidu.com/s/1snuTOAx 密码:9z8r. 下载好后点击进行安装.安装好后进行环境 ...

  6. 在VS2017中创建C++的代码块模板

    在VS2017中创建C++的代码块模板 有任何问题,请留言!!! 在VS2017中有工具–>代码片段管理器,方便我们使用固有的代码块模板,同时我们也可以自定义模板. 在VS2017中代码片段的模 ...

  7. JavaScript数组在指定某个元素前或后添加元素

    //原数组 var s = [['g','g'],['h','h'],['i','i']]; //要添加的元素 var s1 = ['a','b','c']; //要添加的元素 var s2 = [' ...

  8. Vue使用定时器定时刷新页面

    1. 需求说明 在前端开发中,往往会遇到页面需要实时刷新数据的情况,给用户最新的数据展示. 2. 逻辑分析 如果需要数据实时更新,我们自然是需要使用定时器,不断的调用接口数据,会相对的消耗内存. 3. ...

  9. Selenium自动化:有代码测试与无代码测试。这些你都懂了吗?

    大多数测试人员认为 Selenium是满足其测试自动化需求的自动化框架.作为全球测试人员使用的开放源框架, Selenium 无疑是测试人员适应日趋敏捷的公司的一种好方法.实际上, Selenium仍 ...

  10. Monster Audio 使用教程(三)多音轨录音、播放

    在工作站音轨上,把需要进行录音的音轨的录音按钮点亮,然后点击液晶屏旁边的[录音]按钮,开始录音  导出干声 如果希望录音后,导出干声(干声为录下的原始声音,不受效果器的作用),用其他宿主软件进行处理, ...