ArcGIS Server的切图原理深入
http://wenku.baidu.com/view/45f7281cfad6195f312ba607.html
作者:diligent… 文章来源:ESRI 点击数:1548 更新时间:2009-9-10
摘要:GoogleMap,VirtualEarth,YahooMap等,目前所有的WebGIS都使用了缓存机制以提高地图访问速度。原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图片,存在服务器上,客户端访问时直接获取需要的小图片拼接成地图,而不是由服务器动态创建出一幅图片来送到客户端,极大程度的提高了反问速度。
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。
分享到:
相关推荐
用于将arcgis9.3升级为9.3.1的补丁文件。该文件在ESRI官网的补丁文件网页已不存在...比如,http://www.alphagis.ee/arcgis-9-3-service-pack-1/、http://www.gissky.net/Soft/417.html等。
14. **GIS天空论坛** - [http://www.gissky.com/Bbs/list.asp?boardid=2](http://www.gissky.com/Bbs/list.asp?boardid=2) GIS天空论坛关注GIS全领域的应用和技术发展,提供了广泛的GIS资源和资讯。无论是GIS理论...
网址:http://www.gissky.net/Article/1554.htm 照着里边的步骤一步步做的,功能均已实现。 ArcEngine中基本的功能都包含在里边,很适合初学者入门学习。 的确是学习ArcEngine的好资源。 开发环境:VS2008,Arc...
- [GDAL官网](http://www.gissky.net/Article/1660.htm) - [百度个人空间](http://hi.baidu.com/sunday_jia/blog/item/4e6636d27c75d6083af3cf9a.html) 通过以上步骤,您可以成功在Visual Studio 2010环境下编译并...
编制完成后放在兔八哥的GIS空间站http://www.gissky.net上,收到了不少用户反馈,我写“常用地图投影转换公式”及翻译“坐标系转换公式”应该说也是在用户建议下完成的,有个陕西的用户还给我发来了最新的...
《Web GIS开发——ArcGIS Server与.NET》的配套源代码,解压密码是www.gissky.net
插件式GIS应用框架的设计与实现的源码(全部) 解压密码: www.gissky.net
易语言模块反编译 可以支持带密码的模块源码 下载试试看吧 解压密码: www.gissky.net
- [ArcGIS Desktop Help](https://desktop.arcgis.com/en/arcmap/latest/index.htm):ArcGIS官方帮助文档。 - [Data Driven Pages in ArcGIS]...
GIS专业算法基础,包括空间数据的变换,组织,变换算法。缓冲区分析,地形分析,网络分析算法,空间数据的索引以及空间数据的内插等。是一本很好的书,因为不能一次上传,一次只能上传15M,...解压密码为www.gissky.net
200多页,超详细,pdf版,不才,压缩包有密码www.gissky.net。第一章 ArcGIS空间分析简介 3 获取派生信息 4 识别空间关系 5 寻找适宜位置 6 计算通行成本 7 学习空间分析(Spatial Analyst)的技巧 8 第二章 快速...
200多页,pdf版,密码www.gissky.net 第一章 ArcGIS空间分析简介 3 获取派生信息 4 识别空间关系 5 寻找适宜位置 6 计算通行成本 7 学习空间分析(Spatial Analyst)的技巧 8 第二章 快速入门教程 11 练习1: 显示和...
200多页,pdf版,密码www.gissky.net 第一章 ArcGIS空间分析简介 3 获取派生信息 4 识别空间关系 5 寻找适宜位置 6 计算通行成本 7 学习空间分析(Spatial Analyst)的技巧 8 第二章 快速入门教程 11 练习1: 显示和...
GIS天空论坛(bbs.gissky.net) **简介**:GIS天空论坛是中国最知名的GIS社区之一,汇集了大量的GIS爱好者和专业人士,提供了丰富的学习资料和技术支持。 **特点**: - **内容丰富多样**:除了GIS外,还包括遥感...
根据提供的信息,我们可以深入探讨如何使用C#语言来操作DBF文件。DBF文件是一种用于存储表格数据的文件格式,通常与桌面数据库程序如Visual FoxPro等关联。在GIS(地理信息系统)领域,DBF文件常被用作存储属性表的...
### 地理信息系统的设计与实现 #### 一、地理信息系统(GIS)概述 地理信息系统(Geographic Information System,简称GIS)是一种集成了计算机硬件、软件和地理数据的技术系统,用于采集、存储、处理、分析以及展示...
文件`www.pudn.com.txt`可能是介绍相关资源或教程的链接,而`ArcgisMapOperation`可能是源代码文件或示例项目,用于演示如何在实际应用中实现这些地图操作。通过研究这些文件,开发者可以深入理解ArcGIS的API用法,...
### 城市基础地理空间信息共享框架要素图式符号 #### 一、概述 《城市基础地理空间信息共享框架要素图式符号》是中华人民共和国测绘行业标准之一,旨在为城市基础空间共享框架信息(比例尺1:500~1:2000)的可视化...
GIS(Geographic Information System,地理信息系统)是一种集成了计算机硬件、软件和地理数据的系统,用于获取、存储、管理、分析和展示所有类型地理信息。在"基于GIS的房地信息管理系统图文一体化的研究"中,我们...
### 管道完整性管理-9完整性管理信息系统 #### 知识点一:管道完整性管理的概念及重要性 - **定义**:管道完整性管理是一种基于风险的管理方法,旨在通过系统化的方式确保油气管道在整个生命周期内能够安全、可靠...