wagyu
wagyu copied to clipboard
A general library for geometry operations of union, intersections, difference, and xor
It is not intuitive right away how the intersection processing and the snap rounding is done in the code. Documentation should be added and put in the `/docs` directory of...
I've written [pure Python port](https://github.com/lycantropos/wagyu) with separate C++ binding (available on [PyPI](https://pypi.org/project/wagyu/)), according to pseudo-randomized tests it is equivalent to the original C++ code. Also locally I've tried to use...
Added a new test after extensive fuzzing that found a new failure case. The testcase has been added in the https://github.com/mapbox/wagyu/tree/spike_failure branch. Resulting polygon with failure:  Original polygon from...
mapbox::geometry class templates are container neutral, that is, I can set container type as second template argument. On the other hand, all geometry types in wagyu uses default argument which...
The example code utilizes 64bit integer, but it does not support 64bit integer actually. For instance, slope comparison is done with multiplication of two coordinate delta and therefore, one if...
Is it okay to call wagyu::execute() multiple times on same wagyu instance? Or, should I build new wagyu instance for each execution? Here are some example usecases: * add/add/execute(union)/execute(difference) *...
Why I do intersection with wagyu return 'MULTIPOLYGON EMPTY',but do intersection with GEOS return a geometry object? e.g. select st_astext(st_intersection(ST_GeomFromText('POLYGON((2600140.901 -603782.437400002, 2600545.2722 -603782.437400002, 2600545.2722 -603279.563999999, 2600140.901 -603279.563999999, 2600140.901 -603782.437400002))', 3857),...
In context of https://github.com/mapbox/mapbox-gl-native/issues/15268: if the original polygons are correct, there is no need to provide result that reorders original and return true. Client then constructs another container, copying and...
It would be very interesting to see how Wagyu compares against GEOS/MakeValid in PostGIS both from performance and accuracy. It seems that the method for PostGIS is located [here](https://github.com/postgis/postgis/blob/bd3177743db5cb786deb05d7327f39a5cec2daf6/liblwgeom/lwgeom_geos_clean.c#L373-L667) and...
@flippmoke this queues up a PR that uses LLVM 7. LLVM 7 brings in a lot more clang-tidy checks, so that job is failing. I put this up as a...