ArcGIS Server建立缓存(切图)原理解析[图解] (转载)

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来限制切图范围的原因。
    
   那么地图到底是怎么切出来的?切多少块呢?通过一个例子深入浅出吧。一个中国地图,采用了自定义的坐标系: 字串2



        切图时设置如下:



        看看切图完成后的文件夹结构: 字串9

在缓存目录中,首先是地图服务命名的文件夹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。

时间: 2024-10-06 10:33:31

ArcGIS Server建立缓存(切图)原理解析[图解] (转载)的相关文章

ArcGIS Server的切图原理深入【转】

http://blog.newnaw.com/?p=69 GoogleMap,Virtual Earth,YahooMap等,目前所有的WebGIS都使用了缓存机制以提高地图访问速度.原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图片,存在服务器上,客户端访问时直接获取需要的小图片拼接成地图,而不是由服务器动态创建出一幅图片来送到客户端,极大程度的提高了反问速度.好比外面卖菠萝,和自己买一整个回家吃不同,提前把一个菠萝等分成四份(js可能会分成6份),你只需买一份来吃,体积小

ArcGIS Server 增加缓存路径(未完成,待修改)

Server缓存服务,由于缓存文件经常比较大,默认放在C盘下容易导致磁盘空间不够,因此Server提供了增加缓存路径的方法来解决该问题. 增加的路径有两种,一种是Server所在服务器增加一个和原缓存路径不同,但是还是在本机的路径:另一种是另外一台服务器上的共享文件夹路径作为缓存路径增加到Server所在服务器. 这里假设Map在A机器,Server在B机器,共享文件夹在C机器. 可以用ArcMap中Catalog操作,也可以用浏览器登录Server Manager操作~ 这里只说Catalog

ArcGIS Server 10.4切片图的制作与发布

场景:有一张遥感卫星图,需要以切片图的形式发布 需要的资料:tif的格式遥感图像 发布步骤: 1.选择Service Editor-->Parameters-->Anti-Aliasing(抗锯齿)-->Anti-Aliasing-->Best 2.选择Caching-->Using tiles from a cache-->Titling Scheme-->A tiling scheme file-->自定的配置文件XML 3.ArcGIS Server缓

GIS切图性能调优

现状及目标 DellR920服务器,虚拟化VMWARE VSPHERE 5.5系统,Guest系统Windows Server 2012 R2.部署软件ARCGIS 10.影像图切图测试:原有切图耗时70小时,现在耗时17小时.依然有继续优化的空间.调试目标: 1.        验证虚拟化环境下的最佳切图参数配置,出具虚拟化环境下ArcGIS10的最佳性能配置方法. 2.        验证SSD应用的有效性,分别测试SSD SRT技术.切图缓存技术.ESXi主机缓存技术.SAS 12GB规格

使用ArcGIS Server发布我们的数据

原文:使用ArcGIS Server发布我们的数据 引言 上一篇我们已经安装好了ArcGIS体系的服务软件,这一篇将介绍如何把我们自己的数据通过ArcGIS Server发布出去,并且能够通过Web页面进行显示和编辑. 发布数据服务 在进行WebGIS开发中,地图显示的内容可以分成两类:一类是底图,或者是矢量的世界地图.中国地图.某个地区的底图:另一类就是业务图,对于用于遥感数据发布的WebGIS应用就是遥感影像的边框图层,对于电力作业的就是杆塔.线路图层,对于水利作业的就是河流.居民地图层.

ArcGIS Server 缓存服务切图范围

ArcGIS Server 缓存服务分为创建服务时同时自动建立缓存和创建服务后手动建立缓存两种. 相关资料: 缓存: 瓦片: 切片: 10.4帮助文档: 10.2帮助文档: http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//00540000000p000000 官方文档链接:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//00540000000p0

WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析

WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析 FeatureService也称要素服务,其最大的好处就是支持在线要素编辑,并将编辑同步更新到后台的数据库中,它需要ArcSDE提供地理数据库的访问支撑.因此Feature Service中的要素来源必须是来自于ArcSDE. 关于Feature Service的详细介绍,可参考官网文档: http://help.arcgis.com/en/arcgisserver/10.0/help/arc

arcgis server缓存路径修改

转自蓝紫原文 arcgis server缓存路径修改 由于空间不够用,需要更换瓦片的输出路径,具体的修改方法如下: 1.打开ArcCatalog,打开GIS服务器,找到已经添加的gis服务器,一般都是机器名,如下所示,右键我的gis服务器(admin-think),选中服务器属性. 2.打开服务器属性对话框,如下所示,选择目录类型,如果要修改缓存目录,则目录类型选择缓存目录,然后添加其路径. 3.在gis服务器下找到要修改的服务,如我要修改road服务缓存路径,则右键改服务,停止服务,然后选择服

WebGIS中矢量切图的初步研究

1.背景 在GIS领域,金字塔技术一直是一个基础性技术,WMTS规范专门制定了针对切片请求的格式.利用这种技术,前端可以快速展示出指定级别的地图或影像. 但是,由于切图本身是一张图片,图片上看似是兴趣点的要素根本无法进行前端交互.于是,针对兴趣点等矢量数据的展示,基本原理都是先获取到矢量的地理信息(比如GeoJson),在前端绘制(内核为一个element),于是该element便能进行鼠标响应等交互了. 2.矢量数据的一般展示方法 2.1 矢量数据按需请求 根据需要,每次向服务器(比如根据地理