Skip to content

Releases: Bayer-Group/GeospatialSwift

Spike in Polygon Validation

16 Feb 17:41
cbadfda
Compare
Choose a tag to compare
  • In compliance with PostGIS valid polygon, a polygon cannot have spikes. A spike in the scope of this project is defined as being less than 5 degrees while greater than 0 degrees (a line)

Expose Interface and added Bisecting Bearing and Cross

08 Apr 21:24
8510cc8
Compare
Choose a tag to compare
Exposed interface and added Bisecting Bearing and Cross (#9)

* Expose GeodesicLineSegment init.
* Added convenience methods to bounding box.
* Added bisection bearing and cross logic
* Create a polygon from centroid, width, and height

Internal improvements

03 Apr 15:52
9137864
Compare
Choose a tag to compare
1.1.1

Move Result helps to unit tests only (#8)

Simple Violations / OpenGIS Compliance

04 Mar 15:00
7088d46
Compare
Choose a tag to compare

Introducing simple geometry violations which follow the OpenGIS compliancy of geometries.

https://postgis.net/docs/using_postgis_dbmanagement.html#OGC_Validity

Thanks to @mifanbing for the majority of the work!

Performance Enhancements

28 Jan 21:54
4403c6c
Compare
Choose a tag to compare
  • Rebuilt the XCode project as a Package
  • Removed most protocols in favor of public struct objects
  • Increased performance all around
  • Added an option to pass in pre-validated GeoJson which is parsed without validation. This will have a a significant performance boost with the side effect of the application crashing if the GeoJson was not validated. The older parse methods still validate but should only need to be run once when pulling in new data and thereafter can be considered validated.
  • Large performance boost for Geohash coding and neighbors
  • Significant API changes
  • TimberSwift is no longer a dependency in favor of now passing back invalid geo json errors.

Swift 5

22 Apr 18:03
Compare
Choose a tag to compare
0.4.0

Swift 5 (#3)

General Enhancements

30 Oct 21:21
8cc6c37
Compare
Choose a tag to compare
General enhancements (#2)

* Removed backward compatibility with Swift prior to 4.1.  Restructured for area and length to also exist on MultiPolygon and MultiLine. GeoJsonLineSegment typealias changed to GeodesicLineSegment struct representing the same data. Added hasHole to GeoJsonClosedGemoetry.

* Expose GeoJsonObjectType name and init.

* Expose new GeoJsonObject functionality.

* Attempt to fix Earth Radius issues by using latitude in calculations.

* Removing centroids from geometries which do not have them rather than trying to fit a centroid for them.

* Further simplification.

* Moved the points parameter to GeoJsonCoordinatesGeometry and removed GeoJsonMultiCoordinatesGeometry.

* Add GeoJsonSimpleGeometry for easy access to Point, LineString, and Polygon.

* Added a simple isSimpleGeometry boolean instead of the new GeoJsonSimpleGeometry protocol.

* Make BoundingBox public.

* Added inset to BoundingBox.

* Renames for bounding box adjustments.

* Better inset bounding box logic.

* Swift 4.2 fix

* Calculation updates

* More rework to adhere to a more simple protocol.

* Expose public methods.

Added Timber Swift

19 Jun 12:54
Compare
Choose a tag to compare
  • Delegates logging to using application
  • Clean up

Initial Release

08 May 21:04
Compare
Choose a tag to compare