Cesium 4490 解决方案
今天同事反饋我們的系統(tǒng)加載不了國家2000(4490)的WMTS服務(wù),剛改完的功能,用別的地方的數(shù)據(jù)可以,新提供的數(shù)據(jù)卻不行,經(jīng)過調(diào)試,發(fā)現(xiàn)確實(shí)不行。
然后也在百度上找了一下Cesium 4490 ,主要參考解決思路有下面這兩個(gè)
https://blog.csdn.net/chenguizhenaza/article/details/112003278
https://blog.csdn.net/A873054267/article/details/86652620
這兩篇文章,并沒有解決問題,可以肯定的是代碼并沒有問題,因?yàn)橛?490的數(shù)據(jù)可以加載,網(wǎng)上也有其他人成功加載過,那問題肯定出在數(shù)據(jù)上。
整理了一下思路
1、核實(shí)數(shù)據(jù)坐標(biāo)系,加載成功過的數(shù)據(jù)和加載不成功的數(shù)據(jù)坐標(biāo)系都是4490,
2、向同事要了加載不成功服務(wù)的切片方案(2000.xml)和加載成功的服務(wù)的切片方案(Conf2000天地圖切片方案(5-16級).xml),通過比較發(fā)現(xiàn)
2000.xml 和2000天地圖切片方案(5-16級).xml 區(qū)別在于2000有21級切片,2000天地圖只有20級切片,2000的切片方案第0級是多出來的一級,其他級別與2000天地圖一致。
3、找了網(wǎng)上公開互聯(lián)網(wǎng)的天地圖切片方案,發(fā)現(xiàn)與2000天地圖切片方案除了原點(diǎn)不一致,其他都一致
會不會是級別導(dǎo)致的問題呢?
4、查看系統(tǒng)請求圖片的錯(cuò)誤
如果是級別問題,那么請求的時(shí)候如果級別+1,會不會返回成功呢?
神奇的是竟然返回成功圖片了,隨機(jī)測試了幾個(gè)無法返回圖片的請求,在Level+1情況下,都返回了圖片
5、驗(yàn)證整個(gè)服務(wù),既然是級別問題,那如果我在服務(wù)器上直接修改切片的文件夾級別(可以看下ArcGISServer 切片規(guī)則,知道原由),把每個(gè)級別都減少1,比如L17改為L16
請求成功了
解決方案
1、修改Cesium 源碼WebMapTileServiceImageryProvider,判斷WMTS服務(wù)的切片級別,請求數(shù)據(jù)時(shí)調(diào)整級別,這個(gè)方案比較麻煩,對源碼的理解要比較深入,才能修改,暫時(shí)沒用這種方式
2、修改數(shù)據(jù)
1)重新發(fā)布數(shù)據(jù),用2000天地圖的切片方案重新切片
2)如果客戶已經(jīng)用2000的切片方案切好的服務(wù),那可以重新發(fā)布一個(gè)服務(wù),選擇2000的切片方案,但是不生成切片(生成切片會比較長的時(shí)間,對客戶來說也解釋不了,客戶只會認(rèn)為你的系統(tǒng)支持不了2000坐標(biāo)系的數(shù)據(jù)),把原來已經(jīng)切好的切片目錄拷貝到新服務(wù)的切片目錄下,并把這些切片目錄的名稱級別都減少1,如果L21改為L20
加載代碼:
其他問題
互聯(lián)網(wǎng)2000的切片方案,原點(diǎn)是400,-400,似乎也加載不了,有數(shù)據(jù)的時(shí)候可以測試下
總結(jié)
以上是生活随笔為你收集整理的Cesium 4490 解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 百度地图开发(一)
- 下一篇: 折叠机开始卷外屏了?曝三星Z Flip5