ArcGIS Server中各种服务详解

ArcGIS Server 中的各种服务

使用服务

通过服务可以在客户端之间更容易的共享资源。通过服务可以保证所有的客户端访问到同样的资源,而不用在他们的机器上单独进行安装。服务器存储着资源,管理服务,进行GIS 相关工作,将结果通过图片或者文字的形式返回给客户端。

要使用服务,并不需要安装单独的GIS 软件,用普通的Web 浏览器或者自定义的应用程序即可。但ArcGIS 的应用程序,比如ArcMapArcGlobe 同样可以作为GIS 服务的客户端。

使用ArcGIS Server 上的服务时,可以和使用本地资源一样对它进行访问。比如访问服务器上的map service 时,就好像地图文档和数据存储在本地一样。

GIS resource 作为一个服务发布出去是让人们访问到它的关键。通常情况下,都是通过ArcGIS Desktop 来制作资源,然后将其发布成服务供客户端使用。

下表中列出了可发布的服务和每个服务需要什么样的资源

服务类型

需要的GIS 资源

Map service

Map document (.mxd, .pmf)

Geocode service

Address locator (.loc, .mxs, SDE batch locator)

Geodata service

数据库连接文件(.sde) personal geodatabase file geodatabase 引用了注册为版本的geodatabase 中数据的 map document

Geometry service

不需要GIS 资源

Geoprocessing service

带有工具涂层的Map document toolbox (.tbx)

Globe service

Globe document (.3dd, .pmf)

Image service

Raster dataset 引用了raster dataset 的图层文件 编译过的image service definition (.ISCDef)

各种服务具有的能力

作为一个ArcGIS Server 管理员,你需要关注发布的服务和其引用的资源。但客户端更关心的是他们能使用的服务都具有什么样的能力。作为管理员,可以控制所发布的GIS 和其拥有的能力。

服务的能力是和资源的类型相关的,比如地图文档中图层的类型。Map documents 具备的能力最多。比如WMSKML 。其他比如Geodata AccessGeoprocessing, 需要特殊类型的图层。下表中列出了各种服务能力所需要的资源。

能力

该能力能够做什么

哪些服务具备该能力

Geocoding

可以用来访问address locatorgeocode service 总是拥有这种能力。

Geocode services

Geodata

可以用来访问geodatabase ,从而进行数据查询,提取,和复制。geodata service 总是拥有这种能力。

Geodata services

Geodata Access

允许客户端用户在ArcMap 中复制和提取数据。发布创建一个关联geodata service 的地图文档时可以拥有这种能力。

Map services

Geometry

为应用程序提供一个用于几何运算(比如投影和加密化)的内部引擎。

Geometry services

Geoprocessing

用从toolbox 或工具图层来访问geoprocessing models 。工具图层是指从ArcToolBox 中拖拽到TOC 中的model 。发布创建一个关联geoprocessing service 的地图文档时可以拥有这种能力。发布一个geoprocessing service 时自动拥有这种能力。

Geoprocessing services, map services

Globe

可以用来访问globe document 。发布globe service 时自动拥有这种能力。

Globe services

Imaging

用来访问raster datasetArcGIS Image Server service 。发布image service 时会自动拥有这种能力。

Image services

KML

使用一个map document 来创建Keyhole Markup Language (KML) features

Map services

Mapping

用来访问map document 的内容。发布map service 时自动拥有这种能力。

Map services

Mobile Data Access

可以从map document 中提取数据到移动设备上。

Map services

Network Analysis

使用Network Analyst extension 来解决交通网络分析问题。

Map services

WCS

创建一个兼容OGC(Open Geospatial Consortium)WCS 规范(Web Coverage Service) 的服务。

Geodata services, image services, map services

WFS

创建一个兼容OGCWFS 规范(Web Feature Service) 的服务。

 

WMS

创建一个兼容OGCWMS 规范(Web Map Service) 的服务。

Image services, map services

 

这样就可以看出要使用特定能力时需要发布什么样的服务了。

把服务发布到网络上

客户端通过网络连接到服务器( 可以通过LANWAN) 。如果是通过Internet 方式连接到一个GIS Service ,那么他们使用的就是Web Service

发布服务的时候,默认会使这个服务能够通过网络被访问,并给出与之相关的一个URL 。这个URLESRI 的应用程序通过ArcGIS Server Internet 方式连接时使用的。你不能直接在浏览器中输入这个URL 来浏览服务。但是,你可以在浏览器中输入这个URL ,在后面再加上“?wsdl” 来查看这个Web Service 的定义,以便检查它是否正常工作。(WSDLWeb Services Description Language 的缩写,是一种用来描述Web ServiceXML 语言)。

