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

阅读时长 4 分钟读完

简介

@mapbox/geojson-segment是一个在地图上进行GeoJSON对象分段的工具包,能够将GeoJSON对象按照一定的规则分割成若干个子GeoJSON对象,便于进行地图显示和分析操作。

安装

使用

函数

segment

segment函数是整个包的核心函数,它接受一个GeoJSON对象和一些可选的选项,然后将GeoJSON对象分成若干个子GeoJSON对象。结果以数组形式返回。

interpolate

interpolate函数是本工具包内部的一个函数,用于在给定的GeoJSON几何体上插入点,使得GeoJSON几何体被切成若干个等长的线段。它接收一个几何体对象和一个距离值,返回被插入点后的几何体对象。

选项

segment函数接受一个可选的options参数。

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

options对象具体说明:

  1. roadNetwork:布尔型参数,表示是否适用于房屋版图的分割规则。默认为false,表示适用于普通情况的分割规则。如果设置为true,则采用房屋版图的分割规则。房屋版图的分割规则会将宽度大于30米的路段分成若干个相等长度的子路段。

  2. maxDistance:数值型参数,表示最大距离,用于限制插值时两个插值点之间的距离,单位是米。

  3. segmentLength:数值型参数,表示线段长度,用于控制GeoJSON对象的分段粒度,单位是米。

  4. earthRadius:数值型参数,表示地球半径,用于进行插值计算,单位是米。默认值为地球半径的平均值6371008.8米。

示例

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

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

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

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

在上面这个例子中,我们将一条LineString类型的GeoJSON对象输入到函数中,然后指定了maxDistancesegmentLength选项,将其分割为若干个LineString类型的对象,存放在数组中。我们可以将线段坐标数组输入到地图API中,用于地图展示分段效果。

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

纠错
反馈

纠错反馈