用arcgis9.3实现瓦片图
Arcgis server发布地图服务有两种形式:一种是用arcCatalog,另一种是用arcgis server manager,最近研究了下用这两种方法生成瓦片图,用server manager没有找到一次性生成全部瓦片的方法,只是在第一次使用是生成瓦片。
下面介绍下用arcgis catalog生成瓦片图的步骤:
1、建立GIS服务器,发布mxd的map service。
打开catalog,展开GIS Servers,找到Add ArcGIS Server,双击
出现下面的对话框,选择Manager GIS Services。
下一步:
第一个是服务的URL,按图上写就可以,host Name是你电脑的名字。
点击完成。
出现红色方框中的内容。
右键点击Add new service,过程和manager一样,发布一个地图服务。
这里我新发布了一个test的服务。
2、用catalog做cathe图。
右键点击test,选择Service Properties。
选择cathe选项卡。
勾选Using tiles from a cathe that you will define below。
这里进行一些设置,Scales可以设置你要做tiles的比例尺,这里我就选择做成5级,地图中心点的X,Y坐标在创建时会根据你的地图提供一个默认的值,如这里的-5123300和10002300,在Image Setting里,可以设置切图的参数。
按图中配置好,点击上面的Create Tiles。
(在manager里面就没有这一项)。
注意不要勾选Create tiles on demand。
弹出Create map cathe的toolbox。
点击ok,直到提示complete。
最后到server的output目录查询cathe的结果,默认路径C:\arcgisserver\arcgiscache\test。
打开其中一张
到此切图就做好了,然后就可以使用了。
非常注意:
如果一台服务器存在两个网站,网站用端口号加以区分,如果ArcGIS 服务为非标准80端口,则需要在ArcCatog里为虚拟路径添加端口号:注意Directory Type 里的Cache Directory 点解Edit修改虚拟路径,可以不用IP地址,直接使用计算机名,建议都不要使用localhost,直接使用计算机名,在“hzh”服务停用的情况下,才能编辑
添加好后,需要将物理路径的文件夹,作为网络共享文件夹,共享到ArcGIS Server网站中去。
共享后会出现在这里
ArcGIS Server网站发布后地图显示空白的原因之一
一般来说,在地图网站发布后,如果地图区域显示为空白,但可以看到其他控件,可能是因为:1、引用的service运行不正常;2、通过local方式连接而没有添加arcgis identity;
3、Web Server机器名中含有下划线“_”。
但实际情况可能不止这些,碰到这个问题后只能耐心寻找原因来解决问题。
今天刚好碰到了这个情况:用模板程序发布一个网站,mapresource manager中添加了一个经过cache的map service,本机浏览正常,但通过外网浏览的时候,界面显示正常,地图区域空白;如果引用一个没有经过cache的服务的话,外网和本机浏览都正常。
网络是这样的,web server和gis server都在本机上,本机处于局域网中,通过路由的转发规则设置外网访问网络ip时自动转到本机ip上来。
cache和非cache的服务区别就在于显示地图时,前者是直接获取服务器上的图片,而后者是gis server动态生成图片然后发送到客户端。
那么可以看出是在获取缓存图片时出问题了,而本机可以访问到,外网却访问不到,那么估计可能和虚拟路径有关。
在外网机器上查看http请求,发现如图情况:
可以看出,在获取其他控件的图片时,使用了网络的对外ip,而获取cache图片时使用的确实本机名。
毫无疑问是cache路径的虚拟目录设置不对。
一般安装完ags后,设置cache,job,output所对应的虚拟路径时,习惯用hostname作为域名,这和iis设置相符,但如果要对外发布的话,要考虑到这个情况。
更改了cache路径的虚拟目录后,外网浏览就程序就正常了。