npm 包 multimodal-isochrones 使用教程

简介

multimodal-isochrones 是一个可以计算多种交通方式下路程时间及可到达范围的一个 npm 包。它可以用于规划、可达性分析、交通中心计算等场景。本篇文章会详细介绍如何使用这个包,并提供示例代码进行实践。

安装

在使用之前,你需要先安装 multimodal-isochrones 包。使用下面的命令即可:

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

使用

基本的使用方法

使用 multimodal-isochrones 包需要引入以下几个模块:

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

以上模块分别是:

  • MultiModalIsochrones:multimodal-isochrones 包的主模块。
  • MapboxClient:使用 Mapbox 数据的一个模块。
  • openrouteservice:使用 OpenRouteService 数据的一个模块。
  • Transitfeeds:使用 Transitfeeds 数据的一个模块。

导入模块之后,使用如下方法即可生成一个路程计算器:

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

以上代码创建了一个名为 calculator 的实例,并指定了三种不同的供应商:Mapbox、Transitfeeds 和 OpenRouteService。接下来,可以使用以下方法对实例进行计算:

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

以上代码计算了一组坐标的 20 分钟步行可达区域,并返回结果。从返回结果可以看到,每个坐标都对应了一组由 lon 和 lat 组成的数组。这组数组表示了在限定的步行时间内可以到达的所有位置。

进一步的使用方法

在计算程序可达性时,通常需要同时考虑多种不同的交通方式。为了在 multimodal-isochrones 中使用多种交通方式,我们需要设置一个包含各种不同交通方式的 profile。以下代码展示了一个包含多种交通方式的 profile:

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

上面代码中,我们定义了三种交通方式:

  • 小步行(地图提供商:Mapbox)
  • 驾车(地图提供商:OpenRoute)
  • 公共交通(地图提供商:Transitfeeds)

接下来,修改 getIsochrones 方法,使用设置好的多种交通方式:

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

在上述代码中,我们定义了一个 exclude 属性来排除一些交通方式,比如船只、校车等,以获得更为准确的计算结果。并使用刚刚定义好的 profile 进行了计算过程。

这就是 multimodal-isochrones 的最基本使用方法。接下来我们将通过一个完整的案例进行演示。

实例

在这个案例中,我们将使用 multimodal-isochrones 包计算三个点的路程时间及可到达范围:

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

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

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

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

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

在上述代码中,我们使用了 mapbox、openrouteservice 和 Transitfeeds 三种地图服务。我们计算了三个点的路程时间和可到达范围,并分别设置了 10 分钟、20 分钟、30 分钟的路程时间。最后我们通过 console.log 打印出了计算结果。

总结

multimodal-isochrones 是一个非常强大的 npm 包,它支持多种交通方式,并可用于计算路程时间及可到达范围。在本文中,我们详细介绍了该包的安装及使用,并提供了示例代码进行实践。希望通过本文的介绍,可以帮助读者更好地了解该实用工具的使用方法。

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


