Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonystone/geofeatures2
A lightweight, high performance geometry library in Swift.
https://github.com/tonystone/geofeatures2
cocoapods geojson geometry geometrycollection high-performance ios linestring linux multilinestring multipolygon osx parser polygon swift swift-3 swift-package-manager swift3 wkt
Last synced: 2 months ago
JSON representation
A lightweight, high performance geometry library in Swift.
- Host: GitHub
- URL: https://github.com/tonystone/geofeatures2
- Owner: tonystone
- License: apache-2.0
- Created: 2016-02-13T14:19:28.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-01-04T04:55:12.000Z (about 1 year ago)
- Last Synced: 2024-10-13T14:27:29.096Z (3 months ago)
- Topics: cocoapods, geojson, geometry, geometrycollection, high-performance, ios, linestring, linux, multilinestring, multipolygon, osx, parser, polygon, swift, swift-3, swift-package-manager, swift3, wkt
- Language: Swift
- Homepage:
- Size: 3.78 MB
- Stars: 19
- Watchers: 4
- Forks: 4
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> **WARNING** This project is in a **_pre-release_** state. There is active work going on that will result in API changes that can/will break code while things are finished. Use with caution.
>
> For a stable release, please use the latest release of **GeoFeature 1** which can be found at [https://github.com/tonystone/geofeatures](https://github.com/tonystone/geofeatures).# GeoFeatures ![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-lightgray.svg?style=flat)
## Introduction
GeoFeatures is a lightweight, high performance geometry library for Swift. 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](Documentation/GeoFeatures-Inheritance-Diagram.png)
## Features
- [x] Easy to use.
- [x] Point, MultiPoint, LineString, LinearRing, MultiLineString, Polygon, MultiPolygon, Box and GeometryCollection implementations.
- [x] [WKT (Well-Known-Text)](https://en.wikipedia.org/wiki/Well-known_text) input and output.
- [x] [GeoJSON](https://tools.ietf.org/html/rfc7946) input and output.
- [x] **Swift**: Written in pure Swift.
- [x] Open Sourced under the the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).## Sources and Binaries
You can find the latest sources and binaries on [github](https://github.com/tonystone/geofeatures2).
## Installation (Swift Package Manager)
GeoFeatures supports dependency management via Swift Package Manager on OSX and Linux.
Please see [Swift Package Manager](https://swift.org/package-manager/#conceptual-overview) for further information.
## Installation (CocoaPods)
GeoFeatures is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod "GeoFeatures"
```
See the ["Using CocoaPods"](https://guides.cocoapods.org/using/using-cocoapods.html) guide for more information.## Communication and Contributions
- If you **found a bug**, _and can provide steps to reliably reproduce it_, [open an issue](https://github.com/tonystone/geofeatures2/issues).
- If you **have a feature request**, [open an issue](https://github.com/tonystone/geofeatures2/issues).
- If you **want to contribute**
- Review [Documentation/GeoFeatures-Development](Documentation/GeoFeatures-Development.md).
- Fork it! [GeoFeatures repository](https://github.com/tonystone/geofeatures2)
- Create your feature branch off of **master**: `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 :-)
> For instructions on how to build GeoFeatures for development, please see [Documentation/GeoFeatures-Development](Documentation/GeoFeatures-Development.md).## Minimum Requirements
Build Environment
| Platform | Swift | Swift Build | Xcode |
|:--------:|:-----:|:----------:|:------:|
| Linux | 5.0| ✔ | ✘ |
| OSX | 5.0| ✔ | Xcode 11.3 |Minimum Runtime Version
| iOS | OS X | Linux |
|:---:|:-----:|:------------:|
| 8.0 | 10.10 | Ubuntu 14.04, 16.04, 16.10 |> Note:
>
> To build and run on **Linux** we have a a preconfigure **Vagrant** file located at [https://github.com/tonystone/vagrant-swift](https://github.com/tonystone/vagrant-swift)
>
> See the [README](https://github.com/tonystone/vagrant-swift/blob/master/README.md) for instructions.
>
## LicenseGeoFeatures is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)