NPM 包 geolib 使用教程

geolib 是一款基于 JavaScript 的距离计算库,可以在前端开发中方便地计算地理位置距离、定位等常用操作。本文将介绍如何使用 geolib 进行地理计算,包括安装、基本使用方法和常用 API。

安装

使用 geolib 需要先安装 Node.js 环境,并使用 NPM 包管理器安装 geolib。在终端中执行如下命令即可安装:

--- ------- ------

基本使用

使用 geolib 前需要先导入库文件:

------ ------ ---- ---------

获取两点之间的距离

geolib 中最常用的功能就是计算两点之间的距离。接受两个对象参数,包含 latitude 和 longitude 属性,分别表示维度和经度。

----- ------ - - --------- ---------- ---------- --------- --
----- ------ - - --------- ---------- ---------- --------- --

----- -------- - -------------------------- --------

--------------------- ------- --- ------ -- ----------- ---------

检查点是否在多边形中

可以使用 geolib 中的 isPointInPolygon 方法检查一个点是否在多边形中。接受两个参数,一个是需要检查的点对象,另一个是一组构成多边形的点坐标对象数组。

----- ----- - - --------- ---------- ---------- --------- --
----- ------- - -
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- -
--

----- -------- - --------------------------- ---------

---------------- ----- -- ---------- - -------- - ---------- --- ----------

计算两点之间的方位角

可以使用 getRhumbLineBearing 方法计算两点之间的方位角,即从一个点出发朝向另一个点的方向。接受两个参数,分别是两个点坐标对象。

----- ------ - - --------- ---------- ---------- --------- --
----- ------ - - --------- ---------- ---------- --------- --

----- ------- - ---------------------------------- --------

---------------- ------- ------- --- ------ -- ---------- ----------

计算两点之间的中心点坐标和中心点距离

可以使用 getCenter 方法计算一组点坐标的中心点坐标和中心点距离。接受一个参数,即包含多组点坐标对象的数组。

----- ------ - -
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- --
  - --------- ---------- ---------- --------- -
--

----- ------ - -------------------------

---------------- ------ -- ------ -- -------------------
 ------------------- --- --- -------- -- -- -- ------------------ ---------

API

除以上介绍的方法外,geolib 还提供了许多其它常用的 API,如下表所示:

API 描述
getDistance(start, end) 获取两点之间的距离
convertDistance(distance, fromUnit) 距离单位转换
getRhumbLineBearing(start, end) 获取顺航路径的方位角
getRhumbLineDistance(start, end) 获取顺航路径的距离
getCompassDirection(from, to, bearing) 获取罗盘方向
getSpeed(start, end) 获取两点间的速度
orderByDistance(point, positions) 根据距离对点坐标数组排序
findNearest(point, positions, limit) 查找距离某点最近的点坐标数组
getBounds(points) 根据一组点坐标对象获取其包围框
isPointInside(point, polygon) 检查点是否在多边形内部
isPointInCircle(point, center, radius) 检查点是否在圆形内部
isPointInLine(point, start, end) 检查点是否在直线路径上
isPointNearLine(point, start, end, tol) 检查点是否在直线路径周围的一定距离范围内
getArcDistance(start, end) 计算两点之间的大圆弧距离(球面距离)
getGreatCircleBearing(start, end) 计算从一个点出发,沿着大圆弧到达另一个点的方位角
getRhumbLineBearing(start, end) 计算从一个点出发,朝向另一个点方向的顺航路径的方位角

结语

以上是关于 geolib 的使用介绍,每个 API 都包含以上三个常见操作,代表了 geolib 的基本用法。通过 geolib 提供的 API,开发者可以轻松实现很多常用的地理位置计算。

示例代码已上传至 GitHub:https://github.com/GPT2022/geolib_tutorial ,欢迎大家进行学习和交流。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64692


