ol3加載arcserver rest服務(wù)

近日做完ol3加載arcserver rest服務(wù)贺辰,做一個總結(jié)户盯,因為發(fā)現(xiàn)自己親手寫的ol3記載瓦片的小結(jié),竟然自己也會忘記饲化,還好留下了博客莽鸭,好記憶不如爛筆頭。同時此文也是為了完成對扯淡大叔的承諾吃靠,答應(yīng)幫大叔寫幾篇ol3的教程硫眨,一直拖著,萬分抱歉巢块。

1礁阁、加載第三方在線acrserver rest服務(wù)

參考代碼如下巧号,可以直接訪問:

<script type="text/javascript">
    var projection = ol.proj.get('EPSG:4326');
    var tileUrl = "http://222.180.68.94:6080/arcgis/rest/services/wzpsp/wzmap/MapServer/tile/{z}/{y}/{x}";
    var origin = [-400.0, 399.9999999999998];
    var resolutions = [
        0.0013732916427489112,
        0.0006866458213744556,
        0.0003433229106872278,
        0.0001716614553436139,
        0.00008582953794130404,
        0.00004291595870115493,
        0.000021457979350577466,
        0.000010728989675288733,
        0.000005363305107141452,
        0.000002681652553570726,
        0.000001342016007288278,
    ];
    var fullExtent = [107.86896617100007, 30.390792641000075, 108.90726196600006, 31.005204326000076];
    var tileGrid = new ol.tilegrid.TileGrid({
        tileSize: 256,
        origin: origin,
        extent: fullExtent,
        resolutions: resolutions
    });
    var tileArcGISXYZ = new ol.source.XYZ({
        tileGrid: tileGrid,
        projection: projection,
        url: tileUrl ,
    });

    var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: tileArcGISXYZ
            }),               
        ],
        view: new ol.View({
            center: ol.extent.getCenter(fullExtent),
            resolutions: resolutions,
            projection: projection,
            extent: fullExtent
        })
    });
    map.getView().setZoom(0);
</script>

上面中的參數(shù)在arcserver rest 服務(wù)的頁面中找,resolutions參數(shù)姥闭,tileSize參數(shù)如下:


Paste_Image.png

origin及地圖范圍:arcgis的origin原點在[-400,399,99999999999]丹鸿,范圍一般用initial extent:


Paste_Image.png

PS:在作者的幾次項目實踐中發(fā)現(xiàn),initial extent與full extent都有可能棚品,可能和第三方發(fā)布的服務(wù)配置有關(guān)靠欢,待進(jìn)一步確認(rèn)?

2铜跑、加載第三方arcserver rest服務(wù)的離線瓦片

也可以通過作者發(fā)布的瓦片下載工具(工具按照wmts規(guī)則存儲離線瓦片) 门怪,下載第三方arcgis rest服務(wù)的瓦片到本地,用ol3加載離線瓦片锅纺。通過觀察arcgis rest發(fā)布的瓦片是WMTS規(guī)則薪缆,瓦片坐標(biāo)從左上角到右下角遞增,加載arcgis rest的離線瓦片參考如下伞广,其余代碼及參數(shù)設(shè)置與上面所述一致:

 new ol.layer.Tile({
                    source: new ol.source.TileImage({
                        projection: projection,
                        tileGrid: tileGrid,
                        tileUrlFunction: function (tileCoord, pixelRatio, proj) {
                            var z = tileCoord[0];
                            var x = tileCoord[1];
                            var y = -tileCoord[2] - 1;
                            return "/testtiles/wz_tiles/"+z + "/" + y +"/" + x +".png";
                        }
                    }),
                })

3拣帽、加載arcserver rest的本地切片

加載arcserver的本地切片時,其resolutions嚼锄、origin减拭、extent的設(shè)置與上面所述一致。arcserver切片如下圖区丑,其本質(zhì)也是xyz排列存儲:


arcserver切片

參考代碼如下:

   //本地瓦片
   tileUrlFunction: function (tileCoord, pixelRatio, proj) {      
          var x = 'C' + padLeft(tileCoord[1], 8, 16);
          var y = 'R' + padLeft(-tileCoord[2] - 1, 8, 16);
          var z = 'L' + padLeft(tileCoord[0], 2, 10);
         var url = 'localtiles/' + z + '/' + z + '/' + y + '/' + x + '.png';
         return url;
   }


      //將10進(jìn)制轉(zhuǎn)16進(jìn)制拧粪,余位補(bǔ)0,湊成ArcServer的切片格式
    function padLeft(val,num ,radix) {
        var str = val.toString(radix || 10);
        return (new Array(num).join('0') + str).slice(-num);
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沧侥,一起剝皮案震驚了整個濱河市可霎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宴杀,老刑警劉巖癣朗,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旺罢,居然都是意外死亡旷余,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門扁达,熙熙樓的掌柜王于貴愁眉苦臉地迎上來正卧,“玉大人,你說我怎么就攤上這事跪解÷酰” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窘行。 經(jīng)常有香客問我骏啰,道長,這世上最難降的妖魔是什么抽高? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任判耕,我火速辦了婚禮,結(jié)果婚禮上翘骂,老公的妹妹穿的比我還像新娘壁熄。我一直安慰自己,他們只是感情好碳竟,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布草丧。 她就那樣靜靜地躺著,像睡著了一般莹桅。 火紅的嫁衣襯著肌膚如雪昌执。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天诈泼,我揣著相機(jī)與錄音懂拾,去河邊找鬼。 笑死铐达,一個胖子當(dāng)著我的面吹牛岖赋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瓮孙,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼唐断,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了杭抠?” 一聲冷哼從身側(cè)響起脸甘,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎偏灿,沒想到半個月后丹诀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡菩混,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年忿墅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沮峡。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亿柑,靈堂內(nèi)的尸體忽然破棺而出邢疙,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布疟游,位于F島的核電站呼畸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏颁虐。R本人自食惡果不足惜蛮原,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望另绩。 院中可真熱鬧儒陨,春花似錦、人聲如沸笋籽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽车海。三九已至笛园,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侍芝,已是汗流浹背研铆。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留州叠,地道東北人蚜印。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像留量,于是被迫代替她去往敵國和親窄赋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理楼熄,服務(wù)發(fā)現(xiàn)忆绰,斷路器,智...
    卡卡羅2017閱讀 134,702評論 18 139
  • 一說到REST可岂,我想大家的第一反應(yīng)就是“啊错敢,就是那種前后臺通信方式÷拼猓”但是在要求詳細(xì)講述它所提出的各個約束稚茅,以及如...
    時待吾閱讀 3,433評論 0 19
  • 本文適用于對ol3的使用有一定了解,目的是為了對ol3瓦片加載部分有更深入的了解平斩。ol3源碼極其龐大亚享,本文僅僅只包...
    老羽閱讀 8,840評論 6 17
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,293評論 25 707
  • 離2018年還有69天欺税,上次數(shù)日子的時候似乎是好久以前了侈沪,那時候就想著發(fā)力了,但沒發(fā)出來晚凿。今天算是一個新的開始吧亭罪,...
    李大刀閱讀 575評論 0 50