Skip to content

Releases: JuliaGeo/GeometryOps.jl

v0.1.33

19 Dec 01:50
5ffe799

Choose a tag to compare

GeometryOps v0.1.33

Diff since v0.1.32

  • Added a method for spherical area using Girard's method (#366). Requires long/lat or UnitSphericalPoints as input.

Merged pull requests:

v0.1.32

13 Dec 16:17
d6e75fe

Choose a tag to compare

GeometryOps v0.1.32

Diff since v0.1.31

  • Add a utility function to GeometryOpsCore, to get geometries from any data structure (#240)
  • Bump GeometryOpsCore compat accordingly

Merged pull requests:

  • Add a utility function to GeometryOpsCore, to get geometries from any data structure (#240) (@asinghvi17)
  • Bump actions/checkout from 2 to 6 (#365) (@dependabot[bot])
  • Get the right version of ArchGDAL in tests (#367) (@asinghvi17)

v0.1.31

09 Nov 11:38
fdda925

Choose a tag to compare

GeometryOps v0.1.31

Diff since v0.1.30

  • Add Voronoi tesselation (new function voronoi) thanks to @skygering! Uses DelaunayTriangulation.jl for 2D planar Voronoi tessellation, returning a vector of polygons in the order of the input points.
  • Allow table rows and features in geometric predicates (intersects, contains, disjoint, etc.) such that you can do
    subset = filter(df) do row
        GO.intersects(row, region) # Look, no .geometry
    end
    # or, even cleaner,
    subset = filter(GO.intersects(region), df)
    This opens the road to allowing operations like GO.Filter (for example) earlier, which would let GeometryOps automatically take care of preparing geometry for you to get the fastest possible computation.
  • Fix simplify for small LinearRings
  • Fix type constraint warning in smooth

Merged pull requests:

v0.1.30

18 Oct 14:10
f37cd6e

Choose a tag to compare

GeometryOps v0.1.30

Diff since v0.1.29

  • New smooth function to smooth out geometry. Currently uses Chaikin's corner cutting algorithm by default, and works on planar and spherical manifolds. Geodesic incoming! See the doc page for more info, or the docstring of GO.smooth.
Image
  • One patch to polygonize to fix a corner case, but we discovered several more in that process. Efforts ongoing to fix.

Merged pull requests:

Closed issues:

  • polygonize creates invalid polygons (#338)

v0.1.29

19 Sep 07:31
f3dba87

Choose a tag to compare

GeometryOps v0.1.29

Diff since v0.1.28

Added spherical / geodesic methods for perimeter (also called length in other geospatial frameworks) and geodesic method via Proj.jl for area. Access by:

import GeometryOps as GO
GO.perimeter(geom) # planar
GO.perimeter(GO.Planar(), geom)
GO.perimeter(GO.Spherical(), geom)
GO.perimeter(GO.Geodesic(), geom)

area does not have a spherical representation yet, that is a bit more complicated to get right but coming soon:

GO.area(geom) # planar
GO.area(GO.Planar(), geom)
GO.area(GO.Geodesic(), geom) # requires Proj.jl to be loaded

Merged pull requests:

v0.1.28

17 Sep 14:17
fb4513b

Choose a tag to compare

GeometryOps v0.1.28

Diff since v0.1.27

Introduced a new UnitSpherical submodule which has some experimental utilities to handle geometry on the unit sphere.

Specifically, it has a UnitSphericalPoint type and conversions to and from that to long lat, as well as a SphericalCap type that can serve as a bounding box.

This still needs to be documented and tested but will be the base for our native spherical capabilities in the future.

Merged pull requests:

  • experimental UnitSpherical module that can express geometry on unit sphere (#285) (@asinghvi17)

v0.1.27

15 Sep 13:48
c9c7904

Choose a tag to compare

GeometryOps v0.1.27

Diff since v0.1.26

Added (optional) tree based acceleration to polygon intersection queries, this is doable by passing in e.g. AutoAccelerator() or SingleSTRTree() or SingleNaturalTree() as the first argument to the clipping function, like intersection, union, or difference.

Merged pull requests:

Closed issues:

  • Precompilation error (#326)

v0.1.26

22 Jun 20:40
078f39a

Choose a tag to compare

GeometryOps v0.1.26

Diff since v0.1.25

Merged pull requests:

v0.1.25

16 May 20:24

Choose a tag to compare

GeometryOps v0.1.25

Diff since v0.1.24

Merged pull requests:

Closed issues:

  • Registration issue (#324)

v0.1.24

10 May 03:06
3917c86

Choose a tag to compare

GeometryOps v0.1.24

Diff since v0.1.23

Merged pull requests:

Closed issues:

  • buffering (#31)
  • Implement what we can, wrap what we can't (#76)
  • Lazy apply (#82)
  • "Prepared geometry" and other such wrapper types (#87)
  • Point in polygon check failing on malformed input (#96)
  • Curried predicate functions (#148)
  • Beware: SortTileRecursiveTree does not always return comprehensive results (#156)
  • Which earth radius to use (#221)
  • Can we make global named constants for all the numeric constants in Core? (#232)
  • init not documented for applyreduce (#243)
  • applyreduce has 1 allocation where sum does not (#244)