前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tile-lnglat-transform三方库发布啦

tile-lnglat-transform三方库发布啦

作者头像
徐建国
发布2024-02-22 13:24:26
1170
发布2024-02-22 13:24:26
举报
文章被收录于专栏:个人路线个人路线

tile-lnglat-transform

提供了高德、百度、谷歌、腾讯和必应地图的经纬度坐标与瓦片坐标的相互转换

本库由刘张豪移植[1],感谢大家对坚果派的支持。

运行环境

DevEco Studio:4.0Release

OpenHarmony SDK API10

开发板:润和DAYU200

特点

  • 实现了国内常用地图的经纬度坐标与瓦片坐标的相互转换

转换原理

各地图的瓦片坐标系定义、转换原理和转换公式可以参见博文:国内主要地图瓦片坐标系定义及计算原理[2]

一、下载安装

代码语言:javascript
复制
ohpm install @nutpi/tile-lnglat-transform

OpenHarmony ohpm 环境配置等更多内容, 请参考如何安装 OpenHarmony ohpm 包[3]

二、使用

a.通用转换函数

  • 经纬度坐标转瓦片坐标 lnglatToTile @input: (longitude, latitude, level) @output:{tileX, tileY}
  • 经纬度坐标转像素坐标 lnglatToPixel @input: (longitude, latitude, level) @output:{pixelX, pixelY}
  • 瓦片的某一像素点坐标转经纬度坐标 pixelToLnglat @input: (pixelX, pixelY, tileX, tileY, level) @output:{lng, lat}
  • 用通用经纬度转换高德、Google相关 坐标举例:
代码语言:javascript
复制
import TileLnglatTransform from "@nutpi/tile-lnglat-transform"

let TileLnglatTransformGaode = TileLnglatTransform.TileLnglatTransformGaode;

let tile_gaode = TileLnglatTransformGaode.lnglatToTile(this.lng, this.lat, this.level);
let pixel_gaode = TileLnglatTransformGaode.lnglatToPixel(this.lng, this.lat, this.level);
let lnglat_gaode = TileLnglatTransformGaode.pixelToLnglat(
    pixel_gaode.pixelX, pixel_gaode.pixelY,
    tile_gaode.tileX, tile_gaode.tileY,
    this.level
);

b.某平台独有函数

高德地图/谷歌地图/腾讯地图
百度地图
  • 经纬度坐标转平面坐标lnglatToPoint @input: {lng, lat} @output:(pointX, pointY)
  • 平面坐标转经纬度坐标pointToLnglat @input: (pointX, pointY) @output:{lng, lat}
Bing 地图

Bing 地图使用 Slippy[4] 方式,经纬度坐标和瓦片坐标转换与 Google 地图相同。不同的是 Bing 地图使用 quadkey(四叉树编码)来标识瓦片。

  • 瓦片坐标转四叉树编码lnglatToQuadkey

@input: tileX, tileY, level

@output: quadkey

  • 四叉树编码转瓦片坐标quadkeyToLnglat

@input: quadkey

@output: {tileX, tileY, level}

三、开源协议

本项目基于 Apache2.0 ,请自由地享受和参与开源。由刘张豪同学完成移植。

参考资料

[1]

刘张豪移植: https://atomgit.com/nutpi/tile-lnglat-transform/blob/master

[2]

国内主要地图瓦片坐标系定义及计算原理: http://cntchen.github.io/2016/05/09/国内主要地图瓦片坐标系定义及计算原理/

[3]

如何安装 OpenHarmony ohpm 包: https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md

[4]

Slippy: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

欢迎大家点击阅读原文,下载体验,喜欢的话,可以帮忙三连,是对坚果派最大的支持。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-21,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 大前端之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • tile-lnglat-transform
  • 运行环境
  • 特点
  • 转换原理
  • 一、下载安装
  • 二、使用
    • a.通用转换函数
      • b.某平台独有函数
        • 高德地图/谷歌地图/腾讯地图
        • 百度地图
        • Bing 地图
    • 三、开源协议
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com