Skip to content

Repository files navigation

shp-write

Build Status

Writes shapefile in pure javascript. Uses dbf for the data component, and jsZIP to generate ZIP file downloads in-browser.

Usage

For node.js or browserify

npm install --save shp-write

Or in a browser

https://unpkg.com/shp-write@latest/shpwrite.js

Testing

To test the download functionality run npm run make-test and open index.html in browser. This should start an immediate download of test features defined in indexTest.js.

Caveats

  • Requires a capable fancy modern browser with Typed Arrays support
  • Geometries: Point, LineString, Polygon, MultiLineString, MultiPolygon
  • Tabular-style properties export with Shapefile's field name length limit

Example

varshpwrite=require('shp-write');// (optional) set names for zip file, zipped folder and feature typesvaroptions={folder: 'myshapes',types: {point: 'mypoints',polygon: 'mypolygons',polyline: 'mylines'}}// a GeoJSON bridge for featuresshpwrite.download({type: 'FeatureCollection',features: [{type: 'Feature',geometry: {type: 'Point',coordinates: [0,0]},properties: {name: 'Foo'}},{type: 'Feature',geometry: {type: 'Point',coordinates: [0,10]},properties: {name: 'Bar'}}]},options);// triggers a download of a zip file with shapefiles contained within.

API

download(geojson)

Given a GeoJSON FeatureCollection as an object, converts convertible features into Shapefiles and triggers a download.

write(data, geometrytype, geometries, callback)

Given data, an array of objects for each row of data, geometry, the OGC standard geometry type (like POINT), geometries, a list of geometries as bare coordinate arrays, generate a shapfile and call the callback with err and an object with

{shp: DataView(),shx: DataView(),dbf: DataView()}

zip(geojson)

Generate a ArrayBuffer of a zipped shapefile, dbf, and prj, from a GeoJSON object.

Other Implementations

Reference

Contributors

Pull requests contained in this branch

This branch includes the following PRs of the official repository:

About

create and write to shapefiles in pure javascript

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages