arcgis for js 3使用4490坐标系加载天地图
发布日期:2021-06-30 17:19:21
浏览次数:2
分类:技术文章
本文共 4278 字,大约阅读时间需要 14 分钟。
我以往使用arcgis for js 3.19加载天地图,使用的都是默认的坐标系:4326。现在因为客户提供的地图,都是4490的,没办法,只能全部使用4490,否则不同坐标系的图层,没办法叠在一起。
4490是CGCS2000坐标系的WKID,4326是WGS84的WKID。有关它们的区别与联系,请阅读尾部的参考文章。有说法称,4490比4326更适合我们多一些。
以下是加载天地图的完整代码,写成了arcgis插件的形式:
define(["dojo/_base/declare","esri/layers/tiled"],function(declare) { return declare(esri.layers.TiledMapServiceLayer, { constructor: function(path, option) { this.baseUrl = path; this.layerType = option ? option.mode : null; if(option.name){ this.id = option.name; } this.tk = getTk(option); this.spatialReference = new esri.SpatialReference({ wkid: 4490 }); this.initialExtent = (this.fullExtent = new esri.geometry.Extent(45.0, -27.0, 163.0,45.0, this.spatialReference));//中国及周边范围 this.tileInfo = getTileInfo(); this.loaded = true; this.onLoad(this); function getTk(option){ var tk; if(option.tk){ tk = option.tk; } else { console.error("欠缺天地图的TK!!!"); } return tk; } function getTileInfo(){ return new esri.layers.TileInfo({ /* titleInfo可从图层中获取 */ "dpi": 96, "rows": 256, "cols": 256, "compressionQuality": 0, "origin": { x: -180, y: 90 }, "spatialReference": { "wkid": 4490, "latestWkid": 4490 }, /* scale:比例尺 ,resolution:分辨率 */ "lods": [ { level: 0, resolution: 1.40625, scale: 590995197.14166909755553014475 }, { "level": 1, "resolution": 0.7031250000000002, "scale": 2.9549759305875003E8 }, { "level": 2, "resolution": 0.3515625000000001, "scale": 1.4774879652937502E8 }, { "level": 3, "resolution": 0.17578125000000006, "scale": 7.387439826468751E7 }, { "level": 4, "resolution": 0.08789062500000003, "scale": 3.6937199132343754E7 }, { "level": 5, "resolution": 0.043945312500000014, "scale": 1.8468599566171877E7 }, { "level": 6, "resolution": 0.021972656250000007, "scale": 9234299.783085939 }, { "level": 7, "resolution": 0.010986328125000003, "scale": 4617149.891542969 }, { "level": 8, "resolution": 0.005493164062500002, "scale": 2308574.9457714846 }, { "level": 9, "resolution": 0.002746582031250001, "scale": 1154287.4728857423 }, { "level": 10, "resolution": 0.0013732910156250004, "scale": 577143.7364428712 }, { "level": 11, "resolution": 6.866455078125002E-4, "scale": 288571.8682214356 }, { "level": 12, "resolution": 3.433227539062501E-4, "scale": 144285.9341107178 }, { "level": 13, "resolution": 1.7166137695312505E-4, "scale": 72142.9670553589 }, { "level": 14, "resolution": 8.583068847656253E-5, "scale": 36071.48352767945 }, { "level": 15, "resolution": 4.2915344238281264E-5, "scale": 18035.741763839724 }, { "level": 16, "resolution": 2.1457672119140632E-5, "scale": 9017.870881919862 }, { "level": 17, "resolution": 1.0728836059570316E-5, "scale": 4508.935440959931 }, { "level": 18, "resolution": 5.364418029785158E-6, "scale": 2254.4677204799655 } ] }); } }, //end of constructor baseUrl: null, layerType: null, tk: null, id:null, getTileUrl: function (level, row, col) { return this.baseUrl + "?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&STYLE=default&TILEMATRIXSET=c&FORMAT=tiles" + "&LAYER=" + this.layerType + "&TILEMATRIX=" + level + "&TILEROW=" + row + "&TILECOL=" + col + "&tk=" + this.tk; } });});
代码中,
"lods": [ { level: 0, resolution: 1.40625, scale: 590995197.14166909755553014475 }, { "level": 1, "resolution": 0.7031250000000002, "scale": 2.9549759305875003E8 },
这部分比较神秘。我也不能确定这是啥,但从许多4490图层的信息来看,这应该是一种类似地图切片的方案或比例尺之类。你看,以下是一幅4490坐标系的底图:
里面的数字与代码中是一样的。不过它的Level 0对应了代码中的Level 1。只有代码中这样设置,天地图才能加载得出来。不清楚是什么原因。也许当前(2021年4月)版本的天地图就是这样子的。参考文章
转载地址:https://leftfist.blog.csdn.net/article/details/115675788 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月05日 14时03分30秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetcode 122 买卖股票的最佳时机II
2019-04-30
leetcode 309 最佳买卖股票含冷冻期
2019-04-30
leetcode 714 买卖股票的最佳时机含手续费
2019-04-30
leetcode3 无重复字符的最长子串
2019-04-30
leetcode 76 最小覆盖子串
2019-04-30
leetcode 1143. 最长公共子序列
2019-04-30
leetcode 83. 删除排序链表中的重复元素
2019-04-30
智能体 Intelligent Agent
2019-04-30
Network Compression网络压缩(一)
2019-04-30
GAN系列(零)—— GAN的发展(两条路线)
2019-04-30
Conditional GAN (CGAN) 条件生成网络
2019-04-30
强化学习(三) —— Policy Gradient 策略梯度
2019-04-30
docker安装oracle(win10)
2019-04-30
Cloudera Quickstart & HUE
2019-04-30
HUE
2019-04-30
CDH
2019-04-30
行为树 BT
2019-04-30
Cassandra & CQL
2019-04-30
Oracle数据库
2019-04-30
Oracle数据库命令
2019-04-30