GIS开发:开源库计算经纬度坐标和瓦片坐标

简介: GIS开发:开源库计算经纬度坐标和瓦片坐标

使用github的开源库,根据经纬度坐标和地图的缩放级别,计算地图瓦片的编号,从而获取到范围内的地图切片。
开源库地址:
https://github.com/CntChen/tile-lnglat-transform
“高德/百度/谷歌/腾讯/必应的地图经纬度坐标和瓦片坐标相互转换”
基于JavaScript的库,使用这个可以做什么呢,最常见的就可以爬取地图切片,那些地图下载器的抓取地图切片也是这个原理。
在nodejs中,用npm安装一下这个包,就可以用了。
npm install --save tile-lnglat-transform
以计算高德地图的为例:
定义:
const TileLnglatTransform = require('tile-lnglat-transform');
将经纬度转换成切片编号的方法:
const tileinfo =
TileLnglatTransform.TileLnglatTransformGaode.lnglatToTile(lng,lat,level);

tileinfo .tileX;地图当前级别瓦片的横向编号;
tileinfo .tileY,;地图当前级别瓦片的纵向编号;

将某个地图级别瓦片上的像素坐标,转换经纬度坐标,地图瓦片大小一般是256*256,pixelX,pixelY是在此切片上的相对像素值,假如想算一个切片的坐标范围,只需要根据相对像素调整即可。
const lnglat =
TileLnglatTransform.TileLnglatTransformGaode.pixelToLnglat(pixelX, pixelY, tileX, tileY, level);
此外,还有lnglatToPixel的方法,可以根据经纬度,计算出所在级别的地图瓦片,包括在瓦片上的像素信息。

参考文章:
https://github.com/CntChen/tile-lnglat-transform
https://www.amap.com/

相关文章
|
编解码 人工智能 数据库
世界土壤数据库(HWSD)土壤数据集
世界土壤数据库(HWSD)土壤数据集
1538 0
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)
581 0
|
8月前
|
人工智能 IDE 前端开发
写给尊贵的 Tare Pro 用户的喂饭级 IOS APP 开发指南
本文介绍了如何利用 AI IDE Trae,从零开始快速开发一个 iOS 应用《回声》。通过 AI 辅助完成需求梳理、原型设计、编码与调试,展示了 AI 在整个开发流程中的强大助力。
1622 0
使用JTS及其姐妹项目GeoTools进行坐标系转换
【6月更文挑战第7天】使用JTS及其姐妹项目GeoTools进行坐标系转换
1593 0
|
数据采集 前端开发 开发者
Selenium中如何实现翻页功能
在使用Python的Selenium库进行网页爬虫开发时,翻页操作是常见需求。本文详细介绍如何通过Selenium实现翻页,包括定位翻页控件、执行翻页动作以及等待页面加载等关键步骤,并提供了基于“下一页”按钮和输入页码两种方式的具体示例代码。此外,还特别提醒开发者注意页面加载完全、动态内容加载及反爬机制等问题,确保爬虫稳定高效运行。
1554 3
|
编解码 人工智能 算法
Rasterio:rasterio.open函数参数和用法解析(以GPM Imerg Early nc转tif为例)
Rasterio:rasterio.open函数参数和用法解析(以GPM Imerg Early nc转tif为例)
1745 0
|
网络协议 Linux API
php curl执行太慢解决
网站访问快速,但API接口由curl_exec调用时遭遇显著延迟。问题根源在于DNS配置不当。切换至常用DNS,如114.114.114.114,立即提升了接口响应速度。
478 0
|
Python
【python】在pycharm创建一个新的项目
【python】在pycharm创建一个新的项目
749 0
07 mosquitto 开启webSockets
07 mosquitto 开启webSockets
531 0
|
人工智能 定位技术
如何将国家地图服务系统的EPS地图转为shp图层
如何将国家地图服务系统的EPS地图转为shp图层
4602 0