node-ogr
node-ogr copied to clipboard
OGR bindings for node
node-ogr
var ogr = require('ogr');
var driver = ogr.getDriverByName('ESRI Shapefile');
var layer = driver.open('../test/support/valid_shapefile.shp').getLayer(0);
console.log(layer.getNextFeature().getGeometry().exportToJSON());
Requirements
- node >= 0.6.0
- GDAL 1.9.x
Installation
First install GDAL http://trac.osgeo.org/gdal/wiki/DownloadSource
As of right now you can only install it locally since it's not on npm yet.
git clone git://github.com/zhm/node-ogr.git
cd node-ogr
make configure
make
Then you can run the tests (the tests require CoffeeScript to be installed, npm install -g coffee-script
)
make test
or
npm test
Examples
There are examples in /examples
that show some basic usage. One connects to PostGIS and outputs centroids to a csv.
The best documentation for right now is the unit tests in /test
and the OGR API reference.
When running locally, you might need to specify $NODE_PATH
so node knows where to find the binding. See the run
script in
the /examples
directory for more information. The other option is to explicitly pass the path of ogr.node
to require
.
Notes
Don't use this in server code. All of the methods are synchronous for now until I determine which methods should make use of the node threadpool. The API will change when async methods are added because they will become the default.
License
BSD.