+ Reply to Thread
Results 1 to 7 of 7

Thread: Automatically assign downstream Node IDs to upstream pipes

  1. #1
    Brian Lendt
    Join Date
    Sep 2010
    Posts
    3
    Points
    0
    Answers Provided
    0


    0

    Default Automatically assign downstream Node IDs to upstream pipes

    I was wondering if there was a tool in which you can assign the ID of a manhole to all manholes (or pipes) that connect upstream. To illustrate, I have have a backbone representation of a sewer network for hydraulic modeling purposes. I would like to automatically assign the IDs of modeled manholes along the backbone network to non-modeled manholes that connect downstream to a modeled manhole. Hopefully the attached image illustrates my question.

    Thanks in advance!

    Brian
    Attached Thumbnails Attached Thumbnails Click image for larger version

Name:	AssignDownstreamNodeID.jpg‎
Views:	246
Size:	96.3 KB
ID:	11860  

  2. #2
    Andy Kuster
    Join Date
    Apr 2010
    Posts
    1
    Points
    0
    Answers Provided
    0


    0

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    Did you ever get this figured out? I'd like to do the same with our Stormwater dataset (assign upstream and downstream id's to pipes).

  3. #3
    Graham Wood
    Join Date
    Apr 2010
    Posts
    58
    Points
    5
    Answers Provided
    0


    1

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    Attribute assitant can do this if they participate in a geometric network.. Atrribute Asistant takes a while to set up but it does provide some great data-model support.

    the FROM_JUNCTION_FIELD and TO_JUNCTION_FIELD functions are the ones you are looking for

  4. #4
    Brian Lendt
    Join Date
    Sep 2010
    Posts
    3
    Points
    0
    Answers Provided
    0


    0

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    I found a great tool in ArcHydro 2.0 for ArcGIS 10 called "Accumulate Attributes". Basically you select the downstream nodes that you want to assign the cumulative upstream information to, select the source field / target fields and run the tool. It doesn't populate the downstream ID to upstream nodes, but the function that it performs is exactly what I needed in the end.

  5. #5
    Patrick Moulden
    Join Date
    May 2012
    Posts
    22
    Points
    3
    Answers Provided
    0


    0

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    Its also possible to do this by dissolving the lines in your sewer network, executing two separate Features Vertices to Point functions (one for upstream points and one for downstream nodes), at this point if your nodes represent features that are matched in another layer (such as Manholes) you can use a spatial join to import those structure IDs into your new upstream and downstream nodes layers. Once your upstream and downstream features have IDs you can use another series of joins to add the ID's to your original (un-dissolved) sewers layer.

    It could look something like this
    Click image for larger version

Name:	Export Graphic.jpg
Views:	157
Size:	28.6 KB
ID:	15459
    Note that this model is not a working version of what we came up as a solution, the final version was much more complicated and had to be completed with python to be flexible with incomplete data sets and poorly interconnected sewer features.

  6. #6
    Joshua Damron
    Join Date
    Aug 2010
    Posts
    201
    Points
    34
    Answers Provided
    4


    0

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    I know that this is an older thread, but here is a recent post that may help with this discussion: http://forums.arcgis.com/threads/878...flow-direction
    Joshua Damron
    City of Healdsburg
    Department of Public Works
    www.ci.healdsburg.ca.us/

    Arc/Info 10.2
    Small Government ELA
    Windows XP Pro x64

    Help people like me find answers! If your question was answered don't forget to click the mark as answer check at the right hand side of the post.

  7. #7
    Jen Aboaf
    Join Date
    Jul 2010
    Posts
    11
    Points
    0
    Answers Provided
    0


    0

    Default Re: Automatically assign downstream Node IDs to upstream pipes

    Here is my solution for those who don't have a geometric network and need to attribute upstream and downstream manholes in your sanitary sewer mains layer. You'll need to follow the steps in sequence. But you won't need to download any software, or use additional extensions or resources other than a basic ArcGIS license. I developed this technique to attribute my layer for use in Pipelogix software (for televising sewer mains).

    HOW TO ATTRIBUTE MAINS WITH UPSTREAM AND DOWNSTREAM MANHOLE IDS

    1) Use Python code to attribute manholes and mains with unique IDs. I used this one. Next, add -4- DOUBLE precision items to your mains attribute table. Call them:

    FromNodeX
    FromNodeY
    ToNodeX
    ToNodeY

    2) For each of the above items, select the column and calculate the corresponding Geometry:

    FromNodeX - X Coordinate Line Start
    FromNodeY - Y Coordinate Line Start
    ToNodeX - X Coordinate Line End
    ToNodeY - Y Coordinate Line End

    3) Export the MAINS attribute table to a dbf file and add this table to your table of contents.

    4) Right click on the new table and use ADD XY to create two new point layers, one for FromNodeX & FromNodeY coordinates and one for the ToNodeX & ToNodeY coordinates. Name the FromNode (Start) layer "Upstream MH" and the ToNode (End) layer "DownstreamMH".

    5) Use Spatial Join to join the manholes layer to the new Upstream and Downstream MH point layers. Use the match option "Intersect" and add a search radius of around 5 feet (could be more or less, depending on your features). You are now adding the Manhole IDs to both the Upstream and Downstream manhole layers. You will create two new point layers, one for the upstream MH and one for the downstream MH. Call your two new point layers: UpstreamMH1 & DownstreamMH1. Your new layers will contain both the Main ID and corresponding Manhole ID.

    6) With the attribute table open, add two new TEXT items to your Mains layer: UpstreamMH and DownstreamMH. You will perform two table JOINS, one at a time. First, JOIN the UpstreamMH1 attribute table to the MAINS attribute table. Use the Mains-ID as your join item. Open the attribute table. Calculate the UpstreamMH column in the Mains table to the MH-ID from the joined table. Then, remove the join. Next, Join the DownstreamMH1 layer and calculate the Downstream MH column with the joined item value. Finally, remove the Join.

    7) Check your work by labeling each main with its MainID, UpstreamMH and DownstreamMH in one color. Then, label the Manholes with the MH-ID in a contrasting color. As long as your mains were oriented correctly, and a manhole existed at every start and ending point, your work should be mostly done.

    8) Clean up any null values. Edit the mains layer and sort the upstreamMH and downstreamMH columns, one at a time. Zoom to each main with a null manhole ID and fix the problem.

    BONUS: HOW TO ATTRIBUTE MAINS WITH STREET NAMES

    1) Start with a good street centerline layer. Buffer the centerlines with a minimum distance of 30 feet for local roads. Even better, vary the buffer distance by the street class, giving a larger distance for highways and major roads.

    2) Use Spatial Join on your mains layer to the buffered street layer. Choose the match option: Have their Center In.

    3) Join the attribute table from your new spatial joined layer to the original mains layer, using the MainsID.

    4) Calculate the Street name column to the joined street name and voila, your mains are now attributed with the street name.


    ** Feel free to leave a comment or question on this method. I admit, there might be more simple way, but this method worked on a large mains layer with over 1500 manholes.
    Last edited by jkaboaf; 04-11-2014 at 12:15 PM.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts