I have a contour dilemma. Using Microstation, 1-ft contours have been made on a til-by-tile basis in our project. These DGNs were imported into a GDB, so the polylines have already been merged together. There are four types of contours in this dataset (index, intermediate, index depression, and intermediate depression). I have unsplit the lines based on elevation and contour type. The problem I am having is that Microstation was not consistent in specifying contour type. So, from tile to tile a contour may have two different types. I would like to unsplit the lines so that the resulting line retains the attributes of the longer feature. Does anyone know of a way I can achieve this? Or, is there a way to prevent this in Microstation? Much appreciation in advance.

Example of changing contour types.  The green and blue lines are depressions.  Notice how they change from tile to tile (black lines)

EDIT: I have increased my model buffer to include more model key points. This removes many of the smaller errors (contours that are within x distance of the processing tile) but larger errors (contours that extend outside of x distance) remain. Increasing my model buffer to include more tiles also dramatically increases processing time. Small projects that allow me to increase the model buffer to include all tiles does not produce errors. This, however, is not possible on large projects.

  • 1
    You say you want to unsplit the contours, but they must already be unsplit as you could not have a change in symbology. So when you say you have merged the data you have simply appended datasets together and not actually merged the geometries into single geometries? The image suggests this. You could extract the end points, using these points to select by location on polylines, sort by length and write this information out. Could be done in modelbuilder (fiddly) but probably easiest in python. – Hornbydd Aug 28 '13 at 20:54
  • @Hornbydd Your assumptions are correct, and I believe your comment may be my solution. Do you know of a way, in python, to iterate through endpoints of lines? – Barbarossa Sep 27 '13 at 15:48
  • Feature Vertices to Points has options for END and BOTH_ENDS if you think this will help your situation. Perhaps iterate through your polyline points and do something if it is identical to an endpoint from the aforementioned tool? Or smarter would be to enumerate the list and process points at index 0 and index len(list)-1 - the first and last points. – John Sep 15 '15 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.