-
引言
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]
?