npm 包 @turf/isolines 使用教程

阅读时长 6 分钟读完

随着现代 Web 应用程序中地理信息的广泛使用,将地理信息可视化和分析传达给用户变得越来越重要。在地图上显示海拔高度,温度等离散数据时,等高线是非常有效的工具。@turf/isolines 就是一个可以用来生成等高线的 npm 包。

安装

如果你希望使用 @turf/isolines,首先需要将其安装到你的项目中。在终端窗口中运行以下命令即可。

API 简介

@turf/isolines 模块包含一个名为 "isolines" 的函数,用于生成等值线。它需要三个参数:

  • featureCollection
  • zProperty
  • breaks

其中:

  • featureCollection:一个 GeoJSON FeatureCollection 对象,包含要将其转换为等高线的点。必填。
  • zProperty:FeatureCollection 对象中代表数据值的属性名称。该属性的值应是数值型。必填。
  • breaks:在输入数据范围内生成多少个相等的等值线(数字)。可选,默认值为 15。

生成的等高线在一个名为 "isolines" 的 MultiLineString 类型的 GeoJSON FeatureCollection 对象中返回。

示例代码

假设我们有一个数据集,其中包含一些位置和随机生成的高度(范围为 1-10)。数据如下:

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

我们现在希望使用 @turf/isolines 将这个数据集转换为等高线。

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

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

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

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

此代码将在终端窗口中输出一个 MultiLineString GeoJSON FeatureCollection 对象,用于表示五条等高线。

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

学习和指导意义

@turf/isolines 可以用来将离散数据转换为可交互和易于理解的可视化,对许多应用程序非常有用。尽管它看似简单,但它的实现是典型的几何计算问题,可以帮助你提升地理信息处理的能力。

细节上需要注意的一点是,数据集的属性名称必须与 zProperty 参数指定的属性名称匹配。如果这两者不匹配,函数将返回一个空的 MultiLineString 类型的 GeoJSON FeatureCollection 对象。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedae2eb5cbfe1ea0610dc4

纠错
反馈