geojson-geometries

⛏ Extract elementary geometries from a GeoJSON inheriting properties.

MIT License

Downloads
20.9K
Stars
2
Committers
1

Install

$ npm install --save geojson-geometries

Usage

const GeoJsonGeometries = require('geojson-geometries');

const geojson = {type: 'FeatureCollection',
  features: [{
    type: 'Feature',
    geometry: {
      type: 'Point',
      coordinates: [102.0, 0.5]
    },
    properties: {prop0: 'value0'}
  }, {
    type: 'Feature',
    geometry: {
      type: 'LineString',
      coordinates: [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]
    },
    properties: {prop1: 'value1'}
  }, {
    type: 'Feature',
    geometry: {
      type: 'Polygon',
      coordinates: [
        [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]
      ]
    },
    properties: {prop2: 'value2'}
  }]
};

const extracted = new GeoJsonGeometries(geojson);

extracted.points
// => {
//   type: "FeatureCollection",
//   features: [{
//     type: "Feature",
//     geometry: {
//       type: "Point",
//       coordinates: [102, 0.5]
//     },
//     properties: {prop0: 'value0'}
//   }]
// }

extracted.lines
// => {
//   type: "FeatureCollection",
//   features: [{
//     type: "Feature",
//     geometry: {
//       type: "LineString",
//       coordinates: [[[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]]
//     },
//     properties: {prop1: 'value1'}
//   }]
// }

extracted.polygons
// => {
//   type: "FeatureCollection",
//   features: [{
//     type: "Feature",
//     geometry: {
//       type: "Polygon",
//       coordinates: [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]]
//     },
//     properties: {prop2: 'value2'}
//   }]
// }

API

new GeoJsonGeometries(geoJson, [options])

Create an instance of the geometries extractor.

Param Type Description
geoJson Object The GeoJSON from which extract the geometries.
[options] Object Optional options.
options.ignorePoints boolean If true the extractor will ignore geometries of type Point.
options.ignoreLines boolean If true the extractor will ignore geometries of type LineString.
options.ignorePolygon boolean If true the extractor will ignore geometries of type Polygon.

geoJsonGeometries.points ⇒ Array.<Object>

Returns the list of geometries of type Point found in the GeoJSON.

Kind: instance property of GeoJsonGeometries Returns: Array.<Object> - A FeatureCollection of points with inherited properties if any.

geoJsonGeometries.lines ⇒ Array.<Object>

Returns the list of geometries of type LineString found in the GeoJSON.

Kind: instance property of GeoJsonGeometries Returns: Array.<Object> - A FeatureCollection of lines with inherited properties if any.

geoJsonGeometries.polygons ⇒ Array.<Object>

Returns the list of geometries of type Polygon found in the GeoJSON.

Kind: instance property of GeoJsonGeometries Returns: Array.<Object> - A FeatureCollection of polygons with inherited properties if any.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the license file for details.