Recent Releases of GeometryOps
GeometryOps - v0.1.26
GeometryOps v0.1.26
Merged pull requests:
- Remove conflicting simplify() method definition (#325) (@ConnectedSystems)
- Julia
Published by github-actions[bot] 12 months ago
GeometryOps - v0.1.25
GeometryOps v0.1.25
Merged pull requests:
- Fixes for Vitepress 0.2 (#317) (@asinghvi17)
- Create a specific exception type for enforce (#319) (@asinghvi17)
- Fix errors when building docs (#322) (@asinghvi17)
- Bump patch versions (#323) (@asinghvi17)
Closed issues: - Registration issue (#324)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.24
GeometryOps v0.1.24
Merged pull requests: - Documentation improvements (#170) (@asinghvi17) - Update benchmark code (#270) (@asinghvi17) - Implement an Applicator WithTrait (#305) (@asinghvi17) - Add applicator tests, fix small bug in WithXYZM (#306) (@asinghvi17) - Notes on writing performant code (#307) (@asinghvi17) - New patch versions for Ops and Core (#308) (@asinghvi17) - add a DataFrames extension for better table reconstruction (#312) (@asinghvi17)
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)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.22
GeometryOps v0.1.22
- Add extent predicates (extent-geometry and extent-extent)
- Add a FosterHormannClipping algorithm that parametrizes and controls polygon clipping. This framework allows us to implement tree acceleration etc. later as well.
Merged pull requests: - update the segmentize docs to reflect manifold changes (#279) (@asinghvi17)
Closed issues: - Introducing a spatial index interface (#131)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.21
GeometryOps v0.1.21
Merged pull requests: - Improve apply on tables, allow multiple geometry columns (#302) (@asinghvi17) - Add a one-crs method to reproject (#302) (@asinghvi17) - New version of Ops and Core (#303) (@asinghvi17)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.20
GeometryOps v0.1.20
- Experimental extent support in predicates (so you can now do
GO.intersects(extent, geom),GO.intersects(extent, extent), orGO.intersects(geom, extent)for all predicates) - Fix the order of finalization in multithreaded
reproject
Merged pull requests: - force finalize all transforms first in multithreaded reproject (#300) (@asinghvi17) - Extent forwarding for predicates (#301) (@asinghvi17)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.19
GeometryOps v0.1.19
- Introduces a new SpatialTreeInterface module that provides an interface for spatial trees, built somewhat on top of AbstractTrees.jl. Currently it is implemented for SortTileRecursiveTree.jl and the FlatNoTree wrapper.
- Provides functionality to query any tree that satisfies the interface, with an arbitrary predicate, and to perform a dual-tree query ("query" => "depth-first search").
- Allows any extent-like thing by default via the
node_extentinterface function, so this could also accept e.g. S2 cell collections or spherical caps.
- Provides functionality to query any tree that satisfies the interface, with an arbitrary predicate, and to perform a dual-tree query ("query" => "depth-first search").
- Introduces a new module LoopStateMachine that allows a function called within a loop to cause statements like
continue,break, orreturn xto be executed. See the module page for more information. The module includes:Actionstruct for representing different control flow actions@controlflowmacro for processing actions within loops- Support for
:continue,:break,:return, and:full_returnactions
- Introduces new convenience functions to access edges of polygons, like
eachedge,to_edgelist, andedge_extents, as well as lazy, nonallocating variants.
Merged pull requests: - Spatial tree interface (#297) (@asinghvi17) - New version (#299) (@asinghvi17)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.18
GeometryOps v0.1.18
- Add AdaptivePredicates as the exact backend for orient. At some point we should switch to an ecosystem wide (DelaunayTriangulation + GeometryOps + ...) representation for predicate kernels (Exact, Adaptive, Auto (choose adaptive if available and exact if not), and Fast).
- Fix touches for multi geometries
https://github.com/JuliaGeometry/AdaptivePredicates.jl is a library that implements adaptive predicates - substantially faster, BUT harder to construct, than exact predicates. Adaptive predicates are valid through the range of coordinates that geometries usually have, but we may need exact predicates if they are not.
Merged pull requests: - Convert the orient predicate to AdaptivePredicates + minor predicate changes (#275) (@asinghvi17) - Bump GeometryOps version (#298) (@asinghvi17)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.17
GeometryOps v0.1.17
- Add an extension on
TGGeometry.jl, a Julia wrapper of thetglibrary for fast, non-exact geometric predicates. Access by e.g.GO.intersects(GO.TG(), geom1, geom2). #271 - Refactor
reproject, in the Proj extension, to be completely safe when invoked withthreaded=true. Note that it will still not be thread safe if invoked in multiple threads at the same time. See below for the changes that were made in the course of this refactor. #288 - Refactor the
applypipeline to get rid of closures in favour ofApplicators, which are able to runapplyon arrays, geoms and featurecollections. Some examples areApplyToPoint,ApplyToGeom, etc. These are mainly used by internal methods in theapplypipeline. #288 - Add a
TaskFunctorsstruct that allows one to use individual functors per task. This allows thread safety for reentrant C APIs. #288
Merged pull requests:
- Add a TGGeometry extension for fast inexact geometric predicates (#271) (@asinghvi17)
- Thread-safe reproject with ThreadFunctors (#288) (@rafaqz)
- Fix reproject with threads + add Windows and Mac CI (#292) (@asinghvi17)
- new version (#293) (@asinghvi17)
- fix doc build (#295) (@asinghvi17)
Closed issues:
- reproject will not work with Proj transformations and threaded=true (#88)
- Using reproject in a threaded context makes Julia crash (#287)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.16
GeometryOps v0.1.16
Merged pull requests: - [Core] Add an algorithm interface + StableTasks (#269) (@asinghvi17) - Fix docs build error (#286) (@asinghvi17)
Closed issues:
- WARNING: both GeometryOps and Base export "contains" (#20)
- force2d, forcez, forcem, forcezm (#109)
- Rename all Geodesic* methods to Geodesic (#172)
- rebuild should use child geometries as the source of dimensional truth (#183)
- Don't load Offset arrays.jl in tests (#188)
- Both convex_hull and convexhull available, but convexhull doesn't have any methods (#235)
- Julia
Published by github-actions[bot] about 1 year ago
GeometryOps - v0.1.15
GeometryOps v0.1.15
- Use GeometryOpsCore (finally!). This version of GeometryOps is restricted to v0.1.2 of GeometryOpsCore only, because we plan to introduce a new algorithm and operation interface in the next version of GeometryOpsCore, which will cause significant code changes in GeometryOps.
- Refactor
segmentizeto use Manifold types likePlanarandGeodesic(only those two for now). More refactors for other functions to come in future releases of GeometryOps. - New function
forcexywhich is liketuplesbut removes all Z and M coordinates, andforcexyzwhich forces all coordinates to be 2.5D with some default z coordinate if the input does not already have one.
Merged pull requests: - Use GeometryOpsCore for real (#223) (@asinghvi17) - Better tests and testsets (#260) (@asinghvi17) - Fix package.json that stopped doc build (#261) (@asinghvi17) - Fix package.json that stopped doc build on main (#262) (@asinghvi17) - WIP Edge thinning for polygon intersection (#263) (@asinghvi17) - Bump patch versions (#265) (@asinghvi17)
Closed issues: - Type inference error for GI geometries (#241)
- Julia
Published by github-actions[bot] over 1 year ago
GeometryOps - v0.1.14
GeometryOps v0.1.14
Merged pull requests:
- Dump InteractiveUtils from Project (#225) (@asinghvi17)
- Fix flexi joins (#228) (@asinghvi17)
- do not export contains (#233) (@alex-s-gardner)
- Remove useless functions from notimplementedyet.jl (#237) (@asinghvi17)
- Check the dimensions of child geoms when rebuilding (#239) (@asinghvi17)
- Fix the inference issues in apply by removing @assume_effects :foldable (#245) (@asinghvi17)
- fix docs example (#250) (@gaelforget)
- Support GeometryBasics v0.5, bump patch version (#251) (@asinghvi17)
Closed issues:
- difference depends on order of polygons (#193)
- rename linear manifold to Euclidean? (#222)
- Bug in polygon tracing with intersect (#248)
- polygonize example in docs need fix (#249)
- Julia
Published by github-actions[bot] over 1 year ago
GeometryOps - v0.1.13
GeometryOps v0.1.13
Merged pull requests:
- Wrap all GEOS() results in GI wrappers (#216) (@asinghvi17)
- Make flatten work on tables too (#217) (@asinghvi17)
- Factor out primitives and types to GeometryOpsCore.jl (#220) (@asinghvi17)
Closed issues: - Coordinate Reference System dropped when GO.buffer() is used (#214)
- Julia
Published by github-actions[bot] over 1 year ago
GeometryOps - v0.1.12
GeometryOps v0.1.12
Merged pull requests:
- Add DataAPI metadata passthrough to apply (#211) (@asinghvi17)
Closed issues: - Extend GEOS() to polygon set ops (#204)
- Julia
Published by github-actions[bot] over 1 year ago
GeometryOps - v0.1.11
GeometryOps v0.1.11
Merged pull requests: - add macro to test all implementations (#135) (@rafaqz) - Add a convex hull algorithm (#160) (@asinghvi17) - Describe how to navigate docs (#165) (@asinghvi17) - Add "How to navigate the docs" to index.md (#171) (@asinghvi17) - fix typos (#180) (@spaette) - Minor documentation improvements (#181) (@asinghvi17) - Activate codecov (#196) (@asinghvi17) - fix testset string interpolation (#198) (@rafaqz) - fix error with undefined similar in polygonize (#202) (@tiemvanderdeure)
Closed issues:
- Test all available geometry sources (#134)
- isclockwise for polygons (#185)
- Julia
Published by github-actions[bot] almost 2 years ago
GeometryOps - v0.1.10
GeometryOps v0.1.10
Merged pull requests: - Intersection points (#164) (@skygering)
- Julia
Published by github-actions[bot] almost 2 years ago
GeometryOps - v0.1.9
GeometryOps v0.1.9
Merged pull requests: - Geometry creation tutorial (#151) (@asinghvi17) - Fix the buffer error hinter (#163) (@asinghvi17)
Closed issues: - buffererror_hinter errors when calling buffer and LibGEOS is not loaded (#162)
- Julia
Published by github-actions[bot] almost 2 years ago
GeometryOps - v0.1.8
GeometryOps v0.1.8
Merged pull requests: - Small clipping bug (#154) (@skygering)
Closed issues: - Centroid doesnt work with LibGEOS geoms (#159)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.7
GeometryOps v0.1.7
Merged pull requests:
- Implement a GEOS algorithm in an extension (#100) (@asinghvi17)
- Bump version to v0.1.7 (#150) (@asinghvi17)
Closed issues:
- polygonize should return a MultiPolygon, not a Vector of Polygon (#139)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.6
GeometryOps v0.1.6
Merged pull requests: - Sg/clipping errors (#146) (@skygering)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.5
GeometryOps v0.1.5
Merged pull requests:
- dont rebuild to GeometryBasics (#137) (@rafaqz)
- Fix polygonize (#141) (@rafaqz)
- Small changes to docs for polygonize (#142) (@asinghvi17)
- Enable exotic array polygonization (#143) (@asinghvi17)
- Add extent and CRS to features and featurecollections in polygonize (#144) (@asinghvi17)
- Add NaturalEarth.jl to docs/Project.toml (#145) (@asinghvi17)
Closed issues:
- apply does not work on GeometryBasics polygons (#133)
- polygonise doesn't work with negative values. (#140)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.4
GeometryOps v0.1.4
Merged pull requests: - Add more descriptive docs + some experiments (#108) (@asinghvi17) - Spatial joins (#113) (@asinghvi17) - CompatHelper: add new compat entry for SortTileRecursiveTree at version 0.1, (keep existing compat) (#125) (@github-actions[bot]) - Release v0.1.4 (#126) (@asinghvi17)
Closed issues: - Union of touching geometries is incorrect (#116)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.3
GeometryOps v0.1.3
Merged pull requests: - Minor fixes (see commits) (#101) (@asinghvi17) - Multipolygon Clipping (#102) (@skygering) - Debug and add to IntersectingPolygons (#107) (@skygering)
Closed issues:
- import everything from GeoInterface.jl and Extents.jl so users can just use GO.foo (#92)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.2
GeometryOps v0.1.2
Merged pull requests:
- Improvements from the Foster Extension (#78) (@skygering)
- Add support for tables to apply and applyreduce (#91) (@asinghvi17)
Closed issues: - Handle GeoInterface.jl compatible tables (#90)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.1
GeometryOps v0.1.1
Merged pull requests:
- Try to fix the polygonize source code Literate-ification (#80) (@asinghvi17)
- Remove more type instability (especially in applyreduce) (#84) (@asinghvi17)
- Add more docs to the primitive code explaining why this is awesome (#85) (@asinghvi17)
- Import all items from GeoInterface and Extents (#93) (@asinghvi17)
- convert to string rather than CRS in reproject (#95) (@rafaqz)
Closed issues: - Add polygon dissolve/union (#15) - Move Proj.jl to an extension (#54)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.1.0
GeometryOps v0.1.0
GeometryOps v0.1.0 is the second release of GeometryOps. Some new APIs and functions have been introduced and performance significantly improved.
New features
- A method for
coverage(the area inside a given box which the geometry fills) was added. - A geometry correction framework with
fixand one method,ClosedRing(), for it, was added. Others can be added in future. - A
segmentizemethod that corresponds to LibGEOS'sdensify, that upsamples any geometry more complex than a line, was added.
Code changes
- The implementation of
reprojecthas been factored out to an extension onProj.jl.- Provides an error hint if Proj isn't loaded and a user tries to use
reproject.
- Provides an error hint if Proj isn't loaded and a user tries to use
- Degeneracies are accounted for in polygon clipping (1/3 of the Foster extensions).
- ExactPredicates.jl support has been (temporarily) removed in favor of performance. This will be added back later, with the option to opt out of it.
- A basic benchmark suite has been introduced - many of the simpler operations show 10x improvements over LibGEOS.
- Multiple type stability fixes for
apply,applyreduce, and other methods. This also improved performance and decreased allocations. - Various comment changes and documentation improvements.
Merged pull requests: - Coverage (#60) (@skygering) - As/correction and benchmarking (#68) (@asinghvi17) - Geometry corrections (unofficial dev branch) (#69) (@asinghvi17) - CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#70) (@github-actions[bot]) - Line segmentization/densification methods (#71) (@asinghvi17) - Remove ExactPredicates Dependance (#72) (@skygering) - fix type stability of clipping methods (#74) (@rafaqz) - Remove meets and merge into correction and type stability branch (#77) (@asinghvi17)
Closed issues: - Clipping Type Instabilities (#73)
- Julia
Published by github-actions[bot] about 2 years ago
GeometryOps - v0.0.1
What's Changed
- add map primitive by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/1
- Add a
reprojectandflipmethod by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/2 - More primitives by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/6
- Fix doc build by @asinghvi17 in https://github.com/asinghvi17/GeometryOps.jl/pull/7
- Fix reproject by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/11
- simplify by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/3
- Barycentric coordinates by @asinghvi17 in https://github.com/asinghvi17/GeometryOps.jl/pull/10
- add polygonize by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/13
- Bools by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/5
- Improve bools by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/16
- extent calculation by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/18
- Make centroid use GeoInterface by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/19
- Sg/update intersects by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/21
- Sg/update intersects by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/22
- Thread for transformations like reproject, simplify, etc by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/24
- export RadialDistance by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/28
- Sg/area dist by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/27
- actually test embed_extent by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/29
- better primitives docs and comments, and some tweaks by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/30
- Sg/area dist debug by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/33
- faster area by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/36
- add transform method for coordinate transformations by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/35
- Sg/de9im reorganization by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/41
- Sg/de9im functions by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/42
- Fix simplifies by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/44
- add applyreduce method by @rafaqz in https://github.com/asinghvi17/GeometryOps.jl/pull/40
- Fix simplify bug by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/47
- Sg/debug simplifies by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/48
- Sg/calc angles by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/50
- Ll/polygon intersects by @LanaLubecke in https://github.com/asinghvi17/GeometryOps.jl/pull/53
- Sg/cut poly by @skygering in https://github.com/asinghvi17/GeometryOps.jl/pull/56
- Vitepress documentation! by @asinghvi17 in https://github.com/asinghvi17/GeometryOps.jl/pull/59
Full Changelog: https://github.com/asinghvi17/GeometryOps.jl/commits/v0.0.1
- Julia
Published by asinghvi17 over 2 years ago