write shapefiles from pure javascript
npm install shp-write-update
Writes shapefile in pure javascript. Uses dbf
for the data component, and jsZIP to generate
ZIP file downloads in-browser.
For node.js or browserify
npm install --save shp-write
Or in a browser
https://unpkg.com/shp-write@latest/shpwrite.js
* Requires a capable fancy modern browser with Typed Arrays
support
* Geometries: Point, PointZ, MultiPoint, MultiPointZ, LineString, LineStringZ, Polygon, PolygonZ, MultiLineString, MultiPolygon
* Tabular-style properties export with Shapefile's field name length limit
* Uses jsZip for ZIP files, but compression is buggy so it uses STORE instead of DEFLATE.
``js
var shpwrite = require('shp-write');
// (optional) set names for feature types and zipped folder
var options = {
folder: 'myshapes',
types: {
point: 'mypoints',
polygon: 'mypolygons',
line: 'mylines'
}
}
// a GeoJSON bridge for features
shpwrite.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.
`
Given a GeoJSON FeatureCollection as an object,
converts convertible features into Shapefiles and triggers a download.
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 coordinateerr
arrays, generate a shapfile and call the callback with and an object with
`js``
{
shp: DataView(),
shx: DataView(),
dbf: DataView()
}
Generate a ArrayBuffer of a zipped shapefile, dbf, and prj, from a GeoJSON
object.
* https://code.google.com/p/pyshp/
* http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
* Nick Baugh