计算某比例尺下地图某点所在的tile图片行列号
如计算L01中,乌鲁木齐市所在tile的行列号。需要收集三个信息: 1、获得乌市的地理坐标:在本地图中是x=-1341070,y=5343697; 2、获得tiling scheme:x=-35331700,y=46619300; 3、获得当前比例尺的resolution,即一个像素所占的地图单位长度:在L01比例尺上是8466.68360003387。
乌市所在的行号:(35331700-1341070)/(8466.6836*512)=7.84=8
乌市所在的列号:(46619300-5343697)/(8466.6836*512)=9.52=10 所以乌鲁木齐在切图的第二个比例尺中,处于第10行,第8列的tile。
建立eYaImage Server和ArcGIS Server的对应关系
-首先新建一个自定义的类
EyaTiledMapServiceLayer,这个类必须继承TiledMapServiceLayer类
-修改重载属性和函数getTileURL
这里的关键是通过重载函数getTileURL去获得切片图,这个函数有3个参数:缩放级别、行号和列号。根据这3个参数,我们可以计算出位于row行和col列的图片的范围。
-算法
xmin = originPointX + (col-1)*resolution*width;
ymin = originPointY - (row-1)*resolution*height;
xmax = originPointX + col*resolution*width;
ymax = originPointY - row*resolution*height;
其中,originPointX和originPointY为Tile Schema的原点坐标。