arcgis server的各类服务介绍和发布
本篇博文目的:主要是介绍arcgis server的各类服务以及发布; 也是由于之前对各种各样的服务搞得眼花缭乱,不知道这些服务能干什么,相互之间区别是什么,每种类型应该如何发布,发布的各种服务主要是用来做什么用;
针对本文,我将从数据,设计和制作,发布,使用四个方面对arcgis server的各种服务进行简要描述;
大家常见的有:
地图服务:发布和使用ArcGIS Server 服务之–地图服务(Mapserver)
要素服务:发布和使用 ArcGIS Server 服务之–要素服务(feature server)
影像服务:发布和使用 ArcGIS Server 服务之–影像服务(image server)
OGC 服务:发布和使用 ArcGIS Server 服务之–OGC服务(WMS/WMTS/WFS/WCS/WPS)
缓存服务:发布和使用 ArcGIS Server 服务之–缓存服务(TileServer)(一)
缓存服务:管理和迁移ArcGIS Server服务和缓存服务(TileServer)(二)
地理处理服务、矢量切片服务、场景服务
、地理数据服务、以及几何服务、KML 服务、地理编码服务、定位器Maritime Server、路径服务、Schematics 服务、流服务、公共设施网络服务、Workflow Manager 服务等;
1、arcgis server都有哪些服务?
ArcGIS Server 托管 GIS 服务。此服务表示可供客户端应用程序使用的地理空间资源(如地图、定位器或地理数据库连接)。
ArcGIS Enterprise 中的 GIS 产品(例如门户中的 Web 地图和应用程序)由 ArcGIS Server 服务提供支持。用户所采取的操作(包括平移和缩放地图等查看器操作以及更新或删除要素等编辑器操作)可对 ArcGIS Server 站点的计算机上运行的服务发出请求。
服务将便于在多个客户端上共用各种资源。您可确保各个客户端均显示相同的资源,并可保存资源,因为服务器用于存储这些资源并且客户端无需安装 GIS 软件。或者,服务器将存储资源、托管服务并执行地理空间操作,从而将结果以常用格式(如图像或文本)发送回客户端。
那么下面我就来简要介绍一下什么是服务,什么是服务类型;
在讨论这个问题前:
1、我们先一起来思考一下,我们的数据源有什么类型?
2、可以对数据源做什么操作?
3、发布的时候,怎么样才能算是 发布上述的那些服务类型?
回答1:矢量数据(shapefile),地理数据库(gdb\mdb\sde)中的要素类(feature class),栅格数据(栅格数据集或镶嵌数据集),以及三维数据;
回答2、我们可以做什么操作呢? 配图:符号化,GIS的空间分析操作、GIS的地理处理操作、数据类型格式的转换以及一系列对GIS数据的操作等等;
回答3、那么怎么样才算是发布对于的类型呢? 这个也是我们接下来会讲解的内容:我们先把问题定格在 数据源->制作和设计->发布成服务->使用服务???当然,这部分也是我需要 给大家以更容易理解和接受的方式进行一个逻辑性的讲解;
1.1 什么是服务
ArcGIS Web 服务将空间数据组织到功能性 GIS 资源中,以在 Web 服务器上运行。通过这种方式,服务允许多个用户同时访问和浏览托管在中央服务器计算机上的数据,并将该数据包含在 Web 和移动设备上的 GIS 产品中。您在 ArcGIS Enterprise 中使用的所有服务均由 Web 服务提供。
Web 服务不是地图或图层,且通常不作为用户的最终产品。相反,客户端应用程序将查询服务以接收可在地图和其他 GIS 产品中使用的信息。可以使用多种地理空间服务,这些服务代表不同类型的内容,例如地图、场景、地理处理工具、地理数据库和影像。
Web 服务在 ArcGIS Server 站点上运行,且通常从 ArcGIS Pro 或 ArcMap 发布到站点。ArcGIS Server 中的服务从客户端接收查询,并基于其数据和配置返回响应。ArcGIS Enterprise 门户、ArcGIS Online 和大量 Esri 应用程序和开发人员工具旨在使用 ArcGIS Server 服务等多种第三方产品。
从 ArcGIS Pro 或 ArcMap 将服务发布到 ArcGIS Server 站点后,可以对服务进行管理(保护或共享服务、更改其设置、进行故障排除并提高其性能)。可以在 ArcGIS Server Manager 应用程序和 ArcGIS Server Administrator Directory 中进行服务管理。
1.2 服务类型
下表汇总了可以发布的服务以及每个服务需要的 GIS 资源:
所需的 GIS 资源 | 服务类型 |
---|---|
地址定位器 (.loc) | 地理编码服务 |
文件地理数据库或至地理数据库的数据库连接文件 (.sde) | 地理数据服务 |
ArcGIS Desktop 中来自结果窗口的地理处理结果 | 地理处理服务 |
栅格数据集或镶嵌数据集,或者引用栅格数据集或镶嵌数据集的图层文件 | 影像服务(缓存、动态) |
地图文档 (.mxd) - 可以包括栅格数据集或者引用栅格数据集的图层文件; 注:有关可发布自 ArcGIS Pro 的图层类型的汇总,请参阅共享 Web 图层简介。 | 地图服务(缓存、动态) |
ArcGIS Pro 3D 场景 | 场景服务 |
ArcGIS Pro 矢量切片包 (.vtpk) | 矢量切片服务 |
GeoEvent Server 服务组件 | 流服务 |
可能有些小伙伴会说,从上表中可以看出来服务的GIS数据源和服务类型; 但是和你上面说的arcgis server 的地图服务、要素服务、影像服务、OGC 服务、地理处理服务、矢量切片服务、场景服务、缓存服务、地理数据服务、以及几何服务、KML 服务、地理编码服务、定位器Maritime Server、路径服务、Schematics 服务、流服务、公共设施网络服务、Workflow Manager 服务等;
这些联系和区别呢?
先来区分几个概念:服务,服务类型,服务功能; 本章说的 数据源和服务类型的对应关系;
那么 服务和功能的对应呢? 往下一起看看,你就能理解了。
1.3 服务的功能
向 ArcGIS GIS Server 发布 GIS 资源时,可启用那些定义客户端使用服务的各种方式的功能。例如,您可能需要在地图服务上启用要素访问功能,才能允许其他人通过 Web 编辑要素。可通过启用功能向应用程序用户提供所需的 GIS 功能。
作为 ArcGIS Server 管理员,您对服务器的关注重点是 GIS 资源以及基于这些资源所创建的服务。然而,客户端对服务器的关注重点更多在于您发布资源时所启用的功能,因为这些功能均可供使用。作为管理员,您可以发布一项 GIS 资源并为该资源启用多种功能。使用这些服务的用户会以单个服务的形式查看这些功能。
下表详细介绍了可启用的功能以及启用各项功能所需的 GIS 资源:
功能 | 功能介绍 | 显示此功能的服务 |
---|---|---|
电子海图 | 用于在任何地点访问 S-57 ENC、AML、IENC 和加密的 S-63 数据集,以便进行可视化和分析。 | 航海图服务 |
要素访问 | 用于访问地图中的矢量要素。 | 地图服务 |
地理编码 | 用于访问地址定位器。发布地理编码服务时总是会启用此功能。 | 地理编码服务 |
地理数据 | 用于访问地理数据库的内容以进行数据查询、提取和复制。发布地理数据服务时 | 总是会启用此功能。 |
地理处理 | 用于访问地理处理模型。发布地理处理服务时总是会启用此功能。 | 地理处理服务 |
影像 | 用于访问栅格数据集或镶嵌数据集的内容,包括像素值、属性、元数据和波段。发布影像服务时总是会启用此功能。 | 影像服务 |
KML | 使用地图文档创建 Keyhole 标记语言 (KML) 要素。 | 地图服务 |
线性参考 | 分析、可视化和维护引用位置的网络和关联事件数据。 | 地图服务 |
制图 | 用于访问地图的内容,例如图层及其基本属性。发布地图服务时总是会启用此功能。 | 地图服务 |
网络分析 | 使用 ArcGIS Network Analyst 扩展模块求解交通网分析问题。 | 地图服务 |
网络逻辑示意图 | ArcGIS Utility Network Management extension 的此项功能可显示用于创建、访问、编辑和维护已发布网络逻辑示意图的各种不同功能。 | 地图服务 |
宗地结构 | 提供对可在 ArcGIS Pro 中编辑和使用的宗地结构图层的访问权限。 | 地图服务 |
逻辑示意图 | 允许查看、生成、更新和编辑逻辑示意图。 | 地图服务 |
公共设施网络 | ArcGIS Utility Network Management extension 的这一功能用于解决公共设施网络分析问题。 | 地图服务 |
版本管理 | 此功能可显示支持与分支版本化数据集配合使用的要素服务的管理功能。 | 地图服务 |
WCS | 创建符合开放地理空间联盟 (OGC) 网络覆盖服务 (WCS) 规范的服务。 | 地图服务、影像服务、地理数据服务 |
WFS | 创建符合 OGC Web 要素服务 (WFS) 规范的服务。 | 地图服务、地理数据服务 |
WMS | 创建符合 OGC Web 地图服务 (WMS) 规范的服务。 | 地图服务、影像服务 |
WMTS* | 创建符合 OGC Web 地图切片服务 (WMTS) 规范的服务。 | 地图服务、影像服务 |
WPS | 创建符合 OGC Web 处理服务 (WPS) 规范的服务。 | 地理处理服务 |
2、服务准备制作和发布操作
2.1、服务的数据源和设计
由于数据对于 Web 服务至关重要,因此考虑服务中数据的存储方式和位置非常重要。
许多数据类型和数据存储类型都可以使用 ArcGIS Server。您可以将自己的数据存储注册到 ArcGIS Server,以便您的服务可以引用其中的数据,而无需复制外源数据。ArcGIS Enterprise 还可以托管数据,这意味着将数据复制到 ArcGIS Enterprise 并由系统进行维护。
前面大概介绍过发布的是GIS资源:有本地矢量数据(shapefile),地理数据库(gdb\mdb\sde)中的要素类(feature class),栅格数据(栅格数据集或镶嵌数据集),以及三维数据; mxd文档,各种各样的包:slpk,vptk,tpk等;
GIS配图:二三位数据的符号化操作等,以使自己的数据更美观;
GIS分析:arcmap提供了1400多个工具箱,可以对矢量和栅格数据做各种各样的分析,这些分析的原始数据和分析处理后的数据都可以作为发布服务的GIS资源;
这就需要我们强大的桌面软件arcmap和arcgis pro软件了,当然 有些小伙伴会说,那我能不能通过其他方式呢? 当然可以; 我们还可以通过arcgis server直接上传 .sd(服务定义文件)进行直接发布服务;
注:
我们在加载和设计数据源的时候,切片不同数据的坐标系参考要一致:
EPSG和WKID空间参考之–坐标系简单理解
2.2、制作和发布服务
看到这些,可能有些小伙伴还是不能理解; 服务类型,服务,服务的功能,这个只是概念的东西,如果实际操作的时候,我在那些地方进行选择才具备这种服务的功能,才是这种服务呢?
那么我们应该如何选择服务的功能呢,下面我就以 简单的发布简单的地图服务 服务发布时编辑界面,作一个简答的介绍,下图我们可以看到各种服务类型:
那么当我勾选 这开放地理空间联盟 (OGC) 的 Web 地图服务 (WMS) 规范和要素服务(Feature Access)两种服务类型时那么发布的服务就是这种服务的类型了:
服务的功能呢,我们一起来看看下图你获取就能窥探一二:
可能小伙伴会有疑问: 那么发布服务的数据源、服务的类型、服务、服务的功能我大概理解了;
那么从数据源出来那么我该如何对应起来呢?
比如说: 上图我的数据数据是存放在sde中的,我可以发布成普通的地图服务,可以发不成 要素服务,可以发不成OGC的WMS服务等等服务;
注:其实每种服务会有自己对应的数据源,而特定的数据源能不能发布成 某种服务也是有规定的,后续我们一起探讨探讨,这里不深入讲解。
2.2.1 发布的方式
GP服务(地理处理服务) 发布的方式:需要先对需要发布的工具做一下运行,并且运行成功后,在result窗口,点击工具上,右键共享为地理处理服务:
发布 地图服务,地图发布发布的文件为 当前打开arcmap中加载数据的整个视图;其发布的是mxd文档,mxd中储存的是数据的链接:
发布 影像服务:在catalog上,文件夹先链接到对应的栅格数据,然后右键 共享为影像服务:
2.3.2 应该启用哪个服务功能?
了解哪些功能可用并根据您的需要选择最适合的功能十分重要。以下示例可能有助于您考虑在发布 GIS 资源时应启用哪些功能:
如果您希望客户端支持数据质量保证和质量控制工作流,请参阅关于 ArcGIS Data Reviewer for Server 的帮助。
如果您希望客户端可访问地图的矢量要素并执行编辑功能,则需要将地图文档发布为含已启用“要素访问”功能的地图服务。有关详细信息,请参阅要素服务帮助主题。
如果您希望客户端能对地址进行地理编码,则需要创建一个地址定位器并将其发布为地理编码服务。此类服务的地理编码功能始终处于启用状态。请参阅地理编码服务帮助主题。
如果要将多个位置的地理数据库中的信息进行同步,则需将这些地理数据库发布为一个地理数据服务。此类服务的地理数据功能始终处于启用状态。请参阅地理数据服务帮助主题。
如果希望客户端运行您所创建的模型,则需发布模型的结果。请参阅使用 ArcGIS Server 进行地理处理的帮助信息。
如果要通过 Web 提供大量栅格数据,请将这些数据发布为影像服务。此类服务的影像功能始终处于启用状态。请参阅影像服务帮助主题。
如果要创建可通过 Google Earth 访问的服务,请发布启用 KML 功能的地图文档。默认情况下,新的地图服务将启用此功能。请参阅查看 KML 形式的服务。
如果要在 Web 应用程序中显示地图文档的内容,请将此地图文档发布为地图服务。此类服务的制图功能始终处于启用状态。请参阅地图服务帮助主题。
如果有多个位置需要执行路径分析,则应创建一个具有网络分析图层的地图文档,然后将地图发布为服务并启用网络分析功能。请参阅网络分析服务。
如果要在服务器环境中访问逻辑示意图,请创建具有与这些逻辑示意图相关的逻辑示意图图层的地图文档。通过发布启用了 Schematics 功能的地图,可以编辑逻辑示意图(应用逻辑示意图算法、更新)并生成新的逻辑示意图。请参阅** Schematics 服务**。
如果要通过开放并经认可的标准提供影像,可在影像服务中启用 WCS 功能。还可在地图服务或地理数据服务中启用此功能。请参阅 WCS 服务。
如果要通过开放并经认可的标准在 Web 上提供地理要素数据,请发布地理数据服务或地图服务并启用 WFS 功能。请参阅** WFS 服务**。
如果要使用开放并经认可的标准在 Web 上提供地图图像,请创建一个地图文档并发布启用 WMS 功能的这一地图文档。请参阅 WMS 服务。
如果要使用开放并经认可的标准使 ArcGIS Server 地图在 Web 上更快地运行,可创建缓存地图服务并通过与 OGC 的 WMTS 兼容的应用程序访问它。当您使用 ArcGIS Server 创建缓存地图服务时,可通过 WMTS 规范自动访问该地图服务及其切片。请参阅 WMTS 服务。
如果希望客户端运行您使用开放并经认可的标准所创建的模型,则应发布启用了 WPS 功能的地理处理模型的结果。请参阅** WPS 服务**。
如果需要向客户端应用程序提供某项特定功能,请使用您自己的功能扩展服务。可针对地图和影像服务开发自定义功能。请参阅关于扩展服务。
2.3.3都能怎么样发布服务
ArcGIS Pro 或、ArcMap 发布服务、ArcGIS Server或者Protal;
当您从 ArcGIS Pro 或 ArcMap 发布服务时,您可以使用在用户管理存储中注册的数据,也可以将数据复制到由 ArcGIS Enterprise 管理的存储中。在用户管理的数据存储中,数据库管理员负责维护和组织数据以有效使用数据。使用 ArcGIS 管理数据的服务称为托管服务;其数据可以存储在 ArcGIS Server 站点或 ArcGIS Data Store 中,具体取决于发布方式。
3、使用服务
3.1 使用服务方式
Web 服务一经运行,您便可在任意应用程序、设备或可通过 HTTP 通信的 API 中使用这些服务。以下为示例:
-
在 ArcGIS Online 和 ArcGIS Enterprise 中您可以创建和保存用于显示服务的地图和应用程序。您可以使用您发布的服务,也可以从 web 添加服务。
-
当您将地图作为 web 地图从 ArcGIS Pro 发布到 ArcGIS Enterprise 门户时,地图中的每个图层都可以作为服务发布到联合 ArcGIS Server 站点。
-
ArcGIS APIs for JavaScript 和 Python 以及 ArcGIS Runtime SDK 允许您开发自定义应用程序,以在您设计的界面中使用您的 web 服务。
-
ArcGIS Desktop 应用程序(例如 ArcMap 和 ArcGIS Pro)使用 ArcGIS Server 发布的 web 服务。在这些应用程序中使用服务通常只需单击添加数据按钮即可。
-
可发出 SOAP 或 REST Web 服务请求的任何其他应用程序都可连接到 ArcGIS Server。支持的客户端包括从可搜索最近的杂货店的智能手机和平板电脑应用程序,到用于客户管理或资源规划的企业级桌面应用程序。
然而,ArcGIS Desktop 应用程序和 ArcGIS Enterprise 门户可用作服务的常用客户端应用程序。
使用由 ArcGIS Server 托管的服务时,大多数情况下,您对此资源所具有的访问权限与此资源位于您的计算机上时所具有的访问权限相同。例如,地图服务允许客户端应用程序访问服务器上的地图的内容,所允许的访问方式与地图文档存储在本地时的访问方式大致相同。
将 GIS 资源发布为服务是使该资源可供其他用户使用的关键。部署 ArcGIS Server 时,将会遵循在 ArcGIS Desktop 中创建资源并将资源发布为服务的通用方式,以便客户端应用程序可以使用这些资源。
3.2 如何查看服务
发布地图或影像服务时,您可能需要快速查看以验证发布过程是否成功。虽然可通过很多方式查看服务,但本主题中还是列出了两种用于在发布后或进行故障排除时快速检查服务的方法。
3.2.1 arcmap/arcgis pro中查看服务
1)单击标准工具条上的添加数据按钮 添加数据 以打开添加数据对话框。
2)在查找范围列表中,选择 GIS 服务器以查看以前使用的服务器列表。
如果未看到所需的服务器,则使用添加 ArcGIS Server 以连接到 GIS 服务器。
3)连接到 ArcGIS Desktop 后,即可使用 GIS 服务图标 添加数据 GIS 服务图标 在添加数据对话框中列出地图服务。选择想要添加的地图服务。
单击添加。
4)服务将作为图层添加进来。
3.2.2 在 Manager 中查看服务
在 Manager 中,您可在简单的基于 JavaScript 的应用程序中启动地图或影像服务。
登录 Manager。
单击服务。
浏览到您的服务并单击服务旁边的缩略图。可在随服务目录一起显示的同一个简单的 Web 查看器窗口中启动服务。
3.3 服务的url
您不需要任何专用的 GIS 软件便可使用服务;可在 Web 浏览器或自定义应用程序中使用服务。
在 ArcGIS 服务目录中,使用 ArcGIS Server 发布的每个 GIS Web 服务都有一个 URL 和一个条目。这是一个服务目录,其中的每个 GIS 服务都包括一个描述。例如,下图显示人口统计状况/美国失业率地图服务的服务目录条目:
客户端需要知道 URL 以访问 Web 服务。通过 REST 访问服务器,请使用下列格式:
http://gisserver.domain.com:6080/arcgis/rest/services
将显示一个名为“服务目录”的页面。可导航到“服务目录”中的链接以获取服务器上任意服务的 URL。您会注意到,要连接到特定的服务,可使用较长格式的 REST URL:
http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/service type
要通过 SOAP 访问服务器,请按照下列方式设定 URL 格式:
http://gisserver.domain.com:6080/arcgis/services
要通过 SOAP 访问特定服务,请使用下列格式:
http://gisserver.domain.com:6080/arcgis/services/folder/service/service type (required for some services)/capability type (required for some services)
3.4 各种开发的调用
JavaScript 和 Python 以及 ArcGIS Runtime SDK 等,都可以调用发布的服务:
3.5 REST API接口的调用
Export Map动态出图
query 查询
tiles行列号得底图切片
Identify栅格值
reverseGeocode反地理编码 通过xy查地名
GeometryService 几何分析服务
ws://流服务
Excute GP或网络分析
4、在arcgis中如何进行各种类型服务的发布
前面简单介绍了一下,为什么发布和怎么制作,那么实际发布中,我们怎么样去发布各种类型的服务呢?
我们知道发布的工具有两种,arcmap和arcgis pro,接下来,让我们一起看看如何对其进行发布各种类型的服务;
4.1.ArcMap
地图服务
要素、OGC、缓存
ArcGIS Server的切图原理深入http://blog.newnaw.com/?p=69
ArcGIS Server 10中的切图/缓存机制深入 http://blog.newnaw.com/?p=789
影像服务
OGC、缓存、高程表面
地理处理服务
建模、arcpy、同步异步、输出地图服务、in_memory和%ScratchGDB%、输入模式和参数数据类型http://desktop.arcgis.com/zh-cn/arcmap/latest/analyze/sharing-workflows/parameter-data-type-transformations.htm
网络分析服务
寻路、服务区分析等等
地理编码服务
单一地址定位器、复合地址定位器。
地理编码、反地理编码
4.2.ArcGIS Pro
共享过程文件存放位置:
C:\Users\Esri\AppData\Local\ESRI\ArcGISPro\Staging\SharingProcesses
在我们发布完,服务后,有些文件比较大,可能会有残留,如果不需要的话,我们也可以将其删除掉;
Web Layer(图层) http://zhihu.esrichina.com.cn/article/3863
1.要素图层 (托管)
2.切片图层 (托管)
3.矢量切片图层http://zhihu.esrichina.com.cn/article/3583
4.地图影像图层(可以是非托管)
5.场景图层 slpk发布的只有SceneLayer。 Mutipatch发布的含 服务定义文件、要素图层、场景图层。
6.影像图层(可以非托管)
7.高程图层(同上)http://zhihu.esrichina.com.cn/article/3780或https://blog.youkuaiyun.com/liyuanxiang1984/article/details/52774288
Web Map(地图)
自动发布里面的所有的图层。
自定义底图https://enterprise.arcgis.com/zh-cn/portal/latest/administer/windows/customize-basemaps.htm
Web Scene(场景)
业务图层、底图、高程图层
Web Tool(工具)
创作、发布、使用。in_memory https://pro.arcgis.com/zh-cn/pro-app/tool-reference/appendices/using-the-in-memory-output-workspace.htm。
输入和输出参数https://pro.arcgis.com/zh-cn/pro-app/help/analysis/geoprocessing/share-analysis/inputs-and-outputs.htm
share package(共享包)
tpk、vtpk、mpk、slpk常见