🔰 Get GeoJSON of a OpenStreetMap's relation from the API.
Coded with ❤️ by Simone Primarosa.
$ npm install --save osm-geojson
const osmGeoJson = require('osm-geojson');
osmGeoJson.get('365331'); // Italy
// => { type: 'GeometryCollection', geometries: [ { type: 'MultiPolygon', coordinates: [Array] } ] }
osmGeoJson.getAll({'ITA': '365331', 'USA': '148838'}); // Italy
// => {
// 'ITA': { type: 'GeometryCollection', geometries: [ { type: 'MultiPolygon', coordinates: [Array] } ] },
// 'USA': { type: 'GeometryCollection', geometries: [ { type: 'MultiPolygon', coordinates: [Array] } ] }
// }
To use the CLI just install the package globally.
$ npm install --g osm-geojson
Or run it with npx
if you are not planning to use it more than once.
$ npx osm-geojson
Usage
$ osm-geojson <osmId>
$ osm-geojson -l [<osmId>:<filename>]+
Options
-l --list [<osmId>:<filename>]+ To fetch a list of osmIds. Each relation
will be saved in a file called
filename.geojson
-p --pretty To beautify the outputted JSON.
Examples
$ osm-geojson 365331
$ osm-geojson -p 365331
$ osm-geojson -p 365331 > filename.geojson
$ osm-geojson -l 365331:ita 148838:usa
Returns the GeoJSON of a particular OSM relation id.
Returns: Promise.<object>
- A promise that contains the GeoJSON of the given
relation.
Param | Type | Description |
---|---|---|
osmid | string |
Relation id from which extract the GeoJSON. |
Returns a map of GeoJSON of multiple OSM relation ids.
Returns: Promise.<object>
- A promise that contains the map with the same keys
of the map provided but with the GeoJSON of the given relation id as value.
Param | Type | Description |
---|---|---|
map | object |
Map from a name to a relation id from which extract the GeoJSON. |
- Simone Primarosa - Github (@simonepri) • Twitter (@simoneprimarosa)
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the license file for details.