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. shaderlab - 9chapter-阴影

    原理 相机和光源重合,相机能看到的表面,形成的深度图--叫做,阴影纹理(shadowMap). 传统的,用base和add更新深度信息,但是,此处需求是深度信息而已,掺杂了光的计算了,所以,unity ...

  2. angular浏览器兼容性问题解决方案

    问题:edge浏览器下,固定列的边框消失 原因:ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webki ...

  3. 模板方法模式(c++实现)

    外观模式 目录 外观模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 模式定义 模板方法模式(Facade),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变 ...

  4. Lodash中数组常用方法

    数组方法 1.数组对象去重 differenceBy(array, [values], [iteratee=_.identity]) let newArr =_.differenceBy( [{ na ...

  5. Static关键字的使用

    Static关键字的使用 static关键字的作用: 用来修饰成员变量和方法,被修饰的成员是属于类的,而不单单是属于某个对象的,也就是说,可以不靠对象来调用. 首先我们来介绍类变量 当static修饰 ...

  6. equals方法与==关系的总结

    /** * ==&&equals区别 * * ==比较的是栈内存中的值 * 对于基本类型数据,比较的是栈内存中的值 * 对于引用数据类型,比较的是栈内存中的值(值的真是含义是一个地址) ...

  7. Python Ethical Hacking - WEB PENETRATION TESTING(3)

    CRAWLING SUMMARY Our crawler so far can guess: Subdomains. Directories. Files. Advantages: ->Disc ...

  8. 抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~

    0.问题 和Synchronized的区别 存储在jvm的哪个区域 真的只是当前线程可见吗 会导致内存泄漏么 为什么用Entry数组而不是Entry对象 你学习的开源框架哪些用到了ThreadLoca ...

  9. vue中引入jq的步骤--以及注意事项

  10. 性能测试必备知识(5)- 深入理解“CPU 上下文切换”

    做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 前言 上一篇文章中,举例了大量进程等待 CP ...