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/

相关文章
|
缓存 资源调度 JavaScript
瓦片地图的介绍和Vue中使用Openlayer加载瓦片地图的方法使用
瓦片地图的介绍和Vue中使用Openlayer加载瓦片地图的方法使用
2478 0
|
定位技术
wgs84和wgs84web如何转换?
wgs84和wgs84web如何转换?
1150 60
|
NoSQL 网络安全 Redis
蓝易云 - 【redis问题】Caused by: io.netty.channel
以上就是解决"Caused by: io.netty.channel"错误的一些可能的方法。
297 2
|
算法 Java 数据安全/隐私保护
国密加密算法简介
国密指国家密码局认定的国产密码算法,主要包括SM1、SM2、SM3、SM4等,并持续完善。SM1是对称加密算法,加密强度与AES相当,需加密芯片支持;SM2是非对称加密,基于ECC算法,签名和密钥生成速度优于RSA;SM3为杂凑算法,安全性高于MD5;SM4为对称加密算法,用于无线局域网标准。本文提供使用Java和SpringBoot实现SM2和SM4加密的示例代码及依赖配置。更多国密算法标准可参考国家密码局官网。
1718 1
|
存储 Java 数据挖掘
|
12月前
|
JavaScript
defineProps和defineEmits
本文介绍了Vue 3中的`defineProps`和`defineEmits`函数的用法,其中`defineProps`用于声明组件的属性(props),以便从父组件接收数据,而`defineEmits`用于定义组件可以触发的自定义事件,从而实现子组件向父组件传递数据的功能。
使用JTS及其姐妹项目GeoTools进行坐标系转换
【6月更文挑战第7天】使用JTS及其姐妹项目GeoTools进行坐标系转换
1318 0
|
定位技术
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
高德地图进阶开发实战案例(6):添加自定义图片覆盖物图层获取可视范围经纬度的解决方案
699 0
|
关系型数据库 数据库 数据安全/隐私保护
springboot+dynamic-datasource多数据源配置动态切换
springboot+dynamic-datasource多数据源配置动态切换
3851 0