GIS开发:分享osm切片计算

简介: GIS开发:分享osm切片计算

OpenStreetMap(简称OSM) 开源wiki地图。

https://www.openstreetmap.org/#map=12/39.9022/116.3848

一般的地图都是通过在后台发布切片,前端的引擎读取进行展示,地图切片有些是用经纬度切的,有些是用谷歌的墨卡托切的,所以根据一定的坐标范围和缩放等级,就能计算其中的切片横纵顺序,得到详细的z(缩放)、x(横向)、y(纵向)数字,再根据基础的服务器url,就可以将本张切片下载到本地,多张切片合并成一张,赋予坐标信息,就变成地图影像了,一般的地图下载工具也是按照这个原理进行下载生成的。

OSM是一个开源开放的地图,它的地图切片是按照经纬度切的,即EPSG:4326的,在经纬度计算切片的时候,并不需要把坐标转换成web墨卡托的坐标,下边分享一个根据经纬度坐标计算切片顺序的代码(python):

def deg2num(lat_deg, lon_deg, zoom):
    lat_rad = math.radians(lat_deg)
    n = 2.0 ** zoom
    xtile = int((lon_deg + 180.0) / 360.0 * n)
    ytile = int((1.0 - math.log(math.tan(lat_rad) + (1 / math.cos(lat_rad))) / math.pi) / 2.0 * n)
    return (xtile, ytile)

传入经纬度坐标和缩放级别,就能找到坐标是在哪张切片上,经度方向是等分的,这个在计算的时候就比较简单,纬度是在高纬度的距离变窄,所以,要通过一个复杂的数学公式计算图片,等级越高,切片数量越多,下载的切片就越多,是按照平方的数量进行增加的。

下载的切片坐标范围,并不一定是和传入的坐标范围相同,所以,地图下载器有时也是,合并的影像并不是传入的四个范围,这个在后期要有一定地图裁切。

一个基础的OSM切片地址:

https://b.tile.openstreetmap.org/{0}/{1}/{2}.png

一张下载的切片,合并的时候可以使用gdal等类库,这对合并和计算合并完成后的地图四至有相当方便的帮助。
image.png

相关文章
|
JavaScript 前端开发 关系型数据库
GIS开发:GeoJSON坐标和WKT的转换
GIS开发:GeoJSON坐标和WKT的转换
785 0
|
5月前
|
SQL 关系型数据库 分布式数据库
用Ganos低代码实现免切片遥感影像浏览
本文介绍了一种基于PolarDB兼容PostgreSQL 14的高效栅格数据管理和可视化方案。推荐配置包括4核CPU、16GB内存、50GB磁盘等。通过创建扩展并上传影像至OSS,利用SQL语句完成数据导入、镶嵌、匀色及金字塔构建。重点介绍了使用ST_AsTile函数动态生成标准瓦片的方法,支持多种格式和增强方式。前端通过Python实现服务接口,实现实时、高效的数据展示。此方案具有实时性强、存储成本低等优点,适合快速可视化大量栅格数据。
69 0
|
6月前
|
编解码
ENVI无缝镶嵌、拼接栅格数据的方法
【8月更文挑战第10天】使用ENVI进行无缝镶嵌的方法包括:准备具有一致空间参考的栅格数据;通过“File”菜单逐个加载数据;启动“Seamless Mosaic”工具;添加待镶嵌图像;调整几何校正、颜色平衡及羽化参数以平滑过渡;设定输出路径与格式;最后执行镶嵌并检查结果质量,必要时微调参数直至满意。
508 1
|
9月前
|
存储 数据可视化 Cloud Native
用Ganos低代码实现免切片遥感影像浏览(二):动态栅格瓦片
本文介绍了Ganos全新发布了动态栅格瓦片能力,帮助用户将库内栅格数据或栅格分析结果快速可视化,无需依赖类似GeoServer等空间服务中间件,技术栈短平快,使用灵活高效。
|
7月前
|
数据采集 消息中间件 数据可视化
无代码玩转GIS应用,我也在行
无代码玩转GIS应用,我也在行
59 0
|
9月前
|
人工智能 云计算
全球30m不透水地表动态数据集(GISD30)
全球30m不透水地表动态数据集(GISD30)
109 0
|
前端开发 关系型数据库 定位技术
用Ganos低代码实现免切片遥感影像浏览(一)
本文介绍了使用PolarDB-PG数据库配合Ganos时空数据库引擎,不借助第三方工具仅利用SQL语句快速管理与展示遥感影像数据的一种方法。Ganos共提供两种影像免切浏览的方法,一种使用窗口范围获取影像数据展示,另一种通过固定瓦片范围获取影像数据展示,本文详细介绍第一种方法并提供了前后端实操代码帮助用户可以快速理解Ganos Raster的使用细节。
|
存储 Cloud Native 关系型数据库
Ganos矢量栅格数据快速入库方法简介
本文介绍了Ganos提供的矢量、栅格数据高效入库方法,帮助用户快速理解云原生数据库空间数据的写入方案,以便更好的使用Ganos矢栅数据的处理能力。
|
存储 JavaScript 前端开发
GIS开发:简单的数据差值
GIS开发:简单的数据差值
181 0
GIS开发:简单的数据差值
|
存储 JSON Linux
GIS开发:Vector tiles切片工具
GIS开发:Vector tiles切片工具
353 0

热门文章

最新文章