服務學習總結

ArcGis服務學習總結

1      ArcGIS Server中的各種服務

2       使用服務

通過服務可以在客戶端之間更容易的共享資源。通過服務可以保證所有的客戶端訪問到同樣的資源,而不用在他們的機器上單獨進行安裝。服務器存儲着資源,管理服務,進行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)

3       各種服務具有的能力

作爲一個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

 

這樣就可以看出要使用特定能力時需要發佈什麼樣的服務了。

4       把服務發佈到網絡上

客戶端通過網絡連接到服務器(可以通過LANWAN)。如果是通過Internet方式連接到一個GIS Service,那麼他們使用的就是Web Service

發佈服務的時候,默認會使這個服務能夠通過網絡被訪問,並給出與之相關的一個URL。這個URLESRI的應用程序通過ArcGIS Server Internet方式連接時使用的。你不能直接在瀏覽器中輸入這個URL來瀏覽服務。但是,你可以在瀏覽器中輸入這個URL,在後面再加上“?wsdl”來查看這個Web Service的定義,以便檢查它是否正常工作。(WSDLWeb Services Description Language的縮寫,是一種用來描述Web ServiceXML語言)。

5       關於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

6       某些能力必須通過Web來訪問

某些能力的使用要求客戶端必須通過Internet的方式來連接;因此該能力不能夠禁用通過web訪問選項。這些能力包括KML, WMS, Mobile Data Access

 

 

下面我們來看看具體的服務。

 

 

7      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,使其能夠更快速的被瀏覽。

8       創建map document

必須使用ArcGIS Desktop來創建map document。如何創建,請參考ArcMap概覽

9       創建準備發佈成服務的map document的一些技巧

需要合理安排地圖文檔的內容,範圍,標註,註記等等要素,將它們安排到合理的位置,切記不要太繁瑣,同時考慮到地圖的美觀性。

可以參考創建和發佈網絡地圖

10    發佈service

如何將地文檔發佈成一個服務,請參考幫助中的“Publishing a GIS resource to the server”主題。

11    啓用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

12    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)

 

  

13  Geocode services

Geocode services也有非常廣的使用範圍,業務和客戶管理上可以很容易得出貨物分發配送時需要走那個方向。Geocoding可以在地圖上輕易找到一個地址,並查看周圍的一些要素與之有什麼樣的聯繫。有時可以僅通過查看地圖獲取你需要的信息;有些時候需要通過空間分析工具來揭示潛在的信息。

有很多商業的geocode services,但可能並不能滿足你的需要:地址信息更新不夠及時,地址信息的格式與他們不符,或者你想讓人們通過當地的習慣用語來查找一個地點。這些都需要一個特殊的geocoding解決方案。可以通過發佈自己的geocode service來解決這些問題。

在向GIS服務器發佈geocode service前,需要在ArcGIS Desktop中創建address locator,然後將locator作爲geocode service發佈。

14    創建address locator

address locatorArcGISgeocoding的主要工具,同時包含了地址定位所需的所有數據。可以使用ArcCatalog創建address locator。關於如何一步步創建,請參考創建Address Locator

創建的locator需要在一個共享目錄中這樣所有的server object container (SOC)機器才能訪問到它。另外SOC賬戶也需要有訪問到該目錄的相應權限。

15    發佈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

16    使用geocode service

Web ADF自帶的Find Address task就是用來定位地址的。利用這個task來使用geocode服務。

 

17  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

18    首先在ArcGIS Desktop中準備好geodatabase

19    發佈geodata service

兩種方式來發布geodata service: 直接從geodatabase發佈,或伴隨map service發佈一個geodata service

20    直接從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.     根據提示輸入信息,但要注意:

·         對於Resource, 選擇想要發佈的geodatabaseArcSDE geodatabase的連接文件(.sde)

·         如需幫助,請參考Publishing a GIS resource to the server

21    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.     根據提示輸入信息,但要注意:

·         對於Resource, 選擇想要發佈的地圖文檔。

·         在選擇能力時,確保選中了Geodata Access

·         如需幫助,請參考Publishing a GIS resource to the server

22    能力

Geodata services可以產生三種能力。可以在發佈服務的時候選中他們或者以後在service屬性中修改他們:

·         Geodata用來訪問geodatabase,默認是自動具有這種能力的。

·         WCS使該geodatabase中的柵格數據以Open Geospatial Consortium, Inc. (OGC) Web Coverage Service (WCS). WCS規範兼容的方式發佈到網絡中。默認情況下沒有選擇WCS能力。

關於WCS services.

·         WFS使該geodatabase中的矢量數據以Open Geospatial Consortium, Inc. (OGC) Web Feature Service (WFS). WFS規範兼容的方式發佈到網絡中。默認情況下沒有選擇WFS能力。

關於WFS services.

  

23  Geometry services

geometry service可以幫助應用程序進行幾何計算,比如buffering, simplifying, 計算面積/長度,或投影。進行這些計算工作其實也有其他的方式可以完成,比如細粒度的AO編程或geoprocessing service,而geometry service提供了另一種方式來完成類似的工作。geometry service特別適合於使用ArcGIS RESTJavaScript APIs建立的應用程序。

geometry service只對於管理員和開發者可見。連接到服務器的用戶並不能看見geometry service

geometry serviceArcGIS Server 9.3中提供的,默認情況下不能使用。必須爲自己的應用程序手動創建它。

