引言
ArcGIS Server 10.0在使用和安裝的過程中,需要進行比較全面的學習,才能正確使用。缺乏正確的指引,用戶很容易在安裝及使用中遇到問題。所以筆者在此總結Server 10.0的安裝及使用中需要參考的資源、提供適當的教程,並對可能出現的問題進行解釋,可供一些可行的解決方案。有興趣做好Server 10.0工作的筆者,請耐心閱讀本文。筆者花了近一個星期的時間研究ArcGIS Server 10.0的使用,希望對后來者能有所幫助。
安裝
Server 10.0的安裝前,建議在本機安裝一個ArcGIS Desktop。為了避免對本機造成影響,最好在虛擬機中試驗,Win7 32/64的,都可以,Windows Server 08可能會復雜一些,網上也有相關的教程。
Server 10.0 For Java
安裝Java版的Server,需要安裝JDK和配置環境變量,至於是否一定要安裝tomcat,本人沒有驗證過。因筆者使用的時候,已經安裝了tomcat 6.0.44。不過,經過查看安裝的tomcat,日志里面並沒有表征任何與Server 10.0相關的信息,所以,筆者斷言不需要安裝tomcat。
Server 10.0 for java的安裝目錄下面能夠找到內置的TOMCAT,版本是6.0.18。跟tomcat有關的目錄是:
C:\Program Files (x86)\ArcGIS\Server10.0\java
日志目錄是
C:\Program Files (x86)\ArcGIS\Server10.0\java\manager\service\logs
如果你在使用的過程中遇到一些服務無法啟動或者地圖無法預覽的問題,可以從日志目錄獲取一些提示信息。
教程地址:
http://jingyan.baidu.com/article/eae078278c5cdb1fed54855d.html
Server 10.0 For Dotnet
.net版本的Server安裝前最好把IIS裝上。
教程地址:
Java版和.net版本的比較
服務有所不同
圖 21 Server 相關的服務
安裝Java版之后,這三個服務都會有,而安裝.net版本之后,會缺少第一個,這是正常的,跟架構有關。
圖 22安裝失敗的服務列表
用戶有所不同
Java版本共有三個用戶:ArcGISSOM ArcGISSOC arcgismanager
.net版本共有三個用戶:ArcGISSOM ArcGISSOC ArcGISWeb
這個差別,跟.net版本的架構有關:
圖 23 .net用戶及權限
菜單目錄
圖 24 Java版本目錄
圖 25 .net版本目錄
服務發布
登錄
圖 31 Java版登錄
圖 32 .net登錄
必須要確保防火牆不會禁止ArcGIS相關的管理員的權限,建議直接關閉防火牆。
必須確保服務已經啟動。
服務訪問
地址:
http://win7x64:8399/arcgis/rest/services
切片
教程地址:
http://jingyan.baidu.com/article/fa4125accc6bef28ac7092d7.html
注意:切片配置文件,盡量配置0:20級比例尺,切片的時候再勾選需要的圖層。這樣,緩沖文件夾的編號才是與比例尺級別一一對應的。
關於切片文件的介紹請參見:
http://blog.csdn.net/warrenwyf/article/details/6069711
http://www.360doc.com/content/15/0711/22/25340375_484316325.shtml
應用管理
這里的"應用"實際上是一個簡單的WebGIS系統,筆者可以根據自己的需求配置一個簡單的應用系統,包括地圖瀏覽、圖層控制等基本WebGIS功能。
常見問題
地圖無法預覽
筆者在發布服務的過程中,有一段時間無法預覽地圖,如下圖:
無法預覽地圖的原因有很多,常見的有
1)服務剛剛發布,暫時沒有生效,此時可能需要重啟SOC或SOM服務,或者需要等待片刻;
2)發布方式不是最佳的。服務的發布,有三種方式,但是使用網頁端的ArcGIS Server Manager應該是最佳的;
3)點狀要素的預覽圖不是很明顯,所以可能會有所遲緩,但是面狀要素的預覽圖可以較快的生成,如下圖:
圖 51 點狀要素與面狀要素的預覽圖對比
4)緩存目錄有問題
http://blog.sina.com.cn/s/blog_3fb3625f0100qoaf.html
服務無法啟動
勾選了WMS,也可能會導致服務無法啟動
跨域訪問
在A機器上發布地圖服務時,如果在B機器上部署一個應用系統,而在C機器上訪問B機器的系統,就會涉及一個跨越訪問的問題。為何我會知道是跨域問題,因為我在開發者模式跟蹤過瀏覽器的請求記錄,瀏覽器提醒,系統無法訪問http://19.95.105.233:8399/clientaccesspolicy.xml和http://19.95.105.233:8399/Crossdomain.xml,如下圖所示:
圖 5-2 跨域訪問錯誤
同時在Network(網絡)標簽中會發現404錯誤):
圖 5-3 跨域文件404錯誤
對於404錯誤不清楚的,可以百度下。
跨域文件放置位置
如果在B機器上部署的恰好是Silverlight應用,那么就需要使用兩個跨域文件"clientaccesspolicy.xml"、"Crossdomain.xml",那么跨域文件需要放在哪里呢?
首先要找到8399對應的目錄在哪里。雖然ArcGIS Server For Java的內置tomcat跟一般的tomcat有所不同,但仍然可以根據tomcat的虛擬配置原理,找到8399對應的目錄,這個目錄便是放置跨域文件的目錄。
首先,找到如下目錄的server.xml文件:
圖 5-4 server.xml對應的目錄
目錄為:
C:\Program Files (x86)\ArcGIS\Server10.0\java\manager\service\managerappserver\conf\
打開server.xml文件,可以找到8399端口的配置,已經其他常用目錄的映射:
圖 5-5 8399端口配置
圖 5-6 常用目錄映射
經過一潘查找,便可以知道,跨域文件應放置在如下目錄:
C:\Program Files (x86)\ArcGIS\Server10.0\java\manager\web_output
如下圖:
圖 5-7 跨域文件放置目錄
跨域相關
其實后來我百度的時候,又發現有人寫過類似的博文:
http://lpyyn.iteye.com/blog/2066767
Silverlight跨域資料請參見:
http://www.cnblogs.com/leegiser/archive/2012/04/25/2470392.html
參考資料:
[1] 最全、最權威的資料:
http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#//00v20000000t000000#userconsent#
[2]