https://github.com/bayer-group/geospatialswift
Geospatial swift framework for GeoJson with geohashing, calculations, and much more
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Repository
Geospatial swift framework for GeoJson with geohashing, calculations, and much more
Basic Info
Statistics
- Stars: 9
- Watchers: 7
- Forks: 2
- Open Issues: 0
- Releases: 9
Metadata Files
README.md
GeospatialSwift
What is GeospatialSwift?
GeospatialSwift is an interface to translate a GeoJson document / dictionary into a swift object which fully conforms to the more recent GeoJson specification - August 2016.
A GeoJsonObject can be transformed to a bounding box.
Features
- Unit tested with high coverage
- Ongoing development
Installation
Carthage
github "MonsantoCo/GeospatialSwift" ~> 1.0.0
Package Manager
.package(url: "git@github.com:MonsantoCo/GeospatialSwift.git", from: "1.0.0")
Geospatial
Geospatial
- The main interface consisting of 4 sub interface
GeoJson
Geospatial.geoJson
- Full GeoJson specification support to create a GeoJsonObject
- A GeoJsonObject is the base object of GeospatialSwift functionality
- Bounding Box generated from any GeoJsonObject
- GeoJson generated from any GeoJsonObject
GeoJsonObjects
- Minimum distance to a given point (Optional error distance)
- Contains a given point (Optional error distance)
- Bounding box for any shape
- GeoJson returned as a Dictionary
- Coordinates array for the associated geometry
Line segments with midpoint and bearing functions
Point
- Normalize
MultiPoint
LineString
- Length
MultiLineString
- Length
Polygon
- Centroid
- Area
MultiPolygon
- Area
GeometryCollection
Feature
FeatureCollection
Geohash
Geospatial.geohash
- Create a geohash from a coordinate or bounding box
- Get geohash neighbors (8)
- Create a bounding box for a geohash
WKT - Not Fully Supported
Geospatial.parse(wkt: String) -> GeoJsonObject
- Minimal WKT parsing support which transforms to a GeoJsonObject.
- POINT, LINESTRING, MULTILINESTRING, POLYGON, MULTPOLYGON.
- This is currently only intended to parse a very simple WKT string
Running GeospatialSwift in XCode
- Bootstrap Example:
rm -rf *.xcodeproj || rm -rf .build || swift package resolve && swift package generate-xcodeproj && open *.xcodeproj - In the Target
GeospatialSwift, select the tabSigning & Capabilitiesand check the boxAutomatically manage signing - In the scheme menu, select
Edit Scheme..., select theTestitem on the left, select the tabOptions, and check the boxGather coverage for "all targets" - In the target
GeospatialSwiftTestsselect the tabBuild Phasesand add aRun Script Phasewith the body$PROJECT_DIR/Scripts/parrot.shand move the item to the top of the Buld Phases just belowDependencies. - In the target
GeospatialSwiftselect the tabBuild Phasesand add aRun Script Phasewith the body$PROJECT_DIR/Scripts/swiftlint.sh.
Extending GeospatialSwift in XCode
Option 1: Run with the current XCode project as is
Option 2: Rebuild it using generate-xcodeproj
- Setup: Package Manager Example:
rm -rf *.xcodeproj || rm -rf .build || swift package resolve && swift package generate-xcodeproj && open *.xcodeproj - Building: In the Target
GeospatialSwift, select the tabSigning & Capabilitiesand check the boxAutomatically manage signing - Code Coverage: In the scheme menu, select
Edit Scheme..., select theTestitem on the left, select the tabOptions, and check the boxGather coverage for "all targets" - Mocking: In the target
GeospatialSwiftTestsselect the tabBuild Phasesand add aRun Script Phasewith the body$PROJECT_DIR/Scripts/parrot.shand move the item to the top of the Buld Phases just belowDependencies. - Linting: In the target
GeospatialSwiftselect the tabBuild Phasesand add aRun Script Phasewith the body$PROJECT_DIR/Scripts/swiftlint.sh.
Owner
- Name: Bayer Open Source
- Login: Bayer-Group
- Kind: organization
- Website: https://bayer.com/
- Repositories: 98
- Profile: https://github.com/Bayer-Group
Science for a better life
GitHub Events
Total
- Member event: 1
Last Year
- Member event: 1
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Vernon R Schierding III | s****g@g****m | 10 |
| Nickola | 1****v | 2 |
| Nickola Andriiev | a****h@g****m | 2 |
| Nathan Schlechte | n****e@g****m | 1 |
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 12
- Average time to close issues: N/A
- Average time to close pull requests: about 13 hours
- Total issue authors: 0
- Total pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 10
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 1 hour
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- schlingding (8)
- NickolaAndriiev (3)
- mifanbing (1)
- SchlNate (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- github.com/GEOSwift/geos 8.1.0