猜你喜欢

  • npm 包 sendgrid 使用教程

    在前端应用程序中,发送电子邮件是一个常见的需求。sendgrid 是一个由 Twilio 公司提供的 npm 包,它提供了一个灵活的 API ,让人们能够轻松地向其客户发送电子邮件。

    5 年前
  • npm 包 istanbul-reporter-clover-limits 使用教程

    在前端开发过程中,测试是非常重要的环节,而对于测试报告的生成与分析也是关键的一部分。这篇文章将介绍 istanbul-reporter-clover-limits 这个 npm 包的使用教程。

    5 年前
  • npm 包 gulp-load-params 使用教程

    在 Web 开发中,前端工程师需要使用多种工具,其中 gulp 是一个非常流行的自动化构建工具。gulp 可以帮助我们更高效地完成各种任务,如压缩 CSS、JS 文件、图片处理等。

    5 年前
  • npm 包 bunyan-format 使用教程

    前言 在前端开发中,我们往往需要输出日志,以便于我们了解程序运行的状态、数据处理过程等,这对于开发调试、错误排查都非常有帮助。为了更好地管理和展示这些日志信息,我们可以使用 bunyan-format...

    5 年前
  • npm 包 eslint-plugin-imperative 使用教程

    介绍 eslint-plugin-imperative 是一个帮助前端开发者检测代码中命令式语言使用的 npm 包,它可以检测 JavaScript 代码中的语义和风格问题,并提供相应的建议和修复方式...

    5 年前
  • npm 包 eslint-config-imperative 使用教程

    简介 随着前端项目的复杂度和规模的增加,代码质量的要求也变得越来越高。在这样的背景下,ESLint 这一代码检查工具便应运而生了。它可以帮助我们统一代码风格,防止写出低质量、容易出错的代码。

    5 年前
  • npm包yadda使用教程

    1. 什么是yadda yadda是一个使用Gherkin语言编写自动化测试的JavaScript库,它提供了一种自然语言驱动的方式来编写测试用例,使得测试用例易于编写和理解。

    5 年前
  • npm 包 mocha-bamboo-reporter-bgo 使用教程

    前言 在前端开发中,我们常常需要进行自动化测试,而 Mocha 是一个非常流行的 JavaScript 测试框架,可以用来测试 Node.js 和浏览器端的代码。而 Bamboo 是一款流行的持续集成...

    5 年前
  • npm 包 loopback-connector-sendgrid 使用教程

    本文将介绍如何在前端开发中使用 npm 包 loopback-connector-sendgrid 来发送邮件。该包可以与 LoopBack 框架搭配使用,方便快捷地发送邮件。

    5 年前
  • npm 包 lodash-deep 使用教程

    在前端开发中,我们常常需要操作深层次的嵌套数据,这时候就需要一个能够方便快捷地处理深度嵌套数据的工具。而 lodash-deep 就是这样一款优秀的工具库。 安装 lodash-deep 我们可以通过...

    5 年前
  • npm 包 mime-type 使用教程

    在 Web 开发中,很多时候需要根据文件扩展名或者 mime 类型来处理一些业务逻辑,这时候我们就需要用到 npm 包 mime-type。 mime-type 包是 Node.js 和浏览器下可以获...

    5 年前
  • npm 包 pdf-image 使用教程

    PDF 文件是一种常见的文件类型,但是在一些应用中,需要将 PDF 中的图像提取出来进行处理,这时就需要使用 pdf-image 这个 npm 包。 pdf-image 是一个基于 ImageMagi...

    5 年前
  • npm 包 sc-uws 使用教程

    在前端开发中,有很多工具和库可以帮助我们提高开发效率和代码质量。其中,npm 是最为常用和强大的一种包管理工具,它允许我们将自己的代码打包成一个完整的库,并上传到 npm 上供其他人使用。

    5 年前
  • npm 包 convert-newline 使用教程

    在前端开发中,我们常常会涉及到不同格式的文本文件,如 Windows 的 \r\n 和 Unix 的 \n,两者的换行符是不同的。这个时候,我们就需要用到一些工具来进行不同格式的文件转换。

    5 年前
  • npm 包 gulp-convert-newline 使用教程

    如果你是一个前端开发者,或者有接触过前端开发工作,那么你一定知道 gulp 这个前端构建工具。gulp 极大地方便了前端开发者在工程化开发中的工作流程,而其中还有一个非常有用的插件是 gulp-con...

    5 年前
  • npm 包 async-stream-emitter 使用教程

    什么是 async-stream-emitter async-stream-emitter 是一个基于 Node.js 的 npm 包。它提供了一种简单的方法来将异步操作转换为可读流,并以事件流的形式...

    5 年前
  • npm 包 writable-consumable-stream 使用教程

    在前端开发中,我们常常需要进行数据的输入、输出。而 writable-consumable-stream 是一个 Node.js 的 stream 库的扩展,提供了可写可消耗流的接口,方便我们进行数据...

    5 年前
  • npm 包 Consumable-stream 使用教程

    简介 npm 是世界上最大的软件包注册表,npm包中有各种各样的模块、插件,为开发人员提供了丰富的工具和组件。其中,consumable-stream 是一个很有用的npm模块,它提供了一种简单而优雅...

    5 年前
  • npm 包 stream-demux 使用教程

    npm 包 stream-demux 使用教程 简介 在前端后台开发中,stream(流)是一个重要的概念。 stream-demux 就是一个能够对流进行处理的 npm 包。

    5 年前
  • npm 包 socketcluster-server 使用教程

    前言 Node.js 是一个非常出色的后端编程语言,有很多开源组件和 API 可供使用。而 socketcluster-server 作为一款 Node.js 的网络框架,提供了比 Node.js 更...

    5 年前

相关推荐

    暂无文章