terraformer-ruby

mostly faithful port of terraformer

Installation

gem install terraformer

or include in an application's Gemfile

gem terraformer

Basic usage

terraformer-ruby is a port of terraformer.

Create a Terraformer primitive from GeoJSON
> polygon = Terraformer.parse '{
  "type": "Polygon",
  "coordinates": [
    [
      [-122.66589403152467, 45.52290150862236],
      [-122.66926288604736, 45.52291654238294],
      [-122.67115116119385, 45.518406234030586],
      [-122.67325401306151, 45.514000817199715],
      [-122.6684260368347, 45.5127377671934],
      [-122.66765356063841, 45.51694782364431],
      [-122.66589403152467, 45.52290150862236 ]
    ]
  ]
}'

> point = Terraformer.parse '{
  "type": "Point",
  "coordinates": [-122.66947746276854, 45.51775972687403]
}'

Now that you have a point and a polygon primitive you can use the primitive helper methods.

# add a new vertex to our polygon
> new_point = Terraformer::Point.new -122.6708507537842, 45.513188859735436
> polygon.insert_vertex 2, new_point

You can also have Terraformer perform many geometric operations like convex hulls and bounding boxes.

> convex_hull = polygon.convex_hull
> point.within? convex_hull #returns true
> bounding_box = polygon.bbox #returns the bounding box for this object.