Skip to content

Releases: Outdooractive/gis-tools

v1.13.6

29 Oct 14:43

Choose a tag to compare

This project should now compile for Wasm and Swift for Android

v1.13.3

27 Oct 16:41
d547055

Choose a tag to compare

  • Separate tolerance and segmentLength in overlappingSegments(tolerance:segmentLength:)
  • Added BoundingBox.expanded(byHorizontalDegrees:verticalDegrees:)
  • Some code modernization like migrating to Swift Testing

v1.12.1

17 Apr 12:18
6201957

Choose a tag to compare

Added overlappingSegments(tolerance:) and estimatedOverlap(tolerance:) for self-overlapping GeoJSONs (#71)

v1.12.0

09 Apr 10:12
5ce6e84

Choose a tag to compare

Renamed:

- `GISTool.convertToCoordinate(...)` to `GISTool.coordinate(...)`
- `GISTool.convertToDegrees(...)` to `GISTool.degrees(...)`

Added:

- `Coordinate3D.degrees(fromMeters:)`
- `Coordinate3D.equals(other:includingAltitude:equalityDelta:altitudeDelta:)`

Removed:

- `MapTile.pixelCoordinate(...)` (is now `GISTool.coordinate(...)`)

Other:

- Addad an index to `LineSegment`

v1.11.0

18 Mar 09:52
fc20eea

Choose a tag to compare

  • Added withWindingOrder(:) and forceWindingOrder(:)
  • Added BoundingBox.position(of:) - position of a coordinate in relation to a bounding box
  • Added conversion shortcuts to Int and Double that convert some value to meters (like 10.kilometers or 2.feet)

v1.10.0

10 Mar 09:46
cbbb513

Choose a tag to compare

  • Added a shortcut to Coordinate3D: func mapTile(atZoom zoom: Int) -> MapTile

  • Added methods to GeometryCollection, MultiLineString, MultiPoint and MultiPolygon for adding/removing objects (like they already existed in FeatureCollection)

  • Improved bounding box handling

This version now not only updates bounding boxes for the outermost container object, but also updates the bounding boxes for all contained objects.

So, when you did this before:

let multiPolygon = MultiPolygon([...many polygons...])
let featureCollection = FeatureCollection([multiPolygon])
featureCollection.updateBoundingBox()

... only the bounding box of the featureCollection was updated which was a problem if you had e.g. a country MultiPolygon with many non-overlapping polygons and did many featureCollection.contains(coordinate) checks.
So if the coordinate was inside the FeatureCollection, all the polygons where still checked separately.

Now, updateBoundingBox() will also update the bounding boxes for contained objects in GeometryCollection, FeatureCollection , MultiLineString, MultiPoint and MultiPolygon which will speed up certain checks considerably.

v1.8.5

10 Jan 16:26
a84053b

Choose a tag to compare

Added rewind and rewinded to all GeoJson objects.

/// Returns the receiver with the outer ring counterclockwise and inner rings clockwise.

v1.8.3

12 Aug 15:07
a8118bc

Choose a tag to compare

Added MapTile(boundingBox:maxZoom:)

v1.8.2

30 Jul 09:09
98feada

Choose a tag to compare

Added FeatureCollection.propertiesSummary()

v1.8.1

29 Jul 15:31
32b933f

Choose a tag to compare

  • Bugfix: Holes in polygons where not subtracted from the outer ring area
  • Added FeatureCollection.enumerateProperties()