GoogleMap,VirtualEarth,YahooMap等,目前所有的WebGIS都使用了缓存机制以提高地图访问速度。原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图片,存在服务器上,客户端访问时直接获取需要的小图片拼接成地图,而不是由服务器动态创建出一幅图片来送到客户端,极大程度的提高了反问速度。好比外面卖菠萝,和自己买一整个回家吃不同,提前把一个菠萝等分成四份(js可能会分成6份),你只需买一份来吃,体积小,方便吃,而不是对着整个菠萝咬下去,弄一脸菠萝汁。
本文中来详细了解一下ArcGIS Server目前为地图服务建立缓存(切图)的原理。先来了解一个概念:
Tiling
Scheme:创建地图缓存时使用的一系列参数的总称。包括比例尺级别,图片格式,图片大小等等。
TilingScheme Origin:是tiling
schemegrid的左上角。默认情况下就是由mxd文档使用的坐标系的原点。而切图的范围通常是mxd文档中full
extent的范围,即从fullextent的左上角(map origin)到右下角。注意区分map origin与tiling scheme origin。
对于不同的地图服务(mxd文档),如果使用相同的坐标系,那么就有相同的tiling scheme
origin,即使他们的fullextent不同(map origin不同),也能处于同一参考系中。如果full
extent相同,则可以轻松地叠加在一起,这也是tilingscheme origin设计的初衷。默认情况下,切图的范围是mxd文档的full
extent。如果手工设置了tiling schemeorigin,那么切图的范围只能是地图范围中tiling scheme
origin右下角的部分:如果tiling schemeorigin在map origin的左上角,那么切图范围还是full extent;如果tiling
schemeorigin落在地图中,那么切图的范围就是从tiling scheme
origin到fullextent的右下角。这也就是为什么建议通过设置特定的矩形范围(92中)或直接使用featureclass(93中)来改变切图范围,而不是利用tiling
scheme origin来限制切图范围的原因。
那么地图到底是怎么切出来的?切多少块呢?通过一个例子深入浅出吧。一个中国地图,采用了自定义的坐标系:
切图时设置如下:
看看切图完成后的文件夹结构:
在缓存目录中,首先是地图服务命名的文件夹china;之后是切图的DataFrame命名的文件夹Layers;由于采用的是fused方式,下来就是_alllayers,如果是multi-layer切图,那么就是每个图层的序号文件夹;下来就是切图设置的多个比例尺级别(Level
ofDetail,LOD),从小到大,对应前面设置的5个比例尺;一个比例尺文件夹下,是切图的“行”文件夹,命名规则是R加上8位行号(16进制),不足补0。比如图中的R0000000a,表示此比例尺中第10行(16进制中的a);每行文件夹下就是该行的所有tile文件了,命名规则是C加上8位列号(16进制),不足补0。为什么这个比例尺下(L01)中只有8,9,10,11行呢?前面说过切图的范围是fullextent,说明在该比例尺下,从tiling
schemeorigin算起,中国地图的范围只占到了这几行,其余没有,不切。同理,对于上面的第九行文件夹中,只有7,8两列,其余的没有,不切。
再打开和_alllayers文件夹同级的conf.xml看看吧,里面保存了整个tiling scheme参数。
可以看出地图服务使用的坐标系信息,tile图片的DPI(96),每个tile的长度和宽度(512),以及tiling scheme origin。
现在来计算某个比例尺中,地图上一个点所在的tile图片的行列号了。比如计算L01中,乌鲁木齐市所在tile的行列号。需要收集三个信息:
1、获得乌市的地理坐标:在本地图中是x=-1341070,y=5343697;
2、获得tiling
scheme:x=-35331700,y=46619300;
3、获得当前比例尺的resolution,即一个像素所占的地图单位长度:在L01比例尺上是8466.68360003387。
乌市所在的行号:(35331700-1341070)/(8466.6836*512)=7.84=8
乌市所在的列号:(46619300-5343697)/(8466.6836*512)=9.52=10
所以乌鲁木齐在切图的第二个比例尺中,处于第10行,第8列的tile。
相关推荐
本文将深入探讨ArcGIS Server的切图原理,帮助你理解这一关键功能。 一、什么是切图? 切图是一种预先计算并存储地图图像块的方法,这些图像块通常被称为瓦片或切片。当用户请求地图时,服务器将返回对应位置的瓦片...
**ArcGIS Server 切图原理深入理解** ArcGIS Server 是一款强大的地理信息系统(GIS)软件,用于管理和发布地理数据服务。在WebGIS应用中,为了提高地图服务的访问速度和性能,通常会采用缓存机制,即预先将地图...
《ArcGIS Server的切图原理深入》 ArcGIS Server 是一款强大的地理信息系统(GIS)软件,用于管理和发布地理数据服务。在WebGIS应用中,为了提高地图访问速度和用户体验,通常会采用缓存机制,这一机制的核心就是...
《ArcGIS Server的切图原理深入》 在WebGIS领域,为了提高地图访问速度,各大平台如GoogleMap、VirtualEarth、YahooMap等普遍采用了缓存机制。这一机制的核心是将地图按照不同比例尺预切成小图片,存储在服务器上,...
【ArcGIS Server 切图文档】是一份由ESRI中国(北京)有限公司提供的技术文档,主要涉及如何在ArcGIS Server中高效地进行地图服务的发布和切片设置。该文档适用于那些希望优化地理信息系统(GIS)性能,尤其是需要...
### ArcGIS瓦片切图原理 #### 一、概述 ArcGIS切图原理是指通过预生成技术将地理信息系统(GIS)中的地图数据切割成一系列固定大小的图像块(称为瓦片),并以此来构建Web地图服务的基础过程。这种方式极大地提高...
【标题】:“vc6编写的利用arcgisserver切图工具”指的是使用Visual C++ 6.0(简称VC6)开发的一个程序,该程序能够与ArcGIS Server进行交互,实现地图切片的功能。ArcGIS Server是一款强大的地理信息系统(GIS)...
ArcGIS Server是ESRI公司推出的一款企业级地理信息系统(GIS)服务器产品,它允许用户在服务器上托管和管理地图、网络分析、地理处理等多种GIS服务。本文档详细介绍了使用ArcGIS Server进行地图切片及更新切片的流程...
《ArcGIS Server 10.2.2 许可...理解许可文件的工作原理、正确配置和管理许可,是确保ArcGIS Server稳定运行和充分利用其功能的关键步骤。在实际操作中,用户应严格按照Esri的官方文档和指南进行,以确保合规性和效率。
解决arcgis server跨域问题: 1、停掉ArcGIS Server的服务。 2、 打开<ArcGIS Server> \framework\runtime\tomcat\conf\web.xml,注册跨域bean 3、lib下拷贝 cors-filter-2.5.jar java-property-utils-1.9.1.jar包 4...
### ArcGIS Server建立缓存(切图)原理解析 #### 概述 随着网络地图服务的普及,例如Google Maps、Bing Maps等,为了提高地图加载速度并优化用户体验,地图服务提供商广泛采用了缓存机制。ArcGIS Server作为一款...
**ArcGIS Server 10.4 许可文件详解** ArcGIS Server是Esri公司推出的一款强大的地理信息系统(GIS)服务器软件,它...理解许可文件的工作原理,并掌握其安装、管理和维护技巧,是每个ArcGIS Server管理员必备的知识。
ArcGIS Server是Esri公司的一款强大的地理信息系统(GIS)服务器软件,它允许用户在Web环境中发布、管理和共享地理信息。这个压缩包包含了从10.0到10.5版本的ArcGIS Server的ecp文件,这些文件对于理解和操作ArcGIS ...
ArcGIS Server是Esri公司的一款强大的地理信息系统(GIS)服务器软件,用于在组织内部或互联网上发布、管理和共享地理信息和服务。版本10.8.1代表了该软件的一个更新迭代,提供了更多功能和性能改进。"授权"是使用...
【ArcGIS Server 10.2】是一款强大的地理信息系统(GIS)服务器软件,由Esri公司开发,用于在企业级环境中发布、管理和共享地理服务。它允许用户将地图、地理处理工具、空间数据以及应用程序部署到网络上,使得多个...
**ArcGIS Server 10.5 知识点详解** ArcGIS Server是Esri公司推出的一款强大的地理信息系统(GIS)服务器软件,它允许用户通过网络发布、管理和共享地理空间信息。在10.5版本中,ArcGIS Server进一步融入了ArcGIS ...
在日常工作中,很多用户在安装并配置好ArcGIS Server之后,由于工作性质或其他原因,可能会有一段时间不使用该系统。随着时间的推移,很容易忘记之前设置的登录密码。一旦忘记密码,将无法正常访问和管理ArcGIS ...
- 将切片文件夹复制到指定路径(如`C:\arcgisserver\directories\arcgiscache`)。 - 重启服务以使更改生效。 **3. 切片迁移** - 在网页上,切片是以`Supertile`为单位进行处理的。 - 使用JavaScript显示时,则以`...