文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

自影像金字塔技术产生并被OGC作为WMTS规范起,各大互联网公司以及GIS商业软件均利用WMTS服务来进行地图的浏览和共享服务。所谓影像金字塔技术,即将原始影像按一定规则生成的由细到粗不同分辨率的影像集。金字塔的底部是图像的高分辨率表示,也就是原始图像,而顶部是低分辨率的近似。最底层的分辨率最高,并且数据量最大,随着层数的增加,其分辨率逐渐降低,数据量也按比例减少。

基于商业或开源软件虽然可以实现影像金字塔的建立,但是当面对频繁更新的全球尺度影像时,基于影像发布人工切图的工作流程进行实施,无疑是一个巨大的工作量。针对这个现实问题,对影像切图优化做了一系列改进,这里做一个总结。

2. 自动化切图流程设计

流程描述:在影像产品生产后基于FTP上传工具进行上传。服务端实时监控新产品的存入,当检测到新数据存放时则进行自动化切图。切图参数根据项目实际需求进行预设。当金字塔建立完毕,数据会被自动拷贝至所设置的存放地,实现产品存储的高可扩。产品的元数据包括产品的时间、类型、范围、波段、存放地址等均会自动入库以便于影像管理。地理服务端基于影像金字塔自动进行服务发布共享。整个金字塔建立和发布流程无需人工干预。

3. 基于内存切分平滑采样

自动化流程中最核心的一步即是影像金子塔建立。其效率、稳定性、切片重采样效果直接影响到平台的性能。多数商业软件的影像金字塔建立存在耗时过长、操作繁琐、切片模糊、切片边缘锯齿等问题。方案针对这类问题,在目前内存越来越便宜,GPU成本不断降低的背景下,设计了一种基于内存切分平滑采样的金字塔技术。

内存切分技术:将影像一次读入内存,在内存中运用切分算法将影像流进行切块,最后分块写入外盘中。方案的瓶颈主要存在于内存的大小以及数据的读取和输出。其效率基本与文件的复制拷贝一致,是一种可以飞速提升效率的方案。

平滑重采样技术:由于影像是一种栅格数据,当地图级别足够大时则会出现马赛克现象。仔细观察不少商业软件进行的切图均会出现这类问题。方案中在进行切图时会自动检测切片边界像元,使相邻切片之间的像元间进行三次卷积重采样,实现边界过渡数据之间的融合平滑,减少锯齿现象。

4. 金字塔切片算法设计

金字塔核心思想及将一张完整的影像按照重采样和切分的思想进行数据缓存,当前端展示时根据展示范围和分辨率将对应的切片获取进行拼接展示。所以金字塔切片算法的核心即在切片原点、切片大小、切片分辨率三个方面。

假设切图原点为(X0,Y0),切图大小为tilesize,切图分辨率为resolution。

其流程描述为:依据resolution,将地图进行重采样至该分辨率。而此时瓦片的实际地理大小为tilegeosize=(tilesize*resolution),依据tilegeosize将此时重采样后的地图进行切分。每个切片的命名规则为切片的左上角坐标与切图原点和瓦片地理长度之间的运算,即

col  = floor((x0 - x)/( tileSize*resolution))

row = floor((y0 - y)/( tileSize*resolution))

5. 前端展示切片拼接算法设计

前端切片展示是切片算法的逆向,即屏幕坐标与地理坐标之间的转换、地理坐标与瓦片行列号之间的转换。同时为了解决前端地图平移时瓦片请求频发触发问题,还需进行超出屏幕可视范围的瓦片预存取方案。其示意图如下:

                     -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                              

转载于:https://www.cnblogs.com/naaoveGIS/p/9378261.html

