Skip to content

Streaming geospatial format conversion - SHP/GDB/KML/GPX/GeoJSON/etc.

License

Notifications You must be signed in to change notification settings

staeco/verrazzano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Streaming geospatial format conversion

verrazzano NPM version Downloads Build Status

Install

npm install verrazzano --save

Notice: the unzip command must be available on the system in order to handle zipped inputs.

Supported Formats

Parsing

  • SHP
  • GDB
  • GPX
  • KML
  • KMZ
  • GeoJSON

Creation

  • SHP
  • GPX (Partial)
  • KML
  • KMZ
  • GeoJSON

API

from(format)

Returns a stream. Input is the file content. Output is GeoJSON Feature objects.

to(format)

Returns a stream. Input is GeoJSON Feature objects. Output is the file content.

Example

import fs from 'graceful-fs'
import geo from 'verrazzano'

// SHP -> GeoJSON Feature objects
fs.createReadStream('zones.shp')
  .pipe(geo.from('shp'))
  .pipe(through2.obj((feat, _, cb) => {
    // Do whatever you want with it here!
    cb(null, feat)
  }))

// SHP -> GeoJSON FeatureCollection
fs.createReadStream('zones.shp')
  .pipe(geo.from('shp'))
  .pipe(geo.to('geojson'))
  .pipe(fs.createWriteStream('zones.geojson'))

// GeoJSON FeatureCollection -> SHP
fs.createReadStream('zones.geojson')
  .pipe(geo.from('geojson'))
  .pipe(geo.to('shp'))
  .pipe(fs.createWriteStream('zones.shp'))

// SHP -> KML
fs.createReadStream('zones.shp')
  .pipe(geo.from('shp'))
  .pipe(geo.to('kml'))
  .pipe(fs.createWriteStream('zones.kml'))

Limitations

  • For zip-based geospatial formats it is not possible to operate on these in a streaming/memory efficient way (the manifest for a zip is stored at the end of the file). In these cases, a temporary file will be used for the duration of the stream.
  • In some cases where GDAL needs to be used, a temporary file will be used. Over time we will replace GDAL with pure JS parsers.

About

Streaming geospatial format conversion - SHP/GDB/KML/GPX/GeoJSON/etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •