Skip to content

Latest commit

 

History

History
137 lines (131 loc) · 2.97 KB

README.md

File metadata and controls

137 lines (131 loc) · 2.97 KB

geojson-lookfor

Quickly search any feature from GeoJSON. Can be searched by any keyword. This is an npm module that returns GeoJson that only contains geojson that match the keywords.

Usage

  1. Install through npm.
npm i @geolonia/geojson-lookfor
  1. Require the module.
const gl = require("@geolonia/geojson-lookfor");
  1. Initialize by passing geojson to the GeoJsonlookfor object.
const GeoJsonlookfor = new gl.GeoJsonlookfor(geojson);
  1. We can look for features with "bakery" in their properties in the following ways.
GeoJsonlookfor.match('bakery');
console.log(GeoJsonlookfor.getGeoJSON());

Example

  1. Look for a feature with "clothing store".
const gl = require("@geolonia/geojson-lookfor");
const geojson = {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "name": "Bistro A",
          "address": "sample address",
          "category": "restaurant"
        },
        "geometry": {
          "coordinates": [
            139.517720985072,
            35.99865685174926
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "name": "sample shop",
          "address": "sample address",
          "category": "clothing store"
        },
        "geometry": {
          "coordinates": [
            139.3008590099202,
            35.97501042924834
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "name": "Bistro B",
          "address": "sample address",
          "category": "restaurant"
        },
        "geometry": {
          "coordinates": [
            139.5371783066526,
            35.941979468748585
          ],
          "type": "Point"
        }
      }
    ]
}

const GeoJsonlookfor = new gl.GeoJsonlookfor(geojson);
const res = GeoJsonlookfor.match('clothing store').getGeoJSON();

console.log(res);
# result
{
  type: 'FeatureCollection',
  features: [ 
    {
        "type": "Feature",
        "properties": {
            "name": "sample shop",
            "address": "sample address",
            "category": "clothing store"
        },
        "geometry": {
            "coordinates": [
            139.3008590099202,
            35.97501042924834
            ],
            "type": "Point"
        }
    }
  ]
}
  1. Look for a feature with "restaurant" and "A".
const res = GeoJsonlookfor.match('restaurant').match('A').getGeoJSON();

console.log(res);
# result
{
  type: 'FeatureCollection',
  features: [
    {
        type: 'Feature',
        properties: {
            name: 'Bistro A',
            address: 'sample address',
            category: 'restaurant'
        },
        geometry: {
            coordinates: [ 
                139.517720985072, 
                35.99865685174926 
            ],
            type: 'Point'
        }
    }
  ]
}