zoukankan      html  css  js  c++  java
  • 转:读取arcgisserver瓦片数据

    getURL: function(bounds){

               var lon1=bounds.left;

               var lat1=bounds.top;

               var lon2=bounds.right;

               var lat2=bounds.bottom;

             var picHeight=256;    //图片大小

             var picResolution,picRow,picCol;   //分辨率,所求图片行号,列号

             var tileOriginX,tileOriginY;    //切图原点

             var iResolution=[1058.3354500042335,529.16772500211675,264.58386250105838,132.29193125052919]; //每个级别的分辨率

             var temp1=new Array();

             var i,zoom=0,path;    //zoom代表缩放级别;

          

                  tileOriginX=-5123300;

                  tileOriginY=10002300;

                  //计算zoom

                  picResolution=(lon2-lon1)/picHeight;

             for(i=0;i<iResolution.length;i++){

                       temp1[i]=Math.abs(iResolution[i]-picResolution);

                        if(i>=1){

                                if(temp1[i]<=temp1[i-1]){

                                       zoom=i;

                                }

                         }

                  } //end for

                  //计算行列号(使用瓦片的中心点经纬度计算)

                  picRow=Math.ceil(Math.abs((tileOriginY-(lat1+lat2)/2)/(iResolution[zoom]*picHeight)))-1;

             picCol=Math.ceil(Math.abs((tileOriginX-(lon1+lon2)/2)/(iResolution[zoom]*picHeight)))-1;

                  //计算瓦片路径,把级别、行列十进制转化为十六进制

                  zoom=zoom.toString(16);

                  picRow=picRow.toString(16);

                  picCol=picCol.toString(16);

                  var zoomTemp="00"+zoom.toString();

                  var picRowTemp="00000000"+picRow.toString();

                  var picColTemp="00000000"+picCol.toString();

                  zoom="L"+zoomTemp.substring(zoom.length,zoom.length+2);

                  picRow="R"+picRowTemp.substring(picRow.length,picRow.length+8);

                  picCol="C"+picColTemp.substring(picCol.length,picCol.length+8);

                  path="http://localhost/openlayer/Layers/_alllayers/"+zoom+"/"+picRow+"/"+picCol+".png";

                  //http://localhost/openlayer/layers/_alllayers/L02/R0000004c/C0000004a.png

                  //alert("path:"+path);

                  return path;

          },  //end function

  • 相关阅读:
    Cheatsheet: 2018 11.01 ~ 2019 02.28
    Cheatsheet: 2018 08.01 ~ 2018 10.31
    Cheatsheet: 2018 05.01 ~ 07.31
    Cheatsheet: 2018 04.01 ~ 04.30
    stb_image multiple definition of first defined here 多文件包含问题
    NanoPi arm架构下的程序 ./ 运行黑屏 Qt环境可运行
    opencv3.4.9 + armv7 + arm-linux-gnueabihf交叉编译
    NIVIDIA Tegra K1 QWT安装使用问题和解决办法
    7.17日报
    7.16日报
  • 原文地址:https://www.cnblogs.com/wenwu/p/3064751.html
Copyright © 2011-2022 走看看