Skip to content

Instantly share code, notes, and snippets.

@miccferr
Last active December 12, 2018 16:34
Show Gist options
  • Save miccferr/77185c3009b0fc7f70853ca4ef05d5df to your computer and use it in GitHub Desktop.
Save miccferr/77185c3009b0fc7f70853ca4ef05d5df to your computer and use it in GitHub Desktop.
Using JSONStream to read/filter/write a GeoJSON. Outputs only Polygon geometries.
const fs = require('fs');
const JSONStream = require('JSONStream');
const es = require('event-stream')
let stream = fs.createReadStream('./data/kensington/kensington.geojson', {encoding: 'utf8'});
let WriteStream =fs.createWriteStream('./data/kensington/kensington_clean.geojson', {encoding: 'utf8'});
let open = '{"type":"FeatureCollection","features":[',
close = ']}';
let transformStream =JSONStream.stringify(open, '\n,\n', close);
let filterOutMultiPolygons= type=> {
if (type.geometry.type == 'Polygon')
return type
}
let parser = JSONStream.parse('features.*', filterOutMultiPolygons);
stream.pipe(parser).pipe(transformStream).pipe(WriteStream);
//parser.on('data', d =>d )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment