arcgis api for js 之网络分析服务发布
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 之网络分析服务发布的更多相关文章
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分 ...
- arcgis api for js入门开发系列一arcgis api离线部署
在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...
- arcgis api for js入门开发系列二十打印地图的那些事
前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...
- arcgis api for js入门开发系列四地图查询(含源代码)
备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...
- ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能
原文:ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能 昨天一QQ好友问了一个关于裁剪的问题,感觉自己也没有帮上什么忙,之后自己做了一个裁剪的例子,不过在做这个例子的 ...
- 转:arcgis api for js入门开发系列四地图查询
原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...
- Arcgis API for JS——打印控件乱码
在通过Arcgis API for JS编写打印控件进行地图下载时,总发现地图字体乱码,如下图: 解决方法: 在装有ArcGIS Server,要调用服务的电脑或服务器上找到下图文件夹
- arcgis api for js 地图查询
arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...
- arcgis api for js 4.X 出现跨域问题
arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...
随机推荐
- 【IDEA】创建maven项目,webapp没有被标识,无法识别
问题描述 新建maven项目模块后,webapp目录未被标识,也就是没有小蓝点的图标显示. 解决方法 点击"File"下的"Project Strucure", ...
- bzoj1682[Usaco2005 Mar]Out of Hay 干草危机*
bzoj1682[Usaco2005 Mar]Out of Hay 干草危机 题意: 给个图,每个节点都和1联通,奶牛要从1到每个节点(可以走回头路),希望经过的最长边最短. 题解: 求最小生成树即可 ...
- 计算机网络学习socket--day2
1.TCP客户/服务器模型(C/S) 2.回射客户/服务器模型 3.socket.bind.listen.accept.connect ||------------------------------ ...
- 计算机网络学习socket--day1
socket编程 socket可以看成是用户进程与内核网络协议栈的编程接口 socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信 socket全双工通信 在异构系统间进行通信 ...
- java 使用正则去重
//去重复 public static void test1() { String str = "aaactttsssfvvvvds"; String regex = " ...
- svg 使用中的疑惑点
svg,g ,defs,symbol 都是容器元素,使用起来给人许多疑惑 svg-spirite-loader在页面生成的svg标签有什么特点? svg标签里面的symbol有什么用? 这些标签能够随 ...
- WYT的刷子
WYT的刷子 题目描述 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 与地面垂 ...
- 试一试 GraphQL
GraphQL 简介 一种用于 API 的查询语言. GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整 ...
- Flutter日常笔记
factory修饰的构造方法 表示不是每次返回的都是新创建出来的对象, 可以取内存中已有的, 比如单例模式的书写 每次返回的都是一个实例, 这时要使用factory修饰构造方法 flutter不要求显 ...
- Python灰帽子:黑客与逆向工程师的Python编程之道|百度网盘免费下载|新手黑客入门
百度网盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道 提取码:tgpg 目录 · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 11.2 获取和安装Pyt ...