osm-p2p-geojson 是一个使用 Node.js 的 npm 包,它基于 OpenStreetMap 数据构建可以供其他应用程序使用的 GeoJSON 数据。
安装
安装 osm-p2p-geojson 最简单的方法是通过 npm:
npm install osm-p2p-geojson
使用方法
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