猜你喜欢

  • npm 包 metaobject-mvc 使用教程

    在前端开发中,我们经常需要使用 MVC 框架来构建复杂的应用程序,而 metaobject-mvc 正是一款非常好用的 MVC 框架。本篇文章将介绍 metaobject-mvc 的安装和使用方法,通...

    4 年前
  • npm 包 send-channel-message 使用教程

    前言 在现代 web 应用程序中,实时通信变得越来越重要。有时您可能需要在两个或多个 web 页面之间进行通信或在同一页面上使用 iframe 引入的内容之间进行通信。

    4 年前
  • npm 包 urlmodule 使用教程

    在前端开发中,经常需要处理 URL 相关的操作。比如,从 URL 中获取参数、判断 URL 是否合法等等。虽然可以手写这些操作,但是使用现成的 npm 包会让这些操作变得更加简单和方便。

    4 年前
  • npm 包 vue-color-beta 使用教程

    在前端项目中,颜色选择器是一个非常常见的功能。如果每次都手写一个颜色选择器,不仅很费时,也容易出错。因此,使用现有的 npm 包可以大大提高前端开发效率。本文将介绍如何使用 vue-color-bet...

    4 年前
  • npm 包 @modernjs/multipart 使用教程

    前言 在 Web 开发中,文件上传是一个常见的需求。@modernjs/multipart 是一个基于 Node.js 的 npm 包,提供了简单、灵活的实现方式来解决文件上传的问题。

    4 年前
  • npm 包 @plutojs/node-markdown-docs 使用教程

    在前端开发的日常工作中,我们经常需要写一些文档来帮助团队成员进行沟通协作或对外宣传。而 Markdown 就是非常流行的一种文档编写格式,它简洁易懂、易于编辑和易于阅读。

    4 年前
  • npm 包 @trungdq88/jsonstream 使用教程

    介绍 在前端开发中,往往需要处理大量的 JSON 数据,而 @trungdq88/jsonstream 是一个能够帮助我们快速解析 JSON 数据的 npm 包。它使用了 Node.js 的 stre...

    4 年前
  • npm 包 clib-ui 使用教程

    简介 在前端开发中,我们常常需要使用一些 UI 库来帮助我们快速地搭建页面。这时候,我们就可以使用 clib-ui 这个 npm 包来帮助我们。clib-ui 是一个基于 React 的组件库,提供了...

    4 年前
  • npm 包 aldebaran-express-cache 使用教程

    前言 在前端开发中,缓存起着非常重要的作用,能够极大提升前端应用的性能。而 aldebaran-express-cache 是一个非常实用的 npm 缓存库,它通过将 express 路由处理函数的结...

    4 年前
  • npm 包 jslob 使用教程

    在前端开发中,使用 npm 包是开发过程中必不可少的一环。其中,jslob 是一款可以快速处理 JSON 对象的 npm 包,下面就向大家介绍一下它的使用教程。 什么是 jslob jslob 是一款...

    4 年前
  • React Native Slack Login

    React Native 是一个流行的开源移动应用开发框架,可以使用 JavaScript 和 React Markup 构建本地应用。与传统的 Web 应用开发不同,移动应用开发需要使用不同的技术和...

    4 年前
  • npm 包 mofron-effect-slant 使用教程

    前言 mofron 是一款基于 JavaScript 的前端开发框架,其强大的组件库让前端开发变得更加高效和便捷。而 mofron-effect-slant 是其中一款非常实用的效果组件,其可以让页面...

    4 年前
  • npm 包 @nxus/static-site 使用教程

    前言 如今,前端开发已经成为了互联网行业的一个重要组成部分。然而,面对庞杂的前端生态圈,很多开发者感到无从下手。 npm 是一个面向 JavaScript 的包管理器,用来分享、组织以及安装代码等组件...

    4 年前
  • npm 包 @nxus/storage 使用教程

    前言 在前端开发中,数据的存储和管理是一个必不可少的环节。在实现这一环节时,许多开发者选择了使用第三方存储库,以方便快捷地操作数据。其中,@nxus/storage 是一个值得推荐的 npm 包,在 ...

    4 年前
  • npm 包 @sunshower/aire-build 使用教程

    前言 在前端开发中,我们经常需要对代码进行打包、压缩、优化等操作,此时,使用构建工具便显得尤为必要。而 npm 包 @sunshower/aire-build 便是一款非常优秀的构建工具,它可以帮助我...

    4 年前
  • npm 包 likud 使用教程

    简介 在前端开发中,我们经常需要使用各种开源的库来提高开发效率。而 npm 就是一个非常流行的管理这些开源库的工具。而 likud 就是一个非常好用的 npm 包,它可以帮助我们更高效地开发前端项目。

    4 年前
  • npm 包 core-stack 使用教程

    在前端开发中,使用 npm 包管理工具来下载和安装相关的依赖包已成为常态。其中 core-stack 就是一个非常常用的 npm 包,它是一个轻量级的、基于 Webpack 的前端框架。

    4 年前
  • Git Rebase: "fatal: Needed a single revision" Error

    在进行 Git rebase 操作时,可能会遇到以下错误提示: ------ ------ - ------ -------- ------- -------- --这个错误通常是由于操作中传递的参数...

    4 年前
  • npm 包 sleep-sync 使用教程

    在前端开发中,我们经常需要使用 JavaScript 进行异步操作。有时候我们需要延迟一段时间后再执行下一步操作。JS 原生提供了 setTimeout 和 setInterval 方法进行延时操作,...

    4 年前
  • npm 包 vue-cli-plugin-antv 使用教程

    简介 vue-cli-plugin-antv 是一个 Vue CLI 插件,用于快速集成 AntV 图表库到 Vue 项目中。AntV 是蚂蚁金服的开源图表库,提供了多种数据可视化方案,可以帮助我们快...

    4 年前

相关推荐

    暂无文章