npm 包 @mapbox/geojson-rewind 使用教程

阅读时长 4 分钟读完

前言

在地理信息系统开发中,GeoJSON 是一种常用的数据格式。然而,GeoJSON 格式有一个规则,即如果一个 Polygon 的坐标顺序为顺时针,那么这个 Polygon 表示的区域为该坐标系内的外环,反之如果该坐标是逆时针方向,则表示该多边形为该坐标系内的内环。

如果我们使用的地图系统要求外环和内环要分别绘制出来,并且能够正确的判断出它们的区别,则需要将数据中的内环和外环进行区分。而 @mapbox/geojson-rewind 包就是专门用来解决这个问题的工具。

安装

安装该包可以输入如下命令:

使用

@mapbox/geojson-rewind 包可以使用以下方法来进行数据的操作。

rewind(geojson)

该方法接收一个 GeoJSON 对象作为参数,并返回重装序列的 GeoJSON 对象。

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

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

----- --------------- - ----------------
展开代码

上述代码使用了 rewind 方法,将顺时针方向的坐标序列反转为逆时针方向的坐标序列。

rewind(geojson, true)

该方法支持第二个参数是一个布尔值。如果该参数值设为 true,则只有内环重装的 GeoJSON 对象才会返回。

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

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

----- --------------- - --------------- ------
展开代码

上述代码重装了内环的 GeoJSON 对象并返回。

结论

通过使用 npm 包 @mapbox/geojson-rewind,我们可以很方便地将地图数据的内环和外环进行区分。并且,GeoJSON 对象可以轻松地进行处理和解析。在日常的前端开发和 GIS 系统开发中,了解该包的使用方法十分有必要。

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