24    創建geometry service

要創建geometry service,選擇ArcCatalogManager中的Add New Serviceservice類型中選擇Geometry Service。但要注意以下幾點:

·         geometry service必須用"Geometry"命名。

·         每個服務器上只能有一個geometry service;但可以允許該服務的多個實例。

·         Geometry services總是池化的。

·         可以和其他服務一樣停止,啓動和刪除geometry service

25    使用geometry service進行開發工作

在建立JavaScript應用程序時,可以通過REST endpoint來引用一個geometry service。如何使用,請參考ArcGIS JavaScript API helps

如果想在Web ADF應用程序使用geometry service,建議你使用SOAP。可以在SOAP SDK中找到geometry service,請參考ArcGIS Server Resource Center

 

 

26  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)中使用。

27    發佈Geoprocessing service

·         發佈geoprocessing toolbox。該toolbox中的每個tool都會變成geoprocessing service中的一個task

·         發佈包含工具圖層的地圖文檔。每一個工具圖層將會編程geoprocessing service中的一個task

 

28    輸入輸出的數據類型

下圖中大致說明了輸入輸出的參數類型。

關於如何發佈geoprocessing service,請參考發佈geoprocessing service

關於更多geoprocessing service的具體情況,請參考geoprocessing service

 

 

 

29  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以加快訪問速度。

下面將詳細說明如何發佈服務,使用服務和如何提高顯示速度。

30    創建globe document

創建該文檔必須擁有ArcGIS Desktop且具有3D Analyst extensionglobe service包含了許多圖層,可以單獨被加入到應用程序中。這是與map service不同的,後者一次性將文檔中的所有數據加入。因爲globe service是這樣單獨的圖層,所以globe document中的一些屬性,比如環境光照,太陽位置,背景顏色,拉伸參數都會在globe service中起作用。

31    移除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圖層。

·         如果需要,添加其他服務的圖層。

然後將這個文檔保存,放在一個共享的位置。

32    關於優化數據表現

請參考一下條目:

·         爲圖層設置scale-dependent rendering:這將在放大/縮小到一定比例時只顯示需要的圖層。比如細節內容的圖層只需要在大比例尺時才顯示。

·         簡化圖層符號。複雜的符號繪製起來會很費時間。

·         使用壓縮過的柵格數據。

儘量使用JPEG作爲cache文件的格式,因爲這種格式可以壓縮數據量。

如果顯卡驅動支持的話,也可以選用DXT的壓縮格式。

·         壓縮像素顏色變化範圍到16位。

·         增加柵格圖層的cell尺寸。

·         移除不需要的圖層。

33    發佈globe service

選擇發佈globe service,選擇要發佈的globe document。按照嚮導來完成此工作。

34    注意,Web ADF中並沒有使用globe services的控件。

建議通過ArcGIS Explorer來訪問globe service

要在Web application中瀏覽發佈的3D服務,只能通過使用ArcGIS JavaScript Extension for Virtual Earth來實現。

 

35  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

36    Image service的能力

發佈image service時,可以選擇使其兼容Open Geospatial Consortium Web Map Service (WMS)Web Coverage Service (WCS)規範的能力。

37    發佈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

38    使用image service

連接到GIS服務器後可以和其他服務一樣對image service進行使用。

39    raster dataset數據源的圖層屬性

image service圖層具有屬性。像一個raster dataset layer一樣,Image Service Layer屬性對話框包括General, Source, Extent, Display,Symbology標籤。注意其中Display標籤有壓縮選項。可以用來快速傳輸圖像。

40    ArcGIS Image Server數據源的圖層屬性

擁有MosaicMetadata兩個額外的標籤。

 

 

 

41  關於具有KML能力的服務

Keyhole Markup Language (KML)是一種基於XML的文件格式,用來在Google EarthArcGIS Explorer等應用程序中表達地理信息(geographic feature) KML可以用來在mapsglobes上繪製points, lines, polygons,並與他人共享。使用KML還可以在用戶點擊一個feature時,在結果中指定文字,圖片,影片,或其他GIS服務的鏈接信息。

42    ArcGIS Server中,能使用KML來做什麼?

ArcGIS Server有多種方式來允許你使用KML來共享地圖數據:

·         Map servicesimage services通過representational state transfer (REST)開放了KML網絡鏈接。

·         也可以使用Services DirectoryManager來創建自己的KML網絡鏈接。

·         當通過REST方式查詢地圖圖層,進行geoprocessinggeocoding操作時,都會得到KML形式的結果。

由此可看出KML都是動態創建的,所以KML總是與服務器上最新的地圖數據保持一致。

43    更多信息請參考KML support in ArcGIS Server

 

44  關於具有兼容OGC規範(WFS,WMS,WCS)能力的服務

Open Geospatial Consortium, Inc. (OGC) Web services可以使得你的地圖和數據以一種開放通用的格式在網絡中共享。OGC爲地圖和數據定義了可以廣泛共享的規範。所有開發者可以免費使用OGC規範。使用OGC規範的客戶端範圍很廣,可以是簡單的web瀏覽器,也可以是ArcMap之類的應用程序。

45    ArcGIS ServerOGC規範的發佈能力

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

總結,我們要弄清楚,Arcgis Server有哪幾種服務,各種服務具備哪些能力,如何用Arcgis Server發佈各種服務,發佈各種服務需要的各種資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章