GIS开发:tianditu切片计算

简介: GIS开发:tianditu切片计算

如何根据地图的范围计算其中切片的行列号,各类的地图引擎能加载的,是能计算并显示对应的图片,地图的下载工具,也是计算了切片的等级和行列号,再下载对应的图片,按照顺序存储在本地或者数据库里。

将切片拼接在一起,加上坐标的信息,就变成地图影像了,当然最初可能切片也是根据地图影像,来切割出来的。

下边分享一个简单的tianditu切片的行列号计算方法,对应的是tainditu的“经纬度”地图切片,当然球面墨卡托的计算方式也差不多。

两种地图:
image.png
tianditu经纬度的切片地图范围为[-180,-90,180,90],切片地图的原点是-180,90,地图级别从1开始,第一级别的地图切片尺寸为横向512px,纵向为256px,由两张256*256的切片组成,第1级地图的分辨率为360/512,地图每增加一级,分辨率对应缩小到上一级的1/2。

切片序号的顺序是从原点处开始的,越靠近地图原点,编号就越小。

假如给定一个地图的经纬度范围[xmin,ymin,xmax,ymax],地图的第一级分辨率定义initResolution,要获取地图切片的级别为level。

获取地图当前级别的最小行号和列号:

列号

= ((xmin- (-180)) / (initResolution/2^(level-1)))/256

行号

=-1* ((ymax- 90) / (initResolution/2^(level-1))+0.5)/256

获取地图当前级别的最大行号和列号:

列号

= ((xmax- (-180)) / (initResolution/2^(level-1))+0.5)/256

行号

=-1* ((ymin- 90) / (initResolution/2^(level-1)))/256

256分别为切片的宽高像素值,如有不同,需要根据切片实际尺寸计算,坐标计算的时候,需要减去中心点的值,再根据级别计算当前级别的分辨率。

这样根据最大、最小行列号算出一个数字的范围,上边的值都要转换成int类型的,再加上请求的级别,就可以获取当前的切片数据了。

相关文章
|
5月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
4月前
|
SQL 关系型数据库 分布式数据库
用Ganos低代码实现免切片遥感影像浏览
本文介绍了一种基于PolarDB兼容PostgreSQL 14的高效栅格数据管理和可视化方案。推荐配置包括4核CPU、16GB内存、50GB磁盘等。通过创建扩展并上传影像至OSS,利用SQL语句完成数据导入、镶嵌、匀色及金字塔构建。重点介绍了使用ST_AsTile函数动态生成标准瓦片的方法,支持多种格式和增强方式。前端通过Python实现服务接口,实现实时、高效的数据展示。此方案具有实时性强、存储成本低等优点,适合快速可视化大量栅格数据。
62 0
|
6月前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
|
8月前
|
存储 数据挖掘 数据处理
地理空间数据分析与NumPy的高效融合
【4月更文挑战第17天】本文探讨了地理空间数据与NumPy的高效结合在数据分析中的应用。地理空间数据具有多维性、空间相关性和复杂性,NumPy通过提供高效的数据存储、强大的数学运算及灵活的数据处理,应对这些挑战。实践案例展示了如何使用NumPy进行坐标处理、统计分析和滤波等,揭示数据规律。未来,随着数据增长和领域拓展,NumPy在地理空间数据分析中的作用将更加显著,期待更多创新方法应对新挑战。
|
前端开发 关系型数据库 定位技术
用Ganos低代码实现免切片遥感影像浏览(一)
本文介绍了使用PolarDB-PG数据库配合Ganos时空数据库引擎,不借助第三方工具仅利用SQL语句快速管理与展示遥感影像数据的一种方法。Ganos共提供两种影像免切浏览的方法,一种使用窗口范围获取影像数据展示,另一种通过固定瓦片范围获取影像数据展示,本文详细介绍第一种方法并提供了前后端实操代码帮助用户可以快速理解Ganos Raster的使用细节。
|
存储 编解码 算法
GIS开发:切片格式说明(翻译)-墨卡托
GIS开发:切片格式说明(翻译)-墨卡托
200 0
|
存储 JavaScript 前端开发
GIS开发:简单的数据差值
GIS开发:简单的数据差值
178 0
GIS开发:简单的数据差值
|
前端开发 定位技术 Python
GIS开发:分享osm切片计算
GIS开发:分享osm切片计算
272 0
|
存储 Java 定位技术
GIS开发:mbtiles数据合并
GIS开发:mbtiles数据合并
424 0
|
XML 存储 定位技术
GIS开发:Arcgis的切片格式
GIS开发:Arcgis的切片格式
226 0