-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: reimplement tessellation using shapely #538
Conversation
Got it down to |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #538 +/- ##
=======================================
- Coverage 97.5% 97.1% -0.5%
=======================================
Files 26 27 +1
Lines 4189 4210 +21
=======================================
Hits 4086 4086
- Misses 103 124 +21
|
Squeezed it under 10s to 9.77, 5x times faster than before with cleaner geometry (it resolves #537). It is at the moment less robust in terms of input data. Original tessellation does not error on overlapping polygons and similar issues. It produces erroneous geometry but produces something. This fails on GEOSException. I am not sure which way is better but I tend to say that geometries should be cleaned before running tessellation. We can probably provide some tooling for that, maybe on top of @sjsrey's Still missing support of LineString tessellation (edge points conflict) and enclosed tessellation. |
I'm thinking that since this is fairly generic polygon-based Voronoi tessellation it may be better to have it in libpysal.cg, no? Rather than hidden in momepy. |
When passing a ![]() |
Will be superseded by pysal/libpysal#678 |
Superseded by pysal/libpysal#678 and #559 |
WIP but f****ing hell how the time has changed what is possible now.
Performance comparison on 10k buildings - new
Wall time: 35 s
, oldWall time: 47.7 s
Still space for improvements I think. What is great is that GEOS gives us directly polygons which we know are topologically clean.