npm包 @turf/tin 使用教程

阅读时长 8 分钟读完

简介

@turf/tin 是一个 npm 包,基于 TIN(三角网)算法计算输入点形成的三角形网格。它是 turf.js 库(一个用于地理空间分析的 JavaScript 库)的一个子模块,可以直接通过 npm 安装。

安装

使用 npm 安装:

你也可以在浏览器端直接使用:

使用

tin(points)

输入一个点集合(如一个 GeoJSON 点集合),返回一个三角形网格多边形的集合。

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

渲染三角形网格

你可以使用一些地图渲染模块,例如 Mapbox GL JS、Leaflet、OpenLayers 等,来渲染三角形网格。

下面是一个使用 Mapbox GL JS 渲染三角形网格的示例:

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

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

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

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

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

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

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

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

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

这个示例创建一个地图,从一个点集合计算出三角形网格,然后渲染三角形网格。

结论

@turf/tin 提供了一种简单的方法来从输入点集合中创建网格多边形,可以方便地在地图上进行渲染和分析。

在构建涉及空间的应用程序和可视化过程中,这个 npm 包的使用是非常方便和有价值的。

参考资料

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

纠错
反馈