Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

shp2json

substack122MIT1.4.0

Convert shapefile zip archives into GeoJSON using ogr2ogr with a streaming interface

shapefile, shp, zip, stream, convert, geojson, geo, gis, json

readme

shp2json

Convert shapefile zip archives to streaming GeoJSON using gdal and JSONStream.

Uses the gdal native addon for node.js. No compilation required on most platforms as pre-compiled binaries will be downloaded automatically when you run npm install shp2json.

build status

example

shp2json.js

var toJSON = require('shp2json');
toJSON(process.stdin).pipe(process.stdout);
process.stdin.resume();

// or

toJSON.fromShpFile('./data/from_files/shape.shp').pipe(process.stdout);

shp2json command

$ shp2json ~/citylots.zip 2>/dev/null | head -n5
{
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "MAPBLKLOT": "0001001", "BLKLOT": 
"0001001", "BLOCK_NUM": "0001", "LOT_NUM": "001", "FROM_ST": "", "TO_ST": "",
 "STREET": "", "ST_TYPE": "", "ODD_EVEN": "" }, "geometry": { "type": "Polygon",
 "coordinates": [ [ [ -122.422004, 37.808480 ], [ -122.422076, 37.808835 ], 
[ -122.421102, 37.808804 ], [ -122.421063, 37.808601 ], [ -122.422004, 37.808480 ] ] ] } }
,

methods

var toJSON = require('shp2json')

var outStream = toJSON(inStream)

Create a streaming json output stream outStream from the streaming shapefile zip archive inStream.

command-line usage

Usage: shp2json {infile|-} {outfile|-}

install

Make sure you have the unzip command in your PATH.

To install the library, with npm do:

npm install shp2json

and to install the command do:

npm install -g shp2json

license

MIT/X11