一个菜鸟,因为需求最近要用ol3加载切片的天地图遇到的一些问题记录下吧
重点:ArcGIS切片文件夹和文件名都是以16进制的形式命名的,就是将原来的x,y更改为以16进制表示的形式就可以了,Z是地图的层级。
一、先说下openlayer2它加载aicgis切片图
在openlayer2中用的是这个方法OpenLayers.Layer.ArcGISCache,这个继承的是OpenLayers.Layer.XYZ这个类主要的就是里面的getUrl方法:
下面是openlayer2源码中的方法:
其中重要的就是获取x,y ,z将他进行arcgis相应的16进制转换:
上面的是转16进制
这个是baseTypes.js这个是补0的方法。
上面的都是从open layer2源码中对比发现的,它写的这个补零方法真的简单。
二、ol3加载arcgis切片图。
直接上截图吧
这是ol3的加载,这里projection要根据你以前切的图的projection设定。不然不给默认是:'EPS:3857'.不相同图会变形。
三、总结
还遇到的一些问题就是arcgis切图会有大小写之分,所以可以toUpperCase();转下x,y, z;
通过url访问到每个切片,其实这个问题在使用IIS发布切片图时是不存在的,Tomcat发布切片,会有大小写之分,所以要进行转换。(openlayer默认是小写)
这种方法不需要读切片的配置文件,但是要知道切片的坐标系.。
一些记录、能在路上不是是咸鱼非咸鱼,希望有梦能仗剑。
网友评论