Calculate the area inside of any GeoJSON geometry.
-
Add the dependency to your
shard.yml
:dependencies: geojson_area: github: geocrystal/geojson_area
-
Run
shards install
require "geojson_area"
This adds area
method for all GeoJSON
objects:
polygon = GeoJSON::Polygon.new([
[[-10.0, -10.0], [10.0, -10.0], [10.0, 10.0], [-10.0,-10.0]],
[[-1.0, -2.0], [3.0, -2.0], [3.0, 2.0], [-1.0,-2.0]]
])
polygon.area
# => 2366726096087.807
Also you can use GeoJSON::Area.area()
directly.
This method accept any GeoJSON
object, and returns contained area as square meters.
polygon = GeoJSON::Polygon.new([
[[-10.0, -10.0], [10.0, -10.0], [10.0, 10.0], [-10.0,-10.0]],
[[-1.0, -2.0], [3.0, -2.0], [3.0, 2.0], [-1.0,-2.0]]
])
GeoJSON::Area.area(polygon)
# => 2366726096087.807
- Fork it (https://github.com/geocrystal/geojson_area/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Anton Maminov - creator and maintainer