切图工具优化的几点总结相关推荐

  1. android ui 切图工具,APP切图标注教程:UI设计切图标注的小工具实用技巧

    分享关于一篇UI设计师必须要懂的切图标注的小工具实用技巧,让你在跟开发工程师协作的时候更加得心应手. 设计师必备的UI切图小工具如下3大常用工具: 1.切图工具 Assistor PS 也是一款PS的 ...

  2. 切图工具的附加功能:景区内导航的初步实现

    工具在此>>> 貌似当前A*都是在画好的方格内实现最短路径搜索,百度.腾讯.高德地图可以在存在道路的区域实现路径导航.如何实现在地图上没有道路的区域,例如景区.商场.偏远山区自定义路 ...

  3. 前端 ~ PS切图工具

    *** 工具准备 *** 1.PS(photoshop) [注意]:安装时,需要先选择"试用",之后通过注册机进行注册,直接重新打开ps应用即可(应该会无需登录) 2.更改:缓存盘 ...

  4. 百度、高德、腾讯、天地图、谷歌、必应地图切片切图工具 MapCutter(旧名MapTiler),支持超大图、高清切片、webgl、leaflet、maptalk、openlayers、cesium等

    # MapCutter 地图覆盖图瓦片地图(金字塔图)切图工具,支持百度.腾讯.高德.天地图.谷歌.必应地图等,是市面上最易使用的同类软件.. 百度.高德.腾讯.天地图.谷歌.必应等自定义地图/图片叠 ...

  5. android在线切图工具,9Cut切图工具

    9Cut切图工具由西西给大家带来,这款软件也是能够把一张完整的照片切成九小张,最近的朋友圈特别火爆的九宫格照片就是由这个来制作的,非常的完美,赶紧来下载9Cut切图工具试试吧! 9Cut切图工具介绍 ...

  6. TinyCrayon-iOS-SDK:强大到使人惊讶的 Mask 及切图工具库

    原文链接:https://github.com/TinyCrayon/TinyCrayon-iOS-SDK TinyCrayon-iOS-SDK:强大到使人惊讶的 Mask 及切图工具库.# 为开源点 ...

  7. 切图工具:输出512*512切片大小的切片

    原来切图工具仅能输出256*256大小的切片,已经逐渐不满足高清屏幕的需求,结果就是在Retina显示屏或者4K.8K显示屏中,会显示比较模糊.这样就需要生成512*512像素的切片,在原来256*2 ...

  8. Mac下的plist纹理图切图工具(命令行)

    Mac下的plist纹理图切图工具(命令行) 经常用Mac,开发需要经常切拼好的plist纹理图,找了好久都没什么合适的软件:拼图的有不少(TexturePacker.PlistEditor等),拆图 ...

  9. 百度地图切图工具的应用实例

    使用之前要获取一个切图工具,切图工具的使用流程简单易懂,牵涉的代码使用如下(选择不生成相应代码时). GPS转百度 <body> <div id="allmap" ...

最新文章

  1. ubuntu 搜狗输入法成功安装
  2. 看看那些令你惊叹的PCB设计艺术
  3. 《程序是怎样跑起来的》第一章读后感
  4. 【网络安全】Metasploit生成的Shellcode的导入函数解析以及执行流程分析(2)
  5. DDIC和SAP*被锁定后如何解锁或重置密码
  6. 8.IDA-数据与代码、函数互相转换
  7. 原生JDBC操作数据库流程
  8. hdu1024Max Sum Plus Plus
  9. postMessage跨域、跨iframe窗口消息传递
  10. linux shc shell脚本_使用shc工具加密shell脚本详解
  11. mysql管理应用_如何在PHP和MySQL中制作出色的库存管理应用程序
  12. [验证码实现] Captcha 验证码类,一个很个性的验证码类 (转载)
  13. 简单的酒店管理系统(纯属练手)
  14. CC2430基础——IAR的安装及配置
  15. 8个美白小锦囊 不知不觉中白起来
  16. 每日学英语之041104
  17. 使用Ajax进行前后端交互(一)
  18. 关于中部城市人才外流问题的思考
  19. 问题解决:取消Mac下Karabiner-Elements开机时弹出窗口、用Capslock切换中英文输入法、外接机械键盘 option 和 cmd 互换
  20. Mean-shift算法的直观理解

热门文章

  1. Poj 2195 Going Home
  2. Taurus.MVC 支持Asp.Net Core 的过程
  3. mongodb文档操作
  4. 关于输入输出流的心得
  5. android 仿京东toolbar,仿京东商城系列2------自定义toolbar
  6. OVS vswitchd启动(三十六)
  7. OVS datapath之action分析(十九)
  8. PXA270-基于ARM9内核Processor外部NAND FLASH的控制实现
  9. java spring maven pdf 导出
  10. 压力测试工具gatling安装和介绍