-
Notifications
You must be signed in to change notification settings - Fork 445
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
Z-interpolation by default regression #714
Comments
Is this theoretical, or is there actually code broken because of this change? |
We have a large suite of custom / data specific geometry validation rules that breaks because of this. |
I wondered why |
@FObermaier the |
But |
@FObermaier agree that could make sense but requires a more involved effort and is perhaps not the way to tackle the regression. |
Can you provide more detail about what semantics these tests are checking? E.g. Do they use the absence of Z as a way of determining vertices which have been added? I am curious about whether your use case involves your own custom way of computing Z, or you just don't want Z interpolated at all. |
The solutions for setting Z-interpolation on/off in order of increasing complexity seem to be:
The next level of complexity is to replace the flag with a Strategy object to provide custom Z interpolation, with built-ins for linear interpolation and no interpolation. |
@dr-jts it's not entirely easy to summarize but I'll try. In our case we have -999 to signify a "missing" Z-value and leave it up to the user to supply the Z-value with three different methods (manual, custom interpolation or derived from height model) but in most/best cases the data is produced "externally" from stereographic images and as such have a measured correct height. We then have lots of different rules that checks objects (and suggested changes to objects) and relations between objects and for some checks we track overlay results as the "error". It's an important feature that the "errors" we produce are reasonably stable. PS. In most cases we replace NaN with -999 late in the logic involved. |
I note that NTS has since way back introduced |
Time to get back to this after the summer break! @bjornharrtell so I assume that you would like to see the ability to disable Z-ordinate calculation as a permanent part of the JTS Overlay API? If so, I might spend some time thinking about how to provide this as an option to the Overlay API, rather than a "magic switch". This will require add this as a flag to |
@dr-jts I could make an attempt to rework into an option for the overlay API, is that still your preferred choice on how to approach this? |
@dr-jts I've done a spike on making it a flag to |
When OverlayNG was introduced in 1.18, missing Z-values became interpolated both in original Overlay and OverlayNG (and potentially elsewhere).
Past logic could rely on missing Z-values to be able to supply those values by other means as post processing so it can be seen as a breaking change for the original Overlay and potentially an undesirable feature of OverlayNG.
The text was updated successfully, but these errors were encountered: