ArcGIS 制作 “地图切片(tile)”
地图切片简介
地图切片,就是将一幅地图切成很多大小一致的小块,调用时候,只有需要的部分才会发送过去,节省带宽的同时,还节省了服务器端实时渲染地图的时间。但是地图切片有一个特点,就是不适合经常变动,或者说实时动态的数据,因为地图切片是地图服务器端事先渲染好的,而且制作地图切片是一个漫长的过程,可以说真的需要很长时间,但是用一次的耗费,换来性能的提升和节省多次渲染的时间是值得的。
切片的示意图如下图,在地图上覆盖这么一个网格,直接切出来。不同之处是,切片可能会分很多级,为了支持在不同缩放级别的显示:
配置 ArcGIS 制作地图切片的能力
使用ArcGIS制作的切片格式是 .tpk
,ArcGIS 制作的应用,比如使用 ArcGIS runtime SDK for Java、iOS、Windows mobile、Android、WPF 开发的应用,都可以加载该切片格式。
那么怎么制作呢?ArcGIS 默认是不开启制作切片的能力的,首先我们需要开启该功能!首先点击 Customize
菜单,旋转 ArcMap Options
,然后勾选 Enable ArcGIS Runtime Tools
选项,点击确定
,这样就完成了配置,可以制作切片了。
ArcGIS 制作切片
首先打开你待制作切片的地图,制作切片的可以是一个矢量图层,比如“shapefile”文件,也可以是一幅栅格图层,比如卫星影像;可以是一个图层,也可以多个图层叠加在一起制作。还可以将地图进行修饰,比如对点图层设置图标,对要素加上标签,生成的切片也将会有这些修饰。如图:
点击 File
菜单,选择 Share As
,接着点击 Tile Package
,在弹出的对话框里,你就可以配置你的切片属性,和存储位置了。如下图:
上图设置要生产多少级切片,最高可以生成 20 级,虽然很精细,但是你肯定不想这么做,因为你等的时间会长到你想象不到。就我个人使用而言,一个县的区域,生成第 16 级切片用了 8 个小时,第 17 级,直接一天没有生成完。
设置一些属性之后,点击右上角的按钮
Share
,就会进入生成阶段,如果你生成的切片级别超过了 16 ,我相信你会等到不耐烦,除非你的电脑配置超级高。
生成结果
如果上面你配置了生成一个文件夹(没有加 .tpk 后缀),那么你可以看到生成的文件的目录如下: yourFileName/v101/Layers/_alllayers
,这个目录下面就是生成的所有级别:
总结
生成切片,最让人印象深刻的一点就是,如果生成的级别过高(比如大于16级),等待时间非常长,原因由上面的网格就可以看出,因为每一级相对上一级是 4 倍的关系,每一级是将上一级一个切片再分成大小一致的四个切片,也就是说每一级生成的切片数将是 4 的 n 次幂。
如图,第 11 级,已经是 1048576 个切片了,到达 20 级将是天文数字。所以,在实际使用中,还是根据实际情况设置生成的精细度,不要一味的设置很高。
OK,写到这里。