地图切片的概念与原理
为什么80%的码农都做不了架构师?>>>
定义
地图切片:采用预生成的方法存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。
地图缓存:又称地图瓦片,是一个包含了不同比例尺下整个地图范围的地图切片的目录,即一个缓存的地图服务就是能够利用静态图片来快速地提供地图的服务。
优缺点
1)速度快,预先配色,显示效果佳,满足高并发访问,适合做底图。
2)瓦片地图缓存非常高效,如果你曾经查看过某一区域的瓦片,当你再次查看该区域的瓦片时,浏览器可能使用之前缓存的相同的瓦片,而不用重新下载一次。
3)瓦片地图可以渐进加载。中心区域的瓦片可能优先于边缘区域的瓦片加载,你可以移动或定位某一点,即使当前地图边缘区域还未加载。
4)简单易用。所以很容易在服务器、网络、桌面或移动设备上实现技术集成。
5)需要额外占用磁盘空间,需要预先生成切片,无法自定义地图。
原理
在进行切片之前首先要确定切图的起点(Tiling scheme origin point)、图片宽度和高度,设置起点(WGS84下默认是(-400,400))的目的在于保证同一坐标系下的切片地图可以完美的叠加在一起。
在默认的Tiling scheme origin下和图片大小的情况下进行地图切片,可以根据用户设置的比例尺来计算地图数据在整个网格中的行列号,计算公式如下:
col=(int)Math.floor((point.x1-this.x1)/256/plottingResolution);
row=(int)Math.floor((Math.abs(point.y1-this.y1))/256/plottingResolution);
其中point是当前坐标,this是origin点坐标,plottingResolution指当前Level的地图的地图分辨率。
如果要计算plottingResolution,可以根据用户输入的levelScale得到当前条件下的地图分辨率:
Scale=1:(96*2*Math.PI*6378137*resolution/360/0.0254);
主要概念
1) 四至(Extent)和原点(Origin)
2)切片的分辨率和比例尺
比例尺:图上一单位长度代表实际多少长度单位;分辨率:屏幕一像素(px)代表实际多少单位,实际单位按照地图坐标而定。分辨率与dpi(每英寸的像素数)有关、与地图单位有关。
两者之间的转换关系:
1、如果地图单位是米,dpi=96 1英寸=2.54厘米;1英寸=96像素;最终换算的单位是米;
Scale=1:(96*Resolution/0.0254);
2、如果地图单位是度(地理坐标系是WGS84),dpi为96,1度约等于111194.872221777米;
Scale=1:(96*2*Math.PI*6378137*Resolution/360/0.0254);
切片分类
1)矢量切片(详情)
是一种利用协议缓冲(Protocal Buffers)技术的紧凑的二进制格式用来传递信息。当渲染地图时矢量切片使用一系列存储的内部数据进行制图。被组织到矢量切片的图层比如(水、道路、区域等),每一层都有包含几何图形和可变属性的独立要素。通俗地讲,就是将矢量数据以建立金字塔的方式,像栅格切片那样分割成一个个描述性文件,以GeoJson格式或者PDF等自定义格式组织,然后在前端根据显示需要按需请求不同的矢量瓦片数据进行Web绘图
常见的格式有GeoJson、TopoJson、PDF(ArcGIS格式)、KML、GeoRSS等等。
2)栅格切片
注意事项
注意切片等级的设定,如果生成的级别太高,等待时间非常漫长。以ArcGIS Server切片服务为例,每一级相对上一级是 4 倍的关系,每一级是将上一级一个切片再分成大小一致的四个切片,也就是说每一级生成的切片数将是 4 的 n 次幂。
不同平台的切片方式
ArcGIS:ArcGIS Desktop、ArcGIS Server、ArcGIS API For JS/Flex
开源GIS:MapServer/GeoServer、Udig、PostGIS、openLayers
本文链接: 地图切片的概念与原理
出处: OSGeo中国中心
转载于:https://my.oschina.net/boonya/blog/3054135
地图切片的概念与原理相关推荐
- 7点 讲明白地图切片的概念与原理
有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡. 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少. 定义 地图切片:采用预 ...
- GIS讲堂第二课-地图切片简介以及OL中的调用
概述: 在大家的支持与帮助下,"GIS讲堂"第二课已落下帷幕,在此对大家的支持与帮助表示衷心的感谢,同时呢,也给大家致歉,由于感冒的缘故,讲课的时候的各种毛病还请大家多多包涵,下面 ...
- OGC标准WMTS服务概念与地图商的瓦片编号流派-web地图切片加载
还不知道地图栅格化切片等相关GIS原理的,推荐阅读<webGIS底图栅格化与实时数据合成处理原理,地图API设计,xyz加载> OGC概念 OGC全称--开放地理空间信息联盟(Open G ...
- Bing地图切片原理
Bing地图切片系统 Bing地图提供了一个可以直接平移和缩放的世界地图.为了让地图操作更加平滑和及时响应,我们选择提前渲染地图不同层级的细节,并把每个层级的地图切割成为瓦片以便快速的还原展示.这篇文 ...
- 百度、高德、腾讯、天地图、谷歌、必应地图切片切图工具 MapCutter(旧名MapTiler),支持超大图、高清切片、webgl、leaflet、maptalk、openlayers、cesium等
# MapCutter 地图覆盖图瓦片地图(金字塔图)切图工具,支持百度.腾讯.高德.天地图.谷歌.必应地图等,是市面上最易使用的同类软件.. 百度.高德.腾讯.天地图.谷歌.必应等自定义地图/图片叠 ...
- iOS/OS X内存管理(一):基本概念与原理
iOS/OS X内存管理(一):基本概念与原理 发表于21小时前| 1585次阅读| 来源CSDN| 8 条评论| 作者刘耀柱 移动开发iOSObjective-C内存管理内存泄露局部变量开发经验 a ...
- 前端路由的概念与原理
前端路由router的概念与原理 1. 什么是路由 路由(英文:router)就是对应关系. 2. SPA 与前端路由 SPA 指的是一个 web 网站只有唯一的一个 HTML 页面,所有组件的展示与 ...
- 前端路由||路由的基本概念与原理||在开发中,路由分为: 后端路由 前端路由
前端路由 路由的基本概念与原理 vue-router的基本使用 vue-router嵌套路由 vue-router动态路由匹配 vue-router命名路由 vue-router编程式导航 基于vue ...
- git入门:概念、原理、使用
git和Github 概念 Git --- 版本控制工具(命令). 工具介绍官方网站:http://git-scm.com 工具下载地址:http://git-scm.com/download/ gi ...
最新文章
- 目录忽略_宣传册设计中目录的构思方法和运用
- 【不容错过】12月10日:纳米孔测序科研团队大会NCM 2020亚太区特别专场
- thinkphp5+workerman搭建微信小程序socket后台,建立自己的聊天室
- 梅林安装opkg后安装iperf3_MacBook安装双系统后手势触控问题
- Linux--Sys_Read系统调用过程分析
- requests请求报字符编码异常信息
- add in Web.config
- vuex实例方法replaceState解决vuex页面刷新数据丢失问题
- java库的使用--Failsafe
- 2019莆田学院c语言试卷,莆田学院C语言程序设计模拟试卷_文库吧
- ODC(Orthogonal Defect Classification)简介
- 1024 程序员节,拿个勋章
- linux基础操作之三
- Spring Boot框架入门到进阶教程(自学版)
- 桌面内存管理器(dwn.exe)占用内存过高时怎么办?
- Android开发之--(WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简单使用
- 属于未来计算机的睡哪一个,【单选题】下面哪一个不是未来计算机的发展方向?
A. 光计算机
B. 量子计算机
C. 电子管计算机
D. 神经网络计算机...
- 鸿鑫汽车配件进销存管理系统总结
- html中按钮方法,html中button标签的使用详解
- 【问】默认实例名是多少?