RGeo component for reading and writing GeoJSON



Gem Version Build Status

rgeo-geojson is an extension to RGeo that provides GeoJSON encoding and decoding.


RGeo is a key component for writing location-aware applications in the Ruby programming language. At its core is an implementation of the industry standard OGC Simple Features Specification, which provides data representations of geometric objects such as points, lines, and polygons, along with a set of geometric analysis operations. See the README for the "rgeo" gem for more information.

RGeo::GeoJSON is an optional RGeo module that provides GeoJSON encoding and decoding. GeoJSON is a JSON format used for geographic data structures.


require 'rgeo/geo_json'

str1 = '{"type":"Point","coordinates":[1,2]}'
geom = RGeo::GeoJSON.decode(str1, json_parser: :json)
geom.as_text              # => "POINT(1.0 2.0)"

str2 = '{"type":"Feature","geometry":{"type":"Point","coordinates":[2.5,4.0]},"properties":{"color":"red"}}'
feature = RGeo::GeoJSON.decode(str2, json_parser: :json)
feature['color']          # => 'red'
feature.geometry.as_text  # => "POINT(2.5 4.0)"

hash = RGeo::GeoJSON.encode(feature)
hash.to_json == str2      # => true


RGeo::GeoJSON has the following requirements:

  • Ruby 1.9.3 or later
  • rgeo 0.5.0 or later.

Include in your bundle:

gem 'rgeo-geojson'

Install rgeo-geojson as a gem:

gem install rgeo-geojson

See the README for the "rgeo" gem, a required dependency, for further installation information.

Development and support

RDoc Documentation is available at http://rdoc.info/gems/rgeo-geojson

Source code is hosted on Github at https://github.com/rgeo/rgeo-geojson

Contributions are welcome. Fork the project on Github.

Report bugs on Github issues at http://github.com/rgeo/rgeo-geojson/issues


RGeo was created by Daniel Azuma (http://www.daniel-azuma.com).

Development is supported by Pirq and Neighborland.


Copyright (c) Daniel Azuma, Tee Parham