Note: GeoFeatures is currently being rewritten in pure Swift. This project will continue to be maintained until the production release of the Swift version.
Please see https://github.com/tonystone/geofeatures2 for the Swift rewrite.
GeoFeatures is a lightweight, high performance geometry library for Objective-C. It supports the full set of geometric primitives such as Point, Polygon, and LineString as well as collection classes such as MultiPoint, MultiPolygon,and MultiLineString.
- Easy to use.
- Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, Box and GeometryCollection implementations.
- Area, Length, BoundingBox, Centroid, Perimeter, Intersects, Intersection, Difference, Union, and Within (point in polygon) algorithms. More coming soon.
- Immutable and mutable versions of all classes (e.g.
GFPolygon
andGFMutablePolygon
). - WKT (Well-Known-Text) input and output.
- GeoJSON input and output.
- MapKit representations and drawing.
- Indexed Subscripting support for all collection types (e.g.
GEPoint * point = multiPoint[0]
). - Swift: supports direct use in Swift applications.
- CocoaPod framework support (compile as Objective-C framework or static lib).
- Open Sourced under the the Apache License, Version 2.0.
- Comprehensive doxygen documentation of the library available at github.io.
- Implemented based on the popular and fast open source C++ boost geometry library.
The doxygen documentation is online available at github.io.
You can find the latest sources and binaries on github.
- If you found a bug, and can provide steps to reliably reproduce it, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute
- Fork it! GeoFeatures repository
- 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
- Submit a pull request :-)
GeoFeatures is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "GeoFeatures"
See the "Using CocoaPods" guide for more information.
Build Environment
Platform | Xcode |
---|---|
OSX | 10.1 |
Minimum Runtime Version
iOS | OS X |
---|---|
8.0 | 10.10 |
Tony Stone (https://github.com/tonystone)
GeoFeatures is released under the Apache License, Version 2.0
The embedded Boost library is released under the Boost Software License, Version 1.0