osm-p2p-geojson 使用教程

阅读时长 5 分钟读完

osm-p2p-geojson 是一个使用 Node.js 的 npm 包,它基于 OpenStreetMap 数据构建可以供其他应用程序使用的 GeoJSON 数据。

安装

安装 osm-p2p-geojson 最简单的方法是通过 npm:

使用方法

osm-p2p-geojson 的 API 非常易于使用,下面是一个基本的例子:

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

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

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

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

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

API 文档

osm-p2p-geojson 支持以下 API:

osmGeojson = require('osm-p2p-geojson')(osm)

osm p2p 数据库实例 osm 就是构件该模块的基本参数,这个参数在其中非常重要,因为 osm-p2p-geojson 是基于 OpenStreetMap 数据构建的。

osmGeojson.get(id, [callback])

获取指定 id 的元素并转换为 GeoJSON 结构。 id 可以是一个数字,也可以是一个字符串,这对于节点、路径和关系都适用。 回调函数的接收值为 error 和转换一个成为 GeoJSON 对象的类型。 如果没有找到 id 对应的元素,则 error 将包含 "not found" 字符串。

osmGeojson.getBoundingBox([bbox], callback)

获取 osm 里的元素并转换为 GeoJSON。 bbox 参数用于限制返回的数据格式和范围,它是一个包含四元素的一维数组,存储为 [x1, y1, x2, y2]。

osmGeojson.getIndexableFields()

返回这样一个数组,该数组包含以下内容:

  • "type": 表示元素类型的字符串。
  • "timestamp": MySQL 时间戳。
  • "id": 需要独一无二的 id 值。
  • "version": 元素的版本号。
  • "changeset": 元素所在的更改集。
  • "lon": 几何类型为点时,该元素的经度坐标。
  • "lat": 几何类型为点时,该元素的纬度坐标。
  • "bbox-geometry": 表示元素的空间范围的几何图形。
  • "all-tags": 包含元素所有相对应标记的字符串。

示例

下面是通过 osm-p2p-geojson 获取和转换一个 OpenStreetMap 元素的示例代码:

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

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

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

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

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

总结

osm-p2p-geojson 是一个基于 Node.js 的 npm 包,它提供了方便且易于使用的 API,可用于将 OpenStreetMap 数据库中的元素转换为 GeoJSON 数据。 使用本文介绍的方法,你可以轻松地利用这个包来构建自己的应用程序,无论是创建地图还是提取 GIS 数据。

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

纠错
反馈