Replies: 4 comments 2 replies
-
This is quite exciting - thanks, @msbarry . I'll look at it in more detail in the coming days. It would be great if you can do a reasonably clean implementation of Additional ideas to look at:
|
Beta Was this translation helpful? Give feedback.
-
Agreed, that should be a separate PR. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to understand this approach a bit better... From what I can tell So the difference here would be that we'd use It also looks like |
Beta Was this translation helpful? Give feedback.
-
Yes, a Alternatively, as you suggest there could be a There could even be an implementation which merges the Monotone Chain idea with the Sequence Packed Ring idea, to avoid creating separate MonotoneChain objects. This is obviously a lot of coding and testing to determine which is best (and "best" may be data-specific). |
Beta Was this translation helpful? Give feedback.
-
Hello! While profiling performance of planetiler I noticed that STRtree in MCIndexNoder was one of the bottlenecks. I looked into HPRtree and saw there were a few opportunities to improve performance using some ideas from the flatbush library:
This version performs faster in some of the microbenchmarks (especially when result sets are large) but when I swap out STRtree with this improved HPRtree planetiler spends about 30% less time in MCIndexNoder.computeNodes, isValid checks, and about 10% less time in the most expensive operations planetiler uses: GeometryPrecisionReducer.reduce and bufferUnionUnbuffer.
Here's a preview of what I've got: https://github.com/locationtech/jts/compare/master...msbarry:jts:hprtree?expand=1 - what do you think about incorporating this change into JTS @dr-jts ? One concern is that sortItemsIntoNodes method was ported directly from flatbush. I could either cite that or do a clean-slate implementation?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions