shp-write v0.3.2
shp-write
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
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
- Uses jsZip for ZIP files, but compression is buggy so it uses STORE instead of DEFLATE.
Example
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.
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
- Nick Baugh niftylettuce@gmail.com
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago