WMTS学习记录

WMTS

切片原理很简单,切片的切片号与切片原点和分辨率有关,所以arcgis的conf.xml文件要根据源数据设置好分辨率和切片原点,另外发现3通道的png图片在arcmap中不显示也不报错,不知道是因为conf.xml配置问题还是的什么,转为4通道后正常

切片原理

切片原点

切片原点通常为左上角,小部分公司切片会自定义原点和级别(比如原点0,0 级别从1开始啥的)
切片的序号向下和向右递增,比如下图b的左上角0,0 ,右上角1,0, 左下角0,1,右下角1,1

最常见的web墨卡托切片

这个投影为正方形 投影的box是这样的(-20037508.342789244,20037508.342789244,20037508.342789244,-20037508.342789244)
左上角为(-20037508.342789244,20037508.342789244)
假设图片大小为256 整个投影作为第0级别
因为是正方型 xy方向的长度都是一样的,图片高宽都为256,所以xy方向的分辨率也是一样的
分辨率=20037508.3427892442/256=156543.0339280409
每格像素表示156543.0339280409米 20037508.342789244
2是X轴或者Y轴方向的总长度
之后每个级别的图片数据等于前一个级别的数量乘以4,即前一个级别的每张图片会分成四张图片进行表示,XY方向的像素数量翻倍造成后一个级别的分辨率等于前一个级别的分辨率除以2

地理坐标系切片

在这里插入图片描述
这种投影为长方形,与墨卡托不同的是第一级有两张图片,因为它的box为(-180,90,180,-90),即长360宽180,分成两张图片可以保证X和Y方向的分辨率一致
分辨率=180/256=0.703125,和墨卡托一样后一个级别的分辨率等于前一个级别的分辨率除以2

通过切片号反推图片坐标

	# origin代表切片的原点 size为切片大小 resolution为第0层的分辨率 z为级别
	resolution = resolution / (2 ** z)
	min_x = x * size * resolution + origin_x
    min_y = origin_y - y * size * resolution
    max_x = (x + 1) * size * resolution + origin_x
    max_y = origin_y - (y + 1) * size * resolution

计算几何区域图片的切片号

		# origin代表切片的原点 tileSize为切片大小 resolution为第0层的分辨率 z为级别
		# geometry(x1,y1,x2,y2)切片号是连续的,只需要计算角点的切片号就可以全部取出
		resolution = resolution / (2 ** z)
        tile_x_min = math.floor((geometry[0] - origin_x) / (resolution * tileSize))
        tile_x_max = math.floor((geometry[2] - origin_x) / (resolution * tileSize))
        tile_y_min = math.floor((origin_y - geometry[3]) / (resolution * tileSize))
        tile_y_max = math.floor((origin_y - geometry[1]) / (resolution * tileSize))
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值