geo

geojson2shp

Convert GeoJSON into Shapefile in pure JavaScript

Showing:

Popularity

Downloads/wk

806

GitHub Stars

26

Maintenance

Last Commit

6mos ago

Contributors

3

Package

Dependencies

8

Size (min+gzip)

659.2KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

geojson2shp

Convert GeoJSON into Shapefile in pure JavaScript

Prerequisites

Usage (CLI)

With global installation

# Installation
npm install geojson2shp -g

# Conversion
cat my.geojson | geojson2shp > my-shp.zip

With npx (included in Node.js installation)

# Conversion
cat my.geojson | npx geojson2shp > my-shp.zip

Usage (Node.js)

Basic

const {convert} = require('geojson2shp')

const options = {
  layer: 'my-layer',
  targetCrs: 2154
}

// Paths
await convert('/path/to/source.geojson', '/path/to/dest-shp.zip', options)

// Streams
await convert(inputGeoJSONStream, outputZippedShapefileStream, options)

// FeatureCollection as input
const featureCollection = {type: 'FeatureCollection', features: [/* */]}
await convert(featureCollection, '/path/to/dest-shp.zip', options)

// Features as input
const features = [
  {type: 'Feature', geometry: {/* */}, properties: {}},
  {type: 'Feature', geometry: {/* */}, properties: {}}
]
await convert(features, '/path/to/dest-shp.zip', options)

// Or mix them ;)

Custom stream

const fs = require('fs')
const {createConvertStream} = require('geojson2shp')


myGeoJSONStream
  .pipe(createConvertStream({
    targetCrs: 2154,
    layer: 'my-layer'
  }))
  .pipe(fs.writeWriteStream('/path/to/my-shapefile.zip'))

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100