All Projects → substack → Shp2json

substack / Shp2json

convert shapefile zip archives to streaming GeoJSON

Programming Languages

javascript
184084 projects - #8 most used programming language

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].