Geofeatures Save

A lightweight, high performance geometry library.

Project README

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 license: Apache 2.0

Platforms: iOS | macOS Version Build Status Codecov Downloads

Introduction

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.

Inheritance Diagram

Features

  • 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 and GFMutablePolygon).
  • 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.

Documentation

The doxygen documentation is online available at github.io.

Sources and Binaries

You can find the latest sources and binaries on github.

Communication and Contributions

  • 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 :-)

Installation

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.

Minimum Requirements

Build Environment

Platform Xcode
OSX 10.1

Minimum Runtime Version

iOS OS X
8.0 10.10

Author

Tony Stone (https://github.com/tonystone)

License

GeoFeatures is released under the Apache License, Version 2.0

The embedded Boost library is released under the Boost Software License, Version 1.0

Open Source Agenda is not affiliated with "Geofeatures" Project. README Source: tonystone/geofeatures

Open Source Agenda Badge

Open Source Agenda Rating