2

I am using ArcGIS version 10.3. I have two shapefiles (points and polylines) and I am trying to create a model in ArcGIS Model Builder to automate my task. What I have done so far is:

  1. Created new geometry around points using a buffer of 30m
  2. Intersected the new geometry with lines layer to select lines (streets) within 30m buffer
  3. Used an iterator to repeat this task for all points (87 points total)

Here is the screen shot of the model:

enter image description here

and here is output of the model.

enter image description here

and screen shot of output's attributes.

enter image description here

So far, I can view the address locations and buffered streets like this.

enter image description here

I have explained the layers as well. The scenario contains address and streets within 30m location. Each line feature contains the values of Annual Daily Traffic (ADT) from 1960 - 2005 (10 columns). The image above only shows the different ADT values of each line feature (using query tool). Can someone help me to?

  1. Select the nearest street with highest ADT value (there are 10 ADT columns in each line feature)?
  2. Shift my address location to that layer containing highest ADT value (this should create another layer for all addresses)?

Can someone help me to do that?

  • 1
    It's not clear to me what you actually need help with. Does this model work? If so, can you show a screenshot of the resulting streets_intersect table (or describe it enough so it can be seen what you have to work with)? The image of 3 tables for 2 feature classes minus any column headers is not helpful. Also, your context is good, but you need to break your question into steps. Start at the beginning and put one question per post. My first thought is that you might need the model to process one point and use the batch grid to batch it. – RHB Feb 9 '16 at 18:52
  • @RHB: Yes, the model works. For an address location (point feature), I need to find the nearest street within 30m buffer containing highest ADT value (please note that each line feature contains ADT value from 1965 - 2005). If condition is met within 30 m buffer, then point feature is shifted to that layer's location and ADT value is extracted to a .txt file output. If there is no street within 30m then the buffer distance is increased to 50m and process is repeated. There are 87 address locations (points) and this task needs to be iterated for all 87 locations. I am going to edit the question – khajlk Feb 9 '16 at 19:48
1

You'll need to design your workflow first, before you start model design. You'll need to figure out how to do your task before you can determine how to automate it. You'll need to post individual, specific questions.

That all said, below is a proposed workflow that I came up with. It is not the only way, but it should get you started thinking.

  1. Export Streets to Excel.
  2. Get rid of extraneous columns—make sure you keep the unique street identifier.
  3. Add two new columns to Streets: ADT_High_Value; ADT_High_Year.
  4. Use MAX formula to populate ADT_High_Value with the maximum ADT for each street record.
  5. Populate ADT_High_Year with column name associated with the high value (I am assuming you will need this). And sorry, I don’t know the formula off the top of my head; you or someone else will need to figure that out.
  6. Import updated Excel table back into ArcMap.
  7. Use the Join Field tool to append the two new fields to Streets (join by your unique identifier).
  8. Use the Generate Near Table tool. Link: http://pro.arcgis.com/en/pro-app/tool-reference/analysis/generate-near-table.htm. Create a buffer effect by using a search radius.
  9. This time, append the two new fields (from Streets) to the near table. Join by the near table’s IN_FID attribute and Street’s FID (may be called ObjectID).
  10. Export the near table to Excel.
  11. Use a pivot table to group by the IN_FID and get the near feature with the highest ADT and the associated year.
  12. Import the pivot table back to ArcMap. You should have one record for each IN_FID that is joined to the Street feature with the highest ADT.
  13. Now you can create an XY point event with the NEAR_X and NEAR_Y attributes. This will be a point on the Street nearest to the original point with the highest ADT (within your buffer).
  14. NOTE that there are ways to do the Excel pieces in ArcMap with the field calculator with python scripting, if you are up to that.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.