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

相关文章
|
8月前
|
索引
Google Earth Engine(GEE)——提取指定矢量集合中的NDVI值并附时间属性
Google Earth Engine(GEE)——提取指定矢量集合中的NDVI值并附时间属性
199 2
|
JavaScript 前端开发 关系型数据库
GIS开发:GeoJSON坐标和WKT的转换
GIS开发:GeoJSON坐标和WKT的转换
758 0
|
4月前
|
SQL 关系型数据库 分布式数据库
用Ganos低代码实现免切片遥感影像浏览
本文介绍了一种基于PolarDB兼容PostgreSQL 14的高效栅格数据管理和可视化方案。推荐配置包括4核CPU、16GB内存、50GB磁盘等。通过创建扩展并上传影像至OSS,利用SQL语句完成数据导入、镶嵌、匀色及金字塔构建。重点介绍了使用ST_AsTile函数动态生成标准瓦片的方法,支持多种格式和增强方式。前端通过Python实现服务接口,实现实时、高效的数据展示。此方案具有实时性强、存储成本低等优点,适合快速可视化大量栅格数据。
58 0
|
8月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
145 0
|
6月前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
|
8月前
|
编解码 定位技术
Google Earth Engine谷歌地球引擎GEE图层投影信息与参考坐标系及其空间转换参数获取
Google Earth Engine谷歌地球引擎GEE图层投影信息与参考坐标系及其空间转换参数获取
160 1
|
前端开发 关系型数据库 定位技术
用Ganos低代码实现免切片遥感影像浏览(一)
本文介绍了使用PolarDB-PG数据库配合Ganos时空数据库引擎,不借助第三方工具仅利用SQL语句快速管理与展示遥感影像数据的一种方法。Ganos共提供两种影像免切浏览的方法,一种使用窗口范围获取影像数据展示,另一种通过固定瓦片范围获取影像数据展示,本文详细介绍第一种方法并提供了前后端实操代码帮助用户可以快速理解Ganos Raster的使用细节。
|
Linux 定位技术 数据处理
GIS开发:QGIS编辑矢量数据
GIS开发:QGIS编辑矢量数据
482 0
|
存储 编解码 算法
GIS开发:切片格式说明(翻译)-墨卡托
GIS开发:切片格式说明(翻译)-墨卡托
196 0
|
存储 JavaScript 前端开发
GIS开发:简单的数据差值
GIS开发:简单的数据差值
170 0
GIS开发:简单的数据差值