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