阅读:2040回复:1
ARCGIS下载天地图1 概述 软件是利用ARCGIS环境下载天地图,软件环境和操作说明,查看2,3节。开发思路说明,查看第4节
2 软件环境 l 地理信息平台:arcgis10.2(ArcGISEngine10.2) l 系统运行环境:.net3.5 3 操作指引 3.1下该图层 勾选表示:下载选中的地图服务;如果没勾选,则下载矢量2000地图服务、矢量2000中文标注、影像2000地图服务、影像2000中文标注、地形2000地图服务、地形2000中文标注6个图层
3.2下载级别 从第几级开始下,如果要下载17级别,则设置为下图既可以: 级别的比例尺如下:
3.3范围 l 左上角,右下角:手动设置矩形下载范围,中间用英文逗号隔开 l 空间图层:勾选空间图层:是利用shape或GDB空间面层,当做范围 3.4缓存路径 设置保存下载的目录;一般下载后的目录机构为:D:\Cache\天地图\影像2000地图服务\_alllayers\L16\R00005fee 3.5进度 显示天地图下载的进度,如下图 3.6下载过程 三个同时开启下载 下载后的缓存
4 开发思路说明 4.1设置级别 4.2设置下载的范围和保存目录 4.3根据scale(比例尺)、Resolution(实际分辨率)、(extent)下载范围获取最呆行列号 int startCol = (int)Math.Floor((double)(((envelope.XMin - x) + (lod.Resolution * 0.5)) / (resolution * this.TileInfo.Width))); int startRow = (int)Math.Floor((double)(((y - envelope.YMax) + (lod.Resolution * 0.5)) / (resolution * this.TileInfo.Height))); if (startCol < 0){ startCol = 0; } if (startRow < 0){ startRow = 0; } int endCol = (int)Math.Floor((double)(((envelope.XMax - x) - (lod.Resolution * 0.5)) / (resolution * this.TileInfo.Width))); int endRow = (int)Math.Floor((double)(((y - envelope.YMin) - (lod.Resolution * 0.5)) / (resolution * this.TileInfo.Height))); return new int[] { startCol, startRow, endCol, endRow }; 4.4获取天地图的下载地址 注意tilerow(行号),tilecol(列号),tilematrix(级别) http://t0.tianditu.com/img_c/wmts?service=wmts&request=gettile&version=1.0.0&layer=img&format=tiles&tilematrixset=c&tilecol=3&tilerow=0&tilematrix=2 4.5下载图片,保存到目录下:行列号是R/C+十六进制 保存结构为:目录>文件夹Layers>文件夹_alllayers>级别>行号>列号.png(目录\Layers\_alllayers\L04\R000004cd\C00000695.png) 4.6形成xml等配置文件 4.7arcmap查看 DEMO可以查看: 下载地址:http://pan.baidu.com/s/1dF1iX7z 可以加入QQ群:626011438交流 |
|||||||||||||||||||||||||||||||||||||||||
1楼#
发布于:2017-04-09 20:43
这个好用吗
|
|