关于Web serviceURLs

要使客户端能够访问Web services ,他们必须得知道该服务的URL 。形如:

http://< 服务器名称>/< 实例名>/services

如果要连接到一个特定的服务,则URL 应该是这样的形式:

http://< 服务器名称>/< 实例名>/services/< 文件夹名称( 如果服务在一个文件夹里的话)>/< 服务名>/< 服务类型( 某些服务需要)>/< 能力的类型( 某些服务需要)>
比如,要通过WSDL 查看服务器上的所有服务的描述,则输入以下的URL

http:// 服务器名称/arcgis/services?wsdl

又如,要通过WSDL 查看服务器上一个名为usamap 服务的mapping 能力,则输入下面的URL

http:// 服务器名称/arcgis/services/usamap/mapserver?wsdl

某些能力必须通过Web 来访问

某些能力的使用要求客户端必须通过Internet 的方式来连接;因此该能力不能够禁用 通过web 访问 选项。这些能力包括KML, WMS, Mobile Data Access

下面我们来看看具体的服务。

Map services

Map service 是最常见的ArcGIS service ,可以拥有很多能力和功能。Map service 本身具备mappingmap viewing 的能力,也可以支持modelinggeoprocessingmobile GIS services 以及OGC WMS, OGC WCS, KML 的能力。

要发布map service ,首先得在ArcMap 中准备一个map document (.mxd) 。将这个mxd 文件发布成map service 后,便可通过服务访问该地图文档的数据,显示图层,并使用该地图内建的任何能力。也可以选择对这个服务建立cache ,使其能够更快速的被浏览。

创建map document

必须使用ArcGIS Desktop 来创建map document 。如何创建,请参考 ArcMap 概览

创建准备发布成服务的map document 的一些技巧

需要合理安排地图文档的内容,范围,标注,注记等等要素,将它们安排到合理的位置,切记不要太繁琐,同时考虑到地图的美观性。

可以参考 创建和发布网络地图

发布service

如何将地文档发布成一个服务,请参考帮助中的“Publishing a GIS resource to the server” 主题。

启用service 中的相应能力

发布一个map service 后,通过启用相应的能力可以创建其他与map service 一起工作的service 。其中一些能力要求地图文档包含有特定的图层。

下表中列出了map service 拥有的能力,和启用相应能力的要求。

能力

该能力能够做什么

启用该能力的要求

Mapping

提供对地图文档内容的访问

任何地图文档都默认具有这种能力

WCS

在地图文档中包含一个或多个raster layers 来启用一个与Open Geospatial Consortium's (OGC) Web Coverage Service (WCS) 规范兼容的能力

地图文档中需要包含raster 图层

WFS

使用文档中的图层创建一个与Open Geospatial Consortium's (OGC) Web Feature Service (WFS) 规范兼容的能力。

文档中需要包含需要矢量图层。服务中不包含栅格图层,因为WFS 是针对适量数据的。

WMS

使用文档创建一个与Open Geospatial Consortium's (OGC) Web Map Service (WMS) 规范兼容的能力。

None

Mobile Data Access

可以从地图文档提取数据到移动设备上。

不需要

KML

使用地图文档来创建Keyhole Markup Language (KML) features

不需要

Geodata Access

允许用户在ArcMap 中对数据进行提取和复制。

需要使用geodatabase 中的图层。创建一个与map service 协同工作的geodata service

Geoprocessing

从工具图层可以访问geoprocessing models 。工具图层是指从ArcToolbox 中直接拖拽到TOC 上的工具model

需要工具图层。这样就可以创建一个随map service 一起工作的geoprocessing service

Network Analysis

使用Network Analyst 扩展模块解决交通网络分析问题。

需要一个引用network dataset 数据的network analysis layer

Using the map service

创建了map service 后,可以通过localInternet 方式来连接。由于map service 可以具有多种能力,所以有很多ESRI 和非ESRI 应用程序都可以访问它。包括:

  • ArcMap
  • ArcGIS Server Web Mapping applications
  • ArcGIS JavaScript API applications
  • ArcGIS Explorer
  • ArcGlobe
  • ArcReader
  • ArcGIS Engine applications
  • ArcGIS for AutoCAD
  • Microsoft Virtual Earth (using the ArcGIS JavaScript Extension for the Virtual Earth API)
  • Google Maps (using the ArcGIS JavaScript Extension for the Google Maps API)
  • Google Earth (as KML)
  • WMS client applications (as WMS)
  • WCS client applications (as WCS)
  • WFS client applications (as WFS)
  • Mobile applications (as a mobile data service)

返回顶部

 

Geocode services

Geocode services 也有非常广的使用范围,业务和客户管理上可以很容易得出货物分发配送时需要走那个方向。Geocoding 可以在地图上轻易找到一个地址,并查看周围的一些要素与之有什么样的联系。有时可以仅通过查看地图获取你需要的信息;有些时候需要通过空间分析工具来揭示潜在的信息。

有很多商业的geocode services ,但可能并不能满足你的需要:地址信息更新不够及时,地址信息的格式与他们不符,或者你想让人们通过当地的习惯用语来查找一个地点。这些都需要一个特殊的geocoding 解决方案。可以通过发布自己的geocode service 来解决这些问题。

在向GIS 服务器发布geocode service 前,需要在ArcGIS Desktop 中创建address locator ,然后将locator 作为geocode service 发布。

创建address locator

address locator ArcGISgeocoding 的主要工具,同时包含了地址定位所需的所有数据。可以使用ArcCatalog 创建address locator 。关于如何一步步创建,请参考 创建Address Locator

创建的locator 需要在一个共享目录中这样所有的server object container (SOC) 机器才能访问到它。另外SOC 账户也需要有访问到该目录的相应权限。

发布address locator

请参考 Publishing a GIS resource to the server 。指定资源时指定到想要发布的locator 。可以使用的格式是locator files (.loc), ArcView 3 address locators (.mxs), ArcSDE address locators, personal geodatabase locators,file geodatabase locators

使用geocode service

Web ADF 自带的Find Address task 就是用来定位地址的。利用这个task 来使用geocode 服务。

返回顶部

 

Geodata services

geodata service ,客户端使用ArcGIS Server 可以通过LanWan 访问geodatabase 。该服务拥有复制geodatabase ,提取数据,在geodatabase 中进行查询的操作能力。一个geodata service 本身可以添加各种行的geodatabase ,包括ArcSDE geodatabases, personal geodatabases, 以及file geodatabases

如果想通过远程访问一个数据库,geodata services 非常有用。比如公司想建立一个ArcSDE geodatabases 来管理Los AngelesNew York 办公室的数据。建立好服务后,两地的办公室都可以通过互联网使用geodata service 来发布自己的ArcSDE geodatabasegeodata services 也可以用来通过Internet 定期同步不同geodatabase 中的数据。

发布该服务之前,你需要对geodatabase 相关概念有所了解。请参考 Understanding distributed data

首先在ArcGIS Desktop 中准备好geodatabase

发布geodata service

两种方式来发布geodata service: 直接从geodatabase 发布,或伴随map service 发布一个geodata service

直接从geodatabase 发布geodata service

这种方式需要引用你想要发布成服务的personal geodatabase, file geodatabase, ArcSDE 的连接文件。geodatabase 或连接文件需要放在所有SOC 机器都能够访问到的地方。

对于ArcSDE geodatabase ,有些时候需要在Catalog 中右键,保存连接文件,这样.sde 连接文件就会保存你的登录名/Application Data/ESRI/Catalog/ 文件夹中,建议将它拷到一个所有SOC 机器都能够访问到的地方。

通过一下步骤来发布geodata service:

  1. 点击Manager 中的Services 标签
  2. 点击Publish GIS Resource.
  3. 根据提示输入信息,但要注意:

map service 发布一个geodata service

要这么做,必须在map service 的能力列表中选中geodata access ,而且map document 必须引用了geodatabase 中的数据。当发布完成后,会自动创建一个map service 和一个同名的geodata service ,这两个服务可以独立进行管理。发布这样的服务可以允许你使用Distributed Geodatabase toolbar 中的命令来添加map serviceArcMap 中。请参考 Distributed Geodatabase toolbar

按照以下步骤来操作:

  1. 点击Manager 中的Services 标签
  2. 点击Publish GIS Resource.
  3. 根据提示输入信息,但要注意:

能力

Geodata services 可以产生三种能力。可以在发布服务的时候选中他们或者以后在service 属性中修改他们:

  1.  
    •  
      • Geodata 用来访问geodatabase ,默认是自动具有这种能力的。
      • WCS 使该geodatabase 中的栅格数据以Open Geospatial Consortium, Inc. (OGC) Web Coverage Service (WCS). WCS 规范兼容的方式发布到网络中。默认情况下没有选择WCS 能力。

关于WCS services .

  1.  
    •  
      • WFS 使该geodatabase 中的矢量数据以Open Geospatial Consortium, Inc. (OGC) Web Feature Service (WFS). WFS 规范兼容的方式发布到网络中。默认情况下没有选择WFS 能力。

关于WFS services .

http://www.newnaw.com/pub/ags93/geodata_capabilities.png

返回顶部

 

Geometry services

geometry service 可以帮助应用程序进行几何计算,比如buffering, simplifying, 计算面积/ 长度,或投影。进行这些计算工作其实也有其他的方式可以完成,比如细粒度的AO 编程或geoprocessing service ,而geometry service 提供了另一种方式来完成类似的工作。geometry service 特别适合于使用ArcGIS RESTJavaScript APIs 建立的应用程序。

geometry service 只对于管理员和开发者可见。连接到服务器的用户并不能看见geometry service

geometry service ArcGIS Server 9.3 中提供的,默认情况下不能使用。必须为自己的应用程序手动创建它。

创建geometry service

要创建geometry service, 选择ArcCatalogManager 中的 Add New Service service 类型中选择Geometry Service 。但要注意以下几点:

  • geometry service 必须用"Geometry" 命名。
  • 每个服务器上只能有一个geometry service ;但可以允许该服务的多个实例。
  • Geometry services 总是池化的。
  • 可以和其他服务一样停止,启动和删除geometry service

使用geometry service 进行开发工作

在建立JavaScript 应用程序时,可以通过REST endpoint 来引用一个geometry service 。如何使用,请参考 ArcGIS JavaScript API helps

如果想在Web ADF 应用程序使用geometry service ,建议你使用SOAP 。可以在SOAP SDK 中找到geometry service ,请参考 ArcGIS Server Resource Center

返回顶部

 

Geoprocessing service

geoprocessing service 包含客户端可以使用的了geoprocessing tasksTasks 是发布geoprocessing toolboxes 或包含工具图层的map documents 时创建的。当执行geoprocessing service 中的task 时,是在服务器上进行运算,使用的也是服务器的资源。

Geoprocessing services 和它们的tasks 可以通过Internet 或局域网来访问,也可在ArcGIS Desktop, ArcGIS Explorer, 以及web 应用程序(比如使用ArcGIS Server Manager 创建的web Applicaiton )中使用。

发布Geoprocessing service

  • 发布geoprocessing toolbox 。该toolbox 中的每个tool 都会变成geoprocessing service 中的一个task
  • 发布包含工具图层的地图文档。每一个工具图层将会编程geoprocessing service 中的一个task

输入输出的数据类型

下图中大致说明了输入输出的参数类型。

http://www.newnaw.com/pub/ags93/gpc_gpserv_00.png

关于如何发布geoprocessing service ,请参考 发布geoprocessing service

关于更多geoprocessing service 的具体情况,请参考 geoprocessing service

返回顶部

 

Globe services

globe service 从一个ArcGlobe document (.3dd) 中提供了3D 的视图。要发布globe service 需要首先创建globe document ,然后将其发布成服务。创建了globe service 之后,支持的客户端,比如ArcGlobe, ArcGIS Explorer, ArcReader 则可以远程访问globe service

创建globe service 的步骤:

  1. 准备一个ArcGlobe Document ,确保该文档的数据源或缓存能够被所有的SOC 机器访问。
  2. 使用ArcCatalogArcGIS Server Manager 创建并启动一个globe service
  3. 可以为globe service 创建cache 以加快访问速度。

下面将详细说明如何发布服务,使用服务和如何提高显示速度。

创建globe document

创建该文档必须拥有ArcGIS Desktop 且具有3D Analyst extensionglobe service 包含了许多图层,可以单独被加入到应用程序中。这是与map service 不同的,后者一次性将文档中的所有数据加入。因为globe service 是这样单独的图层,所以globe document 中的一些属性,比如环境光照,太阳位置,背景颜色,拉伸参数都 不 会在globe service 中起作用。

移除ArcGIS Online 的图层

ArcGlobe 9.3 默认包含了一些ArcGIS Online 服务中的图层。必须在发布globe service 之前将他们移除。因为globe services 内容 ( 比如ArcGIS Online 的服务) 不能再在其他globe services 中发布。

除了你自己的图层外,如果还想在程序中看到ArcGIS Online 的内容,则首先需要发布一个不包含ArcGIS Online 图层的服务(仅包含你自己的图层)。然后创建一个ArcGlobe document3D ArcReader documentArcGIS Explorer map ,然后在其中添加一下内容:

  • 刚才已经发布好的globe service
  • ArcGIS Online 图层。
  • 如果需要,添加其他服务的图层。

然后将这个文档保存,放在一个共享的位置。

关于优化数据表现

请参考一下条目:

  • 为图层设置scale-dependent rendering: 这将在放大/ 缩小到一定比例时只显示需要的图层。比如细节内容的图层只需要在大比例尺时才显示。
  • 简化图层符号。复杂的符号绘制起来会很费时间。
  • 使用压缩过的栅格数据。

尽量使用JPEG 作为cache 文件的格式,因为这种格式可以压缩数据量。

如果显卡驱动支持的话,也可以选用DXT 的压缩格式。

  • 压缩像素颜色变化范围到16 位。
  • 增加栅格图层的cell 尺寸。
  • 移除不需要的图层。

发布globe service

选择发布globe service ,选择要发布的globe document 。按照向导来完成此工作。

注意,Web ADF 中并没有使用globe services 的控件。

建议通过ArcGIS Explorer 来访问globe service

要在Web application 中浏览发布的3D 服务,只能通过使用 ArcGIS JavaScript Extension for Virtual Earth 来实现。

返回顶部

 

Image services

image service 使得从Web service 来浏览栅格数据成为可能。栅格数据的数据源可以是raster dataset (geodatabase 中或硬盘上), 引用了raster dataset 的图层文件, 或使用ArcGIS Image Server 创建的编译过的image service definition ( 包含一个或多个raster datasetsdefined processes)

注意: 如果要使用编译过的image service definitions 来创建image services ,则需要在ArcGIS Server 中注册ArcGIS Image Server 。请参考 Learn more about registering ArcGIS Image Server with ArcGIS Server

Image service 的能力

发布image service 时,可以选择使其兼容 Open Geospatial Consortium Web Map Service (WMS) Web Coverage Service (WCS) 规范的能力。

发布image services

  • 我有ArcGIS Server and the ArcGIS Image Server extension

则可以使用ArcCatalogManager 发布之前说过的三种数据源。请参考 Publishing a GIS resource to the server 。提示resource 类型时, 选择raster dataset, layer file, 或编译过的image service definition 来发布。

  • 我只有ArcGIS Server

则只能发布前两种数据源。步骤如前

  • 我只有ArcGIS Image Server

则只能发布第三种数据源。也不能启用WMSWCS 能力。客户端只能直接连接到ArcGIS Image Server

使用image service

连接到GIS 服务器后可以和其他服务一样对image service 进行使用。

raster dataset 数据源的图层属性

image service 图层具有属性。像一个raster dataset layer 一样,Image Service Layer 属性对话框包括General, Source, Extent, Display,Symbology 标签。注意其中Display 标签有压缩选项。可以用来快速传输图像。

ArcGIS Image Server 数据源的图层属性

拥有MosaicMetadata 两个额外的标签。

返回顶部

 

关于具有KML 能力的服务

Keyhole Markup Language (KML) 是一种基于XML 的文件格式,用来在Google EarthArcGIS Explorer 等应用程序中表达地理信息(geographic feature) KML 可以用来在mapsglobes 上绘制points, lines, polygons ,并与他人共享。使用KML 还可以在用户点击一个feature 时,在结果中指定文字,图片,影片,或其他GIS 服务的链接信息。

ArcGIS Server 中,能使用KML 来做什么?

ArcGIS Server 有多种方式来允许你使用KML 来共享地图数据:

  • Map services image services 通过representational state transfer (REST) 开放了KML 网络链接。
  • 也可以使用Services DirectoryManager 来创建自己的KML 网络链接。
  • 当通过REST 方式查询地图图层,进行geoprocessinggeocoding 操作时,都会得到KML 形式的结果。

由此可看出KML 都是动态创建的,所以KML 总是与服务器上最新的地图数据保持一致。

更多信息请参考 KML support in ArcGIS Server

返回顶部

 

关于具有兼容OGC 规范(WFS,WMS,WCS )能力的服务

Open Geospatial Consortium, Inc. (OGC) Web services 可以使得你的地图和数据以一种开放通用的格式在网络中共享。OGC 为地图和数据定义了可以广泛共享的规范。所有开发者可以免费使用OGC 规范。使用OGC 规范的客户端范围很广,可以是简单的web 浏览器,也可以是ArcMap 之类的应用程序。

ArcGIS Server OGC 规范的发布能力

OGC 定义了不同类型的服务来支持不同的地图和数据。ArcGIS Server 可以发布三种OGC 服务:

  • Web Map Services (WMS) 用来以图层的形式支持map images
  • Web Feature Services (WFS) 支持矢量数据
  • Web Coverage Services (WCS) 支持栅格数据

可以通过在ArcGIS Serverservices 中启用某种能力来发布支持OGC 规范的服务。

下表中列出了可以支持OGC 能力的服务

 

WMS

WFS

WCS

Map services

X

X

X

Geodata services

 

X

X

Image services

X

 

X

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值