openlayers3使用已有的ArcGIS切片

有时候我们的切片数据是用ArcGIS配图后切的,或者是用地图下载器的ArcGIS切片的格式,项目需要用openlayers3,目前我用了三种方式来使用已有的ArcGIS切片。

1.使用发布工具发布,然后自己拼URL地址

使用IIS或者Tomcat发布切片,通过url可以访问到每个切片就可以。这种方法不需要读切片的配置文件,但是要知道切片的坐标系。

(需要说明的是每个版本的openlayers规则都可能不同,需要在此基础上进行微调)

var tileLayer = new ol.layer.Tile({
		source: new ol.source.XYZ ({
			tileUrlFunction: function(tileCoord) {
				var x = 'C'+zeroPad(tileCoord[1],8,16);
				var y = 'R'+zeroPad(-tileCoord[2]-1,8,16);
				var z = 'L'+zeroPad(tileCoord[0],2,10);
				return url+'/'+z+'/'+y+'/'+x+'.png';
			},
			projection: 'EPSG:3857'
		})
	});
function zeroPad(num,len,radix){
		var str = num.toString(radix || 10);
		while(str.length<len){
			str = "0"+ str;
		}
		return str;
	}


2.使用GeoWebcache发布WMS服务,然后调用

见我的另外一篇博文 http://blog.csdn.net/u014529917/article/details/52241982

3.使用ArcGIS Server发布

这种方法看起来不太严谨,但是亲测可行。

 a.设置空的mxd文档,空的mxd的文档空间参考和范围必须按照已经切片好的服务设置
b.发布空的mxd文档的服务
c.在发布窗口,右键发布的mxd文档-服务属性-缓存,设置和切片相同的缓存选项,启动创建切片。

 d.取消创建切片
e.拷贝已有切片,覆盖新创建的切片
此时访问该服务,访问到的就是原有的切片了。

调用方法代码:

var arcgisTileLayer = new ol.layer.Tile({  
        source: new ol.source.TileArcGISRest({  
            url: 'http://localhost:8399/arcgis/rest/services/test/MapServer'  --ArcGIS Server服务地址
        })  
    })  

结束,有不对的欢迎指正!


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

evomap

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值