{"id":184261,"date":"2013-02-11T18:08:32","date_gmt":"2013-02-11T18:08:32","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=184261"},"modified":"2018-12-18T11:26:49","modified_gmt":"2018-12-18T19:26:49","slug":"more-adventures-in-overlay-creating-a-street-intersection-list","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list","title":{"rendered":"More adventures in overlay: creating a street intersection list"},"author":3991,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,22841],"tags":[24321,68201,70121],"industry":[],"product":[36991],"class_list":["post-184261","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-local-government","tag-geoprocessing","tag-intersect","tag-spatial-join","product-arcgis-desktop"],"acf":{"short_description":"If you work in local government, your GIS shop is most likely responsible for maintaining a street centerline database.","flexible_content":[{"acf_fc_layout":"content","content":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/labeled_streets_1.jpg\" alt=\"\" width=\"341\" height=\"269\" \/><br \/>\nIf you work in local government, your GIS shop is most likely responsible for maintaining a street centerline database.\u00a0 And if you\u2019re the keeper of the street centerline database, you\u2019ve probably had requests to create a street intersection list\u2014a point feature class with attributes that list the names of the cross-streets. Typical uses for a street intersection list is inventory, inspection, and management of signs and other assets, as well as for input to E911 systems.\u00a0 They are also useful for quality assurance of the street centerline database.<\/p>\n<p>Creating a street intersection list is an interesting exercise in overlaying mixed feature types, in this case points and lines, as well as dealing with one-to-many relationships, so I thought it worthwhile to work through the steps as part of this series of blogs about overlay.<\/p>\n<h3>Download<\/h3>\n<p>You can download the data and models used in this post\u00a0<strong><a href=\"http:\/\/www.arcgis.com\/home\/item.html?id=dba6fd2502764abd85e1179e48477089\">here<\/a><\/strong>.<\/p>\n<h2>Strategy<\/h2>\n<p>The basic strategy is to first create a feature class of points where streets intersect. Then, using some sort of spatial search, construct a list of all the street names connected to each point. The last step can be done using the Spatial Join tool (in\u00a0<a href=\"http:\/\/blogs.esri.com\/esri\/arcgis\/2012\/12\/04\/spatialjoinfieldmap\/\">previous posts<\/a>, I showed how to use Spatial Join and its Field Map parameter to create such an attribute, and I\u2019ll use the same technique here).<\/p>\n<p>For my first attempt at creating a point feature class, I used the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Feature_Vertices_To_Points\/00170000003p000000\/\">Feature Vertices To Point<\/a>\u00a0tool, which seems to be the favorite starting point according to most message boards. Feature Vertices To Point creates a point for the first and last vertex of every street feature. The problem with this method is that it resulted in many more points than I needed. For example:<\/p>\n<ul>\n<li>One point is created for each line connected at an intersection. That means for a four-way intersections, four identical points are created where only one is needed. These extra points just get in the way and can slow down processing.<\/li>\n<li>Points are created at the ends of dead-end streets, and I\u2019m not interested in dead-ends since they aren\u2019t intersections\u2014there\u2019s only one connected street.<\/li>\n<li>Finally, points are created where two street features with the same name connect. This splitting of street features is typically due to an attribute change, such as a disconnect in address ranges as shown here, or a change in road class or some other non-name attribute.\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/pseudo.png\" alt=\"\" width=\"474\" height=\"137\" \/>The term I use for these intersections is \u2018pseudo-junction\u2019. Since the street name doesn\u2019t change at these pseudo-junctions, I\u2019m not interested in them either. (The split is hardly ever due to a change in street name\u2014except here in Redlands where we seem to have lots of streets that change names for no apparent reason.)<\/li>\n<\/ul>\n<p>Although the Feature Vertices To Point method gave me a starting set of points, I wanted a method that gave me a smaller starting set and less artifacts (dead-ends and pseudo-junctions).<\/p>\n<h2>Unsplitting lines<\/h2>\n<p>The first step is to run the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Unsplit_Line\/001700000040000000\/\">Unsplit Line<\/a>\u00a0tool using the street name field for the\u00a0<strong>Dissolve Field<\/strong>\u00a0parameter. Unsplit Line merges connected line features with the same street name, as shown below, where the red points represent the endpoints of the line features. The output has far fewer line segments then the input, and pseudo-junctions are removed.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/lawton.png\" alt=\"\" \/><\/p>\n<h2>Create intersections using the Intersect tool<\/h2>\n<p>The output of Unsplit Line is input to the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Intersect\/00080000000p000000\/\">Intersect<\/a>\u00a0tool, as shown in the model snippet below. Intersect creates points where line segments touch.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/intersect_model_and_dialog.png\" alt=\"\" width=\"402\" height=\"427\" \/><\/p>\n<ul>\n<li>When Intersect is run with one input feature class, the feature class is intersected with itself. You don\u2019t need to (or want to) input the same feature class twice.<\/li>\n<li>The\u00a0<strong>Output type<\/strong>\u00a0is POINT, meaning that the output features are points created where two streets intersect. The default value for\u00a0<strong>Output type<\/strong>\u00a0is INPUT, and if you specify INPUT, the output will be an empty line feature class.<\/li>\n<li>In this instance, the\u00a0<strong>JoinAttributes<\/strong>\u00a0is set to ONLY_FID, meaning that no attributes from the input features will be carried to the output feature class.<\/li>\n<\/ul>\n<h3>Removing duplicates<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/unsplit_intersections.png\" alt=\"\" width=\"233\" height=\"202\" \/><\/p>\n<p>The output of Intersect is a feature class with duplicate points at every intersection.\u00a0Note that there are no points created for dead-ends, nor are there any pseudo-junctions.\u00a0 To remove the duplicates, keeping only one of the duplicate points, use the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Delete_Identical\/001700000053000000\/\">Delete Identical<\/a>\u00a0tool as shown in the model snippet below.\u00a0 For the\u00a0<strong>Fields(s)<\/strong>\u00a0parameter in Delete Identical, use the Shape field.\u00a0 This deletes all but one of the points that share the same x,y location. (The Delete Identical tool requires an Advanced license.\u00a0 If you don\u2019t have Advanced, use the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Collect_Events\/005p0000003s000000\/\">Collect Events<\/a>\u00a0tool instead.)<\/p>\n<h2>Finding the intersecting streets with Spatial Join<\/h2>\n<p>The next step is to use the Spatial Join tool to create an attribute on the intersection points that lists all the streets that connect to the intersection.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/SJ_model2.png\" alt=\"\" width=\"570\" height=\"440\" \/><\/p>\n<p>This usage of Spatial Join depends upon defining a new output field (\u201cNames\u201d) in the\u00a0<strong>Field Map of Join Features<\/strong>\u00a0parameter. The first thing to do is to remove all the input fields from the Field Map control by highlighting the field and clicking the remove button. Then follow these steps, all illustrated below.<\/p>\n<ol>\n<li>Right-click within the\u00a0<strong>Field Map<\/strong>\u00a0control and choose\u00a0<strong>Add Output Field<\/strong>. The\u00a0<strong>Output Field Properties<\/strong>\u00a0dialog box opens.<\/li>\n<li>In the\u00a0<strong>Output Field Properties<\/strong>\u00a0dialog box, name the field \u201cNames\u201d. \u00a0 Do not use the same name as your input street name field (the one used in the Unsplit Lines tool). Choose\u00a0<strong>Text<\/strong>\u00a0for the\u00a0<strong>Type<\/strong>\u00a0of field, make its\u00a0<strong>Length<\/strong>\u00a0big enough to hold the concatenated field names (I chose 80).\u00a0 Choose\u00a0<strong>Join<\/strong>\u00a0for the\u00a0<strong>Merge Rule<\/strong>\u00a0and provide a delimiter \u2018 &amp; \u2018\u00a0 (space\/ampersand\/space). Click\u00a0<strong>OK<\/strong>.<\/li>\n<li>The field map will show this new output field. You now have to tell it what fields you want to join by right-clicking\u00a0<strong>Names<\/strong>\u00a0and choosing\u00a0<strong>Add Input Field<\/strong>. This opens the\u00a0<strong>Add Input<\/strong>\u00a0dialog box.<\/li>\n<li>In the\u00a0<strong>Add Input<\/strong>\u00a0dialog box, select the street name field (FULLNAME)\u00a0 and click\u00a0<strong>OK<\/strong>. The field map will now show the new field along with the input field that will create the values for the new field.<\/li>\n<li>For the\u00a0<strong>Join Operation<\/strong>\u00a0parameter, choose JOIN_ONE_TO_ONE.\u00a0 For the\u00a0<strong>Match Option<\/strong>, choose INTERSECT or WITHIN_A_DISTANCE.\u00a0 For either option, you can specify a\u00a0<strong>Search Radius<\/strong>.\u00a0 One meter is plenty.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/FieldMapSteps.png\" alt=\"\" width=\"448\" height=\"489\" \/><\/p>\n<p>The output of Spatial Join is shown below.\u00a0 For each point, the intersecting streets are found in the\u00a0<strong>Names<\/strong>\u00a0attribute, each street separated by the delimiter (an ampersand \u2018 &amp; \u2018 in this case).\u00a0 The Spatial Join tool creates the\u00a0<strong>Join_Count<\/strong>\u00a0attribute for you.\u00a0 This is the count of intersecting streets.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/SJ_output_table.png\" alt=\"\" width=\"523\" height=\"124\" \/><\/p>\n<h2>Exploring the results<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/loop.png\" alt=\"\" width=\"236\" height=\"190\" \/>The output of Intersect is a\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Processing_multipoint_data\/01m100000006000000\/\">multipoint<\/a>\u00a0feature class, meaning that one feature can contain more than one point.\u00a0 The majority of the intersections have just one point, but if a feature contains more than one point, it means that the streets intersect more than once, as shown in the figure to the left.<\/p>\n<p>To find features with more than one point, use the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Add_Field\/001700000047000000\/\">Add Field<\/a>\u00a0tool to add an integer field, and use the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Calculate_Field\/00170000004m000000\/\">Calculate Field<\/a>\u00a0tool with the following expression to find the number of points in the multipoint:<\/p>\n<pre>!shape.partcount!<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/CalcField_1.png\" alt=\"\" width=\"229\" height=\"179\" \/><\/p>\n<p>Any feature with two or more parts is a loop. The figure to the right shows the Calculate Field dialog. I named my field NumberOfIntersections. To display loops, I select intersections where NumberOfIntersections is greater than one.<\/p>\n<h3>Finding potential errors<\/h3>\n<p>The intersection features can help you find potential errors in the street features. For example, the map below shows an apartment complex where all the streets are named SUNRISE. This may or may not be a street name coding error, but to find these intersections and review them, you need a better way then visually scanning the table looking for issues.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/sunrise.png\" alt=\"\" width=\"397\" height=\"291\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/StreetCount_Dialog.png\" alt=\"\" width=\"311\" height=\"287\" \/>To facilitate finding errors, I calculated a new field, StreetCount, containing the number of unique street names at an intersection.<\/p>\n<p>The expression for Calculate Field is:<\/p>\n<pre>getLength(!Names!)<\/pre>\n<p>The getLength() routine code is as follows:<\/p>\n<div>\n<div id=\"highlighter_850397\" class=\"syntaxhighlighter python\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">def<\/code> <code class=\"python plain\">getLength(inNames):<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Create a list (array) by splitting the string on its delimiter<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">asList <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">inNames.split(<\/code><code class=\"python string\">\" &amp; \"<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Use the set operator to create a new list with unique names<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">uniqueList <\/code><code class=\"python keyword\">=<\/code> <code class=\"python functions\">set<\/code><code class=\"python plain\">(asList)<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Return the number of entries in the set<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python keyword\">return<\/code> <code class=\"python functions\">len<\/code><code class=\"python plain\">(uniqueList)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>To find potential issues, select records where\u00a0<strong>StreetCount<\/strong>\u00a0is not equal to\u00a0<strong>Join_Count<\/strong>, as shown below.\u00a0 Join_Count is the number of intersecting features while StreetCount is the number of unique street names. It they\u2019re not equal, then there are multiple features with the same name at the intersection and I need to investigate further.<br \/>\n<img decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/StreetCount_Table.png\" alt=\"\" \/><\/p>\n<h3>Ramps and limited access highways<\/h3>\n<p>You probably don\u2019t want to create intersections where surface streets cross limited access highways, or where ramps connect limited access highways and surface streets.\u00a0 You can avoid processing these streets by selecting just those centerlines you\u2019re interested in, as shown in the model snippet below.<br \/>\n<img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/IntersectionList\/MFL.png\" alt=\"\" \/><\/p>\n"}],"authors":[{"ID":3991,"user_firstname":"Dale","user_lastname":"Honeycutt","nickname":"dmhoneycutt","user_nicename":"dmhoneycutt","display_name":"Dale Honeycutt","user_email":"dhoneycutt@esri.com","user_url":"","user_registered":"2018-03-02 00:15:37","user_description":"","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>More adventures in overlay: creating a street intersection list<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"More adventures in overlay: creating a street intersection list\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-18T19:26:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\"},\"author\":{\"name\":\"Dale Honeycutt\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088\"},\"headline\":\"More adventures in overlay: creating a street intersection list\",\"datePublished\":\"2013-02-11T18:08:32+00:00\",\"dateModified\":\"2018-12-18T19:26:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"geoprocessing\",\"intersect\",\"spatial join\"],\"articleSection\":[\"Analytics\",\"Local Government\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\",\"name\":\"More adventures in overlay: creating a street intersection list\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2013-02-11T18:08:32+00:00\",\"dateModified\":\"2018-12-18T19:26:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"More adventures in overlay: creating a street intersection list\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088\",\"name\":\"Dale Honeycutt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=96&d=blank&r=g\",\"caption\":\"Dale Honeycutt\"},\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"More adventures in overlay: creating a street intersection list","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list","og_locale":"en_US","og_type":"article","og_title":"More adventures in overlay: creating a street intersection list","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T19:26:49+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list"},"author":{"name":"Dale Honeycutt","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088"},"headline":"More adventures in overlay: creating a street intersection list","datePublished":"2013-02-11T18:08:32+00:00","dateModified":"2018-12-18T19:26:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list"},"wordCount":9,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["geoprocessing","intersect","spatial join"],"articleSection":["Analytics","Local Government"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list","name":"More adventures in overlay: creating a street intersection list","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2013-02-11T18:08:32+00:00","dateModified":"2018-12-18T19:26:49+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-creating-a-street-intersection-list#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"More adventures in overlay: creating a street intersection list"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088","name":"Dale Honeycutt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5431fd1559b9dcbc86438ecb083710d6710a1a74625018e6378d57ab2d6149fe?s=96&d=blank&r=g","caption":"Dale Honeycutt"},"url":""}]}},"text_date":"February 11, 2013","author_name":"Dale Honeycutt","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcMap","tag_data":[{"term_id":24321,"name":"geoprocessing","slug":"geoprocessing","term_group":0,"term_taxonomy_id":24321,"taxonomy":"post_tag","description":"","parent":0,"count":131,"filter":"raw"},{"term_id":68201,"name":"intersect","slug":"intersect","term_group":0,"term_taxonomy_id":68201,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"},{"term_id":70121,"name":"spatial join","slug":"spatial-join","term_group":0,"term_taxonomy_id":70121,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1333,"filter":"raw"},{"term_id":22841,"name":"Local Government","slug":"local-government","term_group":0,"term_taxonomy_id":22841,"taxonomy":"category","description":"","parent":0,"count":557,"filter":"raw"}],"product_data":[{"term_id":36991,"name":"ArcMap","slug":"arcgis-desktop","term_group":0,"term_taxonomy_id":36991,"taxonomy":"product","description":"","parent":36981,"count":325,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-desktop","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/184261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/3991"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=184261"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/184261\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=184261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=184261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=184261"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=184261"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=184261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}