npm 包 multimodal-isochrones 使用教程

阅读时长 7 分钟读完

简介

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

纠错
反馈