geonode icon indicating copy to clipboard operation
geonode copied to clipboard

[ABANDONED] Geography for node.js, see README

! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE !

I've abandoned this project and have no intention of addressing issues or PRs. Please follow a fork if you require further development.

! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE !

~ geonode ~

Bringing geography to node.js.

Example

var geonode = require("geonode");

var myPoint = new geonode.Geometry("POINT(1 2)");
sys.puts(myPoint.toWkt()); // "POINT (1.0000000000000000 2.0000000000000000)"

var myPolygon = new geonode.Geometry("POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))");
sys.puts(myPolygon.contains(myPoint)); // "true"

Installation

$ git clone git://github.com/paulsmith/geonode.git
$ cd geonode
$ node-waf configure build

Prerequisites

  • GEOS 3.1.x

TODO

In no particular order:

  • Finish wrapping GEOS C API
    • Coordinate sequence functions
    • Geometry constructors
    • Some topology operations -- polygonize, line merge, etc.
    • WKB read/write
  • R-Tree index (with asynchronous searches, inserts, updates, deletes)
  • Prepared geometries for faster predicates (contains, intersects, within)
  • GDAL OGR wrapper -- non-blocking reads from datasources
  • Proj wrapper
  • Better organized unit tests, more coverage
  • GeoJSON read/write
  • De-cargo-cult the C++, be more idiomatic
  • Document API

More tk ...

-- Paul Smith

@paulsmith pauladamsmith.com