arcgis api 4.x加载天地图(经纬度和墨卡托投影)(一篇文章搞透天地图加载)
主要说明:
1、天地图影像分两种经纬度投影(WKID:4490)和墨卡托投影两种,arcgis默认为墨卡托坐标系(3857),可以切换二维/三维,加载经纬度切片时view需要设置wkid:4326
2、2019年1月1日以后使用天地图需要自己申请token,免费申请
3、天地图官网给的各种天地图资源URL地址:
http://lbs.tianditu.gov.cn/server/MapService.html
ter:地形
img:影像
vec:矢量
cia:影像注记
cva:矢量注记
cta:地形注记
c:经纬度投影
w:web墨卡托投影
矢量底图系列:
- 天地图影像:
url="http://t0.tianditu.com/img_c/wmts?SERVICE=WMTS&request=GetTile&version=1.0.0&tk=535cc0eb1&LAYER=img&tileMatrixSet=c&style=default&format=tiles&TileMatrix="+level+"&TileRow="+row+"&TileCol="+col;
- 影像注记:
"http://t0.tianditu.com/cia_c/wmts?SERVICE=WMTS&request=GetTile&version=1.0.0&tk=535c46d1&LAYER=cia&tileMatrixSet=c&style=default&format=tiles&TileMatrix="+level+"&TileRow="+row+"&TileCol="+col;
- 天地图矢量:
"http://t0.tianditu.com/vec_c/wmts?SERVICE=WMTS&request=GetTile&version=1.0.0&tk=535cc0ebf6d1&LAYER=vec&tileMatrixSet=c&style=default&format=tiles&TileMatrix="+level+"&TileRow="+row+"&TileCol="+col;
- 矢量注记:
"http://t0.tianditu.com/cva_c/wmts?SERVICE=WMTS&request=GetTile&version=1.0.0&tk=535cc6d1&LAYER=cva&tileMatrixSet=c&style=default&format=tiles&TileMatrix="+level+"&TileRow="+row+"&TileCol="+col;
备注:url地址中对应修改这几项:img_c表示矢量影像;LAYER=img,表示影像;tileMatrixSet=c:表示是地理坐标系
4、arcgis api加载方式包括两种,WebTileLayer(切片)和WMTSLayer
一、WebTileLayer方式加载墨卡托投影
var map = new Map({// basemap: "streets"});var view = new MapView({container: "viewDiv",map: map,zoom: 9,center: [120, 30]});var tdtMap_img = new WebTileLayer({//天地图影像urlTemplate: "https://{subDomain}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={col}&TILEROW={row}&TILEMATRIX={level}&tk=1",subDomains: ["t0","t1","t2","t3","t4","t5","t6","t7"],copyright: "天地图影像"});var tdtMap = new WebTileLayer({//天地图urlTemplate: "http://{subDomain}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={col}&TILEROW={row}&TILEMATRIX={level}&tk=1072d9",subDomains: ["t0","t1","t2","t3","t4","t5","t6","t7"],copyright: "天地图"})var tdtMap_anno = new WebTileLayer({//天地图注记urlTemplate: "http://{subDomain}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={col}&TILEROW={row}&TILEMATRIX={level}&tk=107d",urlTemplate: "https://{subDomain}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={col}&TILEROW={row}&TILEMATRIX={level}&tk=1072d",subDomains: ["t0","t1","t2","t3","t4","t5","t6","t7"],copyright: "天地图注记"})// map.add(tdtMap_img);map.add(tdtMap);map.add(tdtMap_anno);
二、WebTileLayer方式加载经纬度投影
1、修改TileInfo信息。 'esri/layers/support/TileInfo'
var tileInfo = new TileInfo({dpi: 90.71428571427429,//解析度,即像素rows: 256,cols: 256,compressionQuality: 0,//压缩像素值origin: {x: -180,y: 90},spatialReference: {wkid: 4326},lods: [//定义平铺方案的细节级别数组{ level: 2, levelValue: 2, resolution: 0.3515625, scale: 147748796.52937502 },{ level: 3, levelValue: 3, resolution: 0.17578125, scale: 73874398.264687508 },{ level: 4, levelValue: 4, resolution: 0.087890625, scale: 36937199.132343754 },{ level: 5, levelValue: 5, resolution: 0.0439453125, scale: 18468599.566171877 },{ level: 6, levelValue: 6, resolution: 0.02197265625, scale: 9234299.7830859385 },{ level: 7, levelValue: 7, resolution: 0.010986328125, scale: 4617149.8915429693 },{ level: 8, levelValue: 8, resolution: 0.0054931640625, scale: 2308574.9457714846 },{ level: 9, levelValue: 9, resolution: 0.00274658203125, scale: 1154287.4728857423 },{ level: 10, levelValue: 10, resolution: 0.001373291015625, scale: 577143.73644287116 },{ level: 11, levelValue: 11, resolution: 0.0006866455078125, scale: 288571.86822143558 },{ level: 12, levelValue: 12, resolution: 0.00034332275390625, scale: 144285.93411071779 },{ level: 13, levelValue: 13, resolution: 0.000171661376953125, scale: 72142.967055358895 },{ level: 14, levelValue: 14, resolution: 8.58306884765625e-005, scale: 36071.483527679447 },{ level: 15, levelValue: 15, resolution: 4.291534423828125e-005, scale: 18035.741763839724 },{ level: 16, levelValue: 16, resolution: 2.1457672119140625e-005, scale: 9017.8708819198619 },{ level: 17, levelValue: 17, resolution: 1.0728836059570313e-005, scale: 4508.9354409599309 },{ level: 18, levelValue: 18, resolution: 5.3644180297851563e-006, scale: 2254.4677204799655 },{ level: 19, levelValue: 19, resolution: 2.68220901489257815e-006, scale: 1127.23386023998275 },{ level: 20, levelValue: 2, resolution: 1.341104507446289075e-006, scale: 563.616930119991375 }]});
2、加载天地图,需要专门设置map、mapview的wkid为4326才能显示
//加载天地图经纬度矢量var layer = new WebTileLayer('http://{subDomain}.tianditu.com/DataServer?T=vec_c&x={col}&y={row}&l={level}&tk=1',{// subDomains: ['t0','t1','t2','t3','t4','t5','t6','t7'],subDomains: ['t0'],tileInfo: tileInfo});//加载天地图经纬度影像var imagelayer = new WebTileLayer('http://{subDomain}.tianditu.com/DataServer?T=img_c&X={col}&Y={row}&L={level}&tk=1',{subDomains: ['t0','t1','t2','t3','t4','t5','t6','t7'],//subDomains: ['t0'],tileInfo: tileInfo});//加载天地图经纬度影像注记var zjimagelayer = new WebTileLayer('http://{subDomain}.tianditu.com/DataServer?T=cia_c&X={col}&Y={row}&L={level}&tk=17',{subDomains: ['t0','t1','t2','t3','t4','t5','t6','t7'],//subDomains: ['t0'],tileInfo: tileInfo});//加载天地图经纬度地形var terLayer = new WebTileLayer("http://{subDomain}.tianditu.com/DataServer?T=ter_c&X={col}&Y={row}&L={level}&tk=1", {subDomains: ['t0'],tileInfo: tileInfo});var map = new Map({spatialReference : {wkid : 4326},basemap: {baseLayers: [imagelayer,zjimagelayer]}});var mapview = new MapView ({container: "viewDiv",map: map,spatialReference : {wkid : 4326},//spatialReference:new SpatialReference({ wkid: 4490 }),// zoom: 12,//center: [ 122.7346125, 25.0563901 ],});
arcgis api 4.x加载天地图(经纬度和墨卡托投影)(一篇文章搞透天地图加载)相关推荐
- 基于ArcGIS API for JavaScript加载天地图
文章目录 前言 效果图 详细代码 总结 参考链接 前言 该篇主要介绍如何用ArcGIS JS API加载天地图,具体应用场景以及需求分析等,在上篇基于ArcGIS API for JavaScript ...
- 填坑 ---- arcgis api for javascript 加载天地图
写在前面 首先要感谢 arcgis api for javascript 加载天地图 这篇文章,帮助我完成了在网页中加载天地图. 在此就不再描述加载天地图的方法与过程,只记录我遇到的一个坑与填坑方法. ...
- GIS开发之二维地下管线综合管理系统(Arcgis)第四节 使用arcgis api for js 加载天地图
GIS开发之二维地下管线综合管理系统(Arcgis)第四节 使用arcgis api for js 加载天地图 核心js文件 调用方式 调用结果 核心js文件 #通过定义加载天地图js文件,引用并组织 ...
- 一篇文章搞定百度OCR图片文字识别API
一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104 转载于:https://www.cnblogs.com/chongdongxia ...
- arcgis api for javascipt 加载天地图、百度地图
写在前面的话: 1.百度地图是自己定义的坐标系统,wkid=102100.百度地图数据是加密的产物.下文将附上百度坐标与WGS84,谷歌等坐标系统转换方法(地理-地理),此方法并未亲测,据说准 2.百 ...
- 基于ArcGIS API for JavaScript加载百度各种类型切片地图
文章目录 应用场景 需求分析 效果图 实现代码 原理解读 应用场景 部分项目基于ArcGIS平台,但是甲方只提供部分矢量数据,用作底图的地形图数据没有,表示可以使用百度地图作为底图.所以才会有使用Ar ...
- 开源GIS(三)——openlayers地图基本框架与天地图加载
目录 一.引言 二.openlayer中map基本框架 三.加载天地图 四.总结 一.引言 换工作中间耽误了好长时间没有更过blog了,现在终于有时间搞开源webgis了,先从openlayer下手, ...
- 天地图加载慢 快速打开天地图
进入 天地图的控制台 取消勾选不需要的 api ,链接速度显著提升. 我这边只用到了显示地图和标注,所以只需要这三个 api 链接速度 从 之前的偶尔 3min 超时 到几秒 甚至秒开 还有一种,将天 ...
- 天地图加载403错误
起因: 今天使用天地图,按照demo,在应用中加载后,收到403错误提示. 如果时间紧迫或懒得看内容分析原因,可直接翻到文章底部查看解决方案 初步排查: 首先想到的是应用token,经过检查并非tok ...
最新文章
- tf.concat()详解
- 算法笔记-链相关、链的基础、单链双链环链、链的各种功能实现、链的算法题、面试题以及算法优化方法(多)、C#
- SQL Server 2008 无法删除用户的解决方法
- python导入标准库对象的语句_Python项目中如何优雅的import
- 区块链之智能合约入门
- nodejs文件写入
- Exchange Server 2013系列五:虚拟化部署
- sql语句中 and 与or 的优先级
- 【转】项目代码风格要求
- Unity3d之HashSlash学习笔记(一)--角色属性类的构架
- 计算机知识竞赛策划案,计算机基础知识竞赛策划书.doc
- ASROCK X399 PROFESSIONAL GAMING R1.02(70-MXB5Q0-A01)华擎点位图
- VMware ESXi下载和安装
- python调用gpu amd_TensorFlow通过AMD GPU加速(ROCm/Ubuntu 18.04)
- 【Python】定义函数求解一元二次方程
- hadoop入门6:hadoop查询两两之间有共同好友,及他俩的共同好友都是谁
- 【语义分割】Searching for Efficient Multi-Scale Architectures for Dense Image Prediction翻译
- win11玩游戏延迟_win11系统玩游戏卡顿性能提升小技巧
- Linux学习之错误与解决记录(持续更新)
- windows专业版升级企业版