Street intersection zoom to intersection

3761
2
Jump to solution
03-16-2014 02:17 PM
by Anonymous User
Not applicable
Original User: luke.kaim

Hi Everyone,

I want to add a custom button that zooms to a road intersection within ArcGIS. I know Python, php and SQL. I want to build a auto-complete drop down window for streets. I select the street and then the next drop down menu is all the road intersections to that street. Lets assume I already have a a road network with topology built.

I have my two tables. The first one being Streets and the second one being intersection. Ideally I want to do a left inner join on street and then zoom to that intersection. How would you go about building a custom popup button to do that?  I have read this: http://blogs.esri.com/esri/arcgis/2013/02/11/streetintersectionlist/, but that doesn't go into how to build a custom popup dialogue where you could input the first street and then the next drop down is all the intersections.

Is this possible within ArcGIS? That seems like a pretty powerful tool. I attached a picture of what I want it to look like.

Thank you,
Luke Kaim

Thank you
Luke Kaim (SIE)
Lucas.Kaim@maine.edu
(914)263-7866
???Sometimes the straight answer is the best answer.??? (Paul Sutton). Don't over think things.
0 Kudos
1 Solution

Accepted Solutions
RichardFairhurst
MVP Honored Contributor
Hi Everyone,

I want to add a custom button that zooms to a road intersection within ArcGIS. I know Python, php and SQL. I want to build a auto-complete drop down window for streets. I select the street and then the next drop down menu is all the road intersections to that street. Lets assume I already have a a road network with topology built.

I have my two tables. The first one being Streets and the second one being intersection. Ideally I want to do a left inner join on street and then zoom to that intersection. How would you go about building a custom popup button to do that?  I have read this: http://blogs.esri.com/esri/arcgis/2013/02/11/streetintersectionlist/, but that doesn't go into how to build a custom popup dialogue where you could input the first street and then the next drop down is all the intersections.

Is this possible within ArcGIS? That seems like a pretty powerful tool. I attached a picture of what I want it to look like.

Thank you,
Luke Kaim

Thank you
Luke Kaim (SIE)
Lucas.Kaim@maine.edu
(914)263-7866
???Sometimes the straight answer is the best answer.??? (Paul Sutton). Don't over think things.


I built my own using .Net.  However, drop downs don't work for me.  I have 36,000 unique street names in my database and a drop down with that many choices is unusable.  I also want to see the list of names without having to do any drop down for both sets of names.  As a result I make my users provide a seed value for at least the primary name and and they have to press a button to get a list box.  They click a name in the primary list box and the secondary list box automatically fills in for that street.

They can optionally provide a seed for the cross street as well.  The second seed results in a filter that applies to both the primary and secondary list boxes to show only the street set where both seeds are present.

Here is a screen shot of my dialog.  One with the result of just a Primary street seed and the other respecting a Secondary street seed.  Notice how long the list box scroll bar is in the dialog where the only restriction is that the Primary Street name must begin with "AL" and how short the Primary name list becomes with the addition of a Secondary name filter that requires the cross street to begin with the letters "SC" as well.  These two filters also speed it up a lot.  I just have to train my users not to type too many characters for the seeds and to just use about 3 characters for each seed.

It all is built against the Intersection points and never queries the Streets and it performs very fast.  Any sort of join would slow it down tremendously.  It also applies definition queries on the Intersections layer before hitting it with a cursor, and that makes the queries blazingly fast.  Notice also that the user can control the Zoom factor when they locate the point and the tool will also tell the  user if more than one intersection point has that pair of cross street names and allows them to zoom to each successively if the first returned intersection is not the one they want.

Anyway, I have secretaries using ArcMap with search tools like this.  Everyone in my organization can create a map in under a minute.  So it is obviously powerful and transforms the workflow and uses of ArcMap.

I now have 12 different custom search tools built on these principles which are launched from a central dialog.  Just be warned.  It takes a lot of code to build all of that behavior and over time I had to design several helper modules to reduce my development time.  Anyway, a custom designed tool built specifically for your data configuration will outperform any generic tool ESRI creates for searches, but that level of customization also means it takes more work to convert it to work with another configuration that structures the data differently.

View solution in original post

0 Kudos
2 Replies
RichardFairhurst
MVP Honored Contributor
Hi Everyone,

I want to add a custom button that zooms to a road intersection within ArcGIS. I know Python, php and SQL. I want to build a auto-complete drop down window for streets. I select the street and then the next drop down menu is all the road intersections to that street. Lets assume I already have a a road network with topology built.

I have my two tables. The first one being Streets and the second one being intersection. Ideally I want to do a left inner join on street and then zoom to that intersection. How would you go about building a custom popup button to do that?  I have read this: http://blogs.esri.com/esri/arcgis/2013/02/11/streetintersectionlist/, but that doesn't go into how to build a custom popup dialogue where you could input the first street and then the next drop down is all the intersections.

Is this possible within ArcGIS? That seems like a pretty powerful tool. I attached a picture of what I want it to look like.

Thank you,
Luke Kaim

Thank you
Luke Kaim (SIE)
Lucas.Kaim@maine.edu
(914)263-7866
???Sometimes the straight answer is the best answer.??? (Paul Sutton). Don't over think things.


I built my own using .Net.  However, drop downs don't work for me.  I have 36,000 unique street names in my database and a drop down with that many choices is unusable.  I also want to see the list of names without having to do any drop down for both sets of names.  As a result I make my users provide a seed value for at least the primary name and and they have to press a button to get a list box.  They click a name in the primary list box and the secondary list box automatically fills in for that street.

They can optionally provide a seed for the cross street as well.  The second seed results in a filter that applies to both the primary and secondary list boxes to show only the street set where both seeds are present.

Here is a screen shot of my dialog.  One with the result of just a Primary street seed and the other respecting a Secondary street seed.  Notice how long the list box scroll bar is in the dialog where the only restriction is that the Primary Street name must begin with "AL" and how short the Primary name list becomes with the addition of a Secondary name filter that requires the cross street to begin with the letters "SC" as well.  These two filters also speed it up a lot.  I just have to train my users not to type too many characters for the seeds and to just use about 3 characters for each seed.

It all is built against the Intersection points and never queries the Streets and it performs very fast.  Any sort of join would slow it down tremendously.  It also applies definition queries on the Intersections layer before hitting it with a cursor, and that makes the queries blazingly fast.  Notice also that the user can control the Zoom factor when they locate the point and the tool will also tell the  user if more than one intersection point has that pair of cross street names and allows them to zoom to each successively if the first returned intersection is not the one they want.

Anyway, I have secretaries using ArcMap with search tools like this.  Everyone in my organization can create a map in under a minute.  So it is obviously powerful and transforms the workflow and uses of ArcMap.

I now have 12 different custom search tools built on these principles which are launched from a central dialog.  Just be warned.  It takes a lot of code to build all of that behavior and over time I had to design several helper modules to reduce my development time.  Anyway, a custom designed tool built specifically for your data configuration will outperform any generic tool ESRI creates for searches, but that level of customization also means it takes more work to convert it to work with another configuration that structures the data differently.
0 Kudos
by Anonymous User
Not applicable
Original User: luke.kaim

Thank you rfairhur24. I guess I will be adding .net to my programming background very shortly.

That makes sense that querying one table would be faster then a join. Also road names probably don't change that much so a relational database is probably over kill.

How did you setup your point intersection feature class? Would asking to see a snippet of your .net code be pushing my luck? 🙂

Thank you,
Luke Kaim

Thank you
Luke Kaim (SIE)
Lucas.Kaim@maine.edu
(914)263-7866
0 Kudos