Skip to content
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

OverlayNG: Interpolate M values #802

Merged
merged 13 commits into from
Jan 26, 2023
Merged

OverlayNG: Interpolate M values #802

merged 13 commits into from
Jan 26, 2023

Conversation

dbaston
Copy link
Member

@dbaston dbaston commented Jan 18, 2023

This PR adds support for interpolation of M values in OverlayNG. M values from the input are preserved and M values at constructed points are populated via linear interpolation if possible. Unlike the Z dimension, the ElevationModel is not used to populate the M value of output coordinates that do not intersect segments with M values.

This does not cover all cases - for example, if snap-rounding is required, I expect that M values will be lost. I will work on adding test cases so that these usages can be covered.

By not assuming the use of the Coordinate type, these changes also move further in the direction of using XY inputs without carrying around a Z value.

@dbaston dbaston added the Enhancement New feature or feature improvement. label Jan 18, 2023
CMakeLists.txt Outdated Show resolved Hide resolved
@mwtoews
Copy link
Contributor

mwtoews commented Jan 18, 2023

Also web/content/usage/download.md will need to be updated to mention "C++14 compiler". There are several other instances, find them with:

 git grep -i "c++11"

@dbaston dbaston force-pushed the overlay-m branch 4 times, most recently from a7cbdaa to a0a2656 Compare January 20, 2023 16:40
@dbaston
Copy link
Member Author

dbaston commented Jan 24, 2023

@pramsey @dr-jts Are you comfortable with the semantics used for M values here? ("Interpolate like Z but don't use the ElevationModel")

@dr-jts
Copy link
Contributor

dr-jts commented Jan 24, 2023

Are you comfortable with the semantics used for M values here? ("Interpolate like Z but don't use the ElevationModel")

Yes, seems reasonable.

@dbaston
Copy link
Member Author

dbaston commented Jan 26, 2023

Performance is looking OK for the XY(Z) cases. Maybe a small regression in intersection of inputs that are already fully noded (triangulation results, world.wkt).

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or feature improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants