ArcGIS Server中的各种服务

使用服务

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

要使用服务,并不需要安装单独的GIS软件,用普通的Web浏览器或者自定义的应用程序即可。但ArcGIS的应用程序,比如ArcMap和ArcGlobe同样可以作为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具备的能力最多。比如WMS和KML。其他比如Geodata Access和Geoprocessing, 需要特殊类型的图层。下表中列出了各种服务能力所需要的资源。

能力 该能力能够做什么 哪些服务具备该能力
Geocoding 可以用来访问address locator。geocode 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 dataset或ArcGIS 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 创建一个兼容OGC的WFS规范(Web Feature Service)的服务。
WMS 创建一个兼容OGC的WMS规范(Web Map Service)的服务。 Image services, map services


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

 

把服务发布到网络上

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

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

关于Web service的URLs

要使客户端能够访问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本身具备mapping和map viewing的能力,也可以支持modeling和geoprocessing,mobile 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后,可以通过local和Internet方式来连接。由于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是ArcGIS中geocoding的主要工具,同时包含了地址定位所需的所有数据。可以使用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服务。

posted @ 2011-11-03 22:29  HappyZeng  阅读(6382)  评论(0编辑  收藏  举报