This is always a difficult discussion around what to do in these situations. i dont think it is really a matter of defining the VPI in the horizontal control or the Vertical Control it is more a matter of what you want to happen when you join lines that contain different elevations, and also how you are letting linestrings extend vertical or not before you join lines
Take two lines that are separated laterally. One line has elevation of 100 defined at one end (the far end away from the join) and the other line is elevation 110 at the point closest to where the two lines would be joined.
The options are
Join Line 1 to Line 2 - add a VPI at the end of line 1 = to the elevation of the line ie 100 so it locks down the elevation of line 1 to be 100 over its entire length and do the same for line 2 at elevation 110 - this will then give a line that has elevations 100, 100, 110, 110 with a slope between the two lines that follows the gap between the two lines
Join line 1 to line 2 - do not add VPIs at the end of the lines - you will now get elevations 100, undefined, 110, undefined and you will get a slope that starts at node 1 that goes all the way to node 4 if you have extend vertical enabled and that stops at node 3 if you do not have extend vertical enabled
This is the simple case
Now take two 3 point lines
Line 1 has elevation 100, 101, 102 and line 2 has elevations 105, undefned, undefined
Join the 2 together and you get 100, 101, 102, 105, undefined, undefined - again depending on how you have extend vertical set points 5 and 6 will either be undefined or set on a slope that extends between points 3 and 4.
Bottom line - there are so many options here - if you have contours they typically start out life as polylines with a constant elevation. we may convert them to linestrings so now they are linestrings with a single elevation at the start point). You could argue that we should add a VPI on the Start and End point of a constant height line so that this issue doesnât happen. I am sure that there are some downsides to that somewhere. I donât have any magical way today to automate this with current TMLs - but of course a tool that joins lines together could be âtaughtâ rules on how to handle elevation on joined lines - ie in this case if you wanted a slope between Line 1 and Line 2 but only between points 2 and 3 and you wanted line 1 and line 2 ie points 1 & 2 and 3 & 4 to hold the elevations of the original lines that could of course be done - but please provide the list of elevation option that you want for 3D single elevation lines and 3D multi elevation lines and lines where the start and end points donât have VPIs etc. and all combinations of how you want those handled - because I donât think that is a simple or easy list to create - In this case you dont feel TBC is doing the right thing - but in other situations it may well be doing the right thing - it all depends on the data and the situation.
You are however right to say that putting a slope from Start to end when you start out with two level lines (constant elevation) does not appear to be the correct answer and I have seen similar things personally.
Alan