{"id":183361,"date":"2012-12-04T22:37:12","date_gmt":"2012-12-04T22:37:12","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=183361"},"modified":"2018-12-18T11:26:50","modified_gmt":"2018-12-18T19:26:50","slug":"more-adventures-in-overlay-spatial-join-and-the-field-map","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map","title":{"rendered":"More adventures in overlay: Spatial Join and the Field Map"},"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],"tags":[24321,39581,28481,70121],"industry":[],"product":[36991],"class_list":["post-183361","blog","type-blog","status-publish","format-standard","hentry","category-analytics","tag-geoprocessing","tag-overlapping-polygons","tag-overlay","tag-spatial-join","product-arcgis-desktop"],"acf":{"short_description":"The model described in that post used used the sample\u00a0\u00a0Concatenate Row Values\u00a0 tool available from the\u00a0Analysis and Geoprocessing Tool Gallery.","flexible_content":[{"acf_fc_layout":"content","content":"<p>In my\u00a0<a title=\"More adventures in overlay: spaghetti, meatballs, and the one-to-many problem\" href=\"http:\/\/blogs.esri.com\/esri\/arcgis\/2012\/11\/26\/spaghetti_meatballs_one_to_many\/\" target=\"_blank\" rel=\"noopener\">last blog post<\/a>\u00a0I showed how you could resolve 1:M relationships found in overlapping polygons using the spaghetti and meatballs technique. The model described in that post used used the sample\u00a0<a href=\"http:\/\/www.arcgis.com\/home\/item.html?id=52dfcef46fdb4c76bfbc08dc01570f3c\" target=\"_blank\" rel=\"noopener\">\u00a0Concatenate Row Values<\/a>\u00a0 tool available from the\u00a0<a href=\"http:\/\/www.arcgis.com\/home\/group.html?owner=ArcGISTeamAnalysis&amp;title=Analysis%20and%20Geoprocessing%20Tool%20Gallery&amp;content=all\" target=\"_blank\" rel=\"noopener\">Analysis and Geoprocessing Tool Gallery<\/a>.<\/p>\n<p>The Concatenate Row Values tool works on any table and is useful for a wide variety of situations. But you can also configure the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Spatial_Join\/00080000000q000000\/\" target=\"_blank\" rel=\"noopener\">Spatial Join<\/a>tool to do the same job as Concatenate Row Values by using the power of the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Using_the_field_mapping_control\/00210000000s000000\/\" target=\"_blank\" rel=\"noopener\">Field Map<\/a>\u00a0control found in the Spatial Join.<\/p>\n<h3>Download<\/h3>\n<p>You can download the data and models I used in this blog\u00a0<a href=\"http:\/\/www.arcgis.com\/home\/item.html?id=3e8744e0be14461eb0367504cd24a965\" target=\"_blank\" rel=\"noopener\"><strong>here<\/strong><\/a>.<\/p>\n<h1>The scenario<\/h1>\n<p>Figure 1 shows the goal: create non-overlapping polygons and calculate the combination of species within each polygon. In the figure, the legend shows all the unique combinations of species, with each species separated by a hyphen. The labels in the map are \u2018stacked\u2019\u2014each species within the polygon is on a separate line (as opposed to a single line as shown in the legend).<\/p>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/Stacked_labels.png\" alt=\"\" width=\"564\" height=\"307\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 1: Unique combinations of ranges<sup>1<\/sup><\/p>\n<\/div>\n<p>This post assumes you\u2019ve read the previous post since I\u2019m going to dive right into the use of Spatial Join.<\/p>\n<h1>Using the Field Map in Spatial Join<\/h1>\n<p>The previous post showed the details of a model that created spaghetti and meatballs and then used Spatial Join to perform a point-in-polygon overlay. In that model, the\u00a0<strong>Join Operation<\/strong>\u00a0for Spatial Join was JOIN_ONE_TO_MANY and the result was a point feature class with one point for each overlapping polygon. In addition, each point had the species name (the ENGL_NAME attribute) of the overlapping polygon. Using the\u00a0Concatenate Row Values tool, the All_Names attribute was calculated by appending the values of ENGL_NAME and separating them with \u2018 \u2013 \u2018 (space\/hyphen\/space). The result of Concatenate Row Value is shown in Figure 2. \u00a0 This result table was joined the spaghetti polygons by ORIG_ID and the All_Names field was copied over to the spaghetti polygons to create the\u00a0 map shown in Figure 1 above.<\/p>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\" \" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/contcat_table.png\" alt=\"\" width=\"664\" height=\"217\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 2: The All_Names field is a concatenation of the ENGL_NAME field for all records with the same ORIG_FID<\/p>\n<\/div>\n<p>The\u00a0Concatenate Row Values tool works on any table and is useful for a wide variety of situations. But you can also configure the Spatial Join tool to do the same job with its\u00a0<strong>Field Map<\/strong>\u00a0parameter. Figure 3 shows a model that is exactly the same as the model in the previous blog post but with a different usage of Spatial Join.<\/p>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\" \" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/Spatial_JoinFM_1.png\" alt=\"\" width=\"593\" height=\"538\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 3: Creating spaghetti and meatballs and overlaying the meatballs with the original (non-overlapping) polygons using Spatial Join<\/p>\n<\/div>\n<p>This usage of Spatial Join depends upon defining a new output field (All_Names) in the\u00a0<strong>Field Map of Join Features<\/strong>\u00a0parameter.\u00a0 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.\u00a0 Then follow these steps, all illustrated in figure 4.<\/p>\n<ol>\n<li>Right-click within the Field Map control and choose\u00a0<strong>Add Output Field<\/strong>.\u00a0 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 All_Names, 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 100).\u00a0 Choose\u00a0<strong>Join<\/strong>\u00a0for the\u00a0<strong>Merge Rule<\/strong>\u00a0and provide a delimiter (space\/hypen\/space).\u00a0 Click\u00a0<strong>OK<\/strong>.<\/li>\n<li>The Field Map will show this new output field.\u00a0 You now have to tell it what fields you want to join by right-clicking All_Names and choosing\u00a0<strong>Add Input Field<\/strong>.\u00a0 This opens the\u00a0<strong>Add Input<\/strong>\u00a0dialog box.<\/li>\n<li>In the\u00a0<strong>Add Input<\/strong>\u00a0dialog box, select the ENGL_NAME attribute and click\u00a0<strong>OK<\/strong>.\u00a0 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.<\/li>\n<\/ol>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/FieldMapSteps.png\" alt=\"\" width=\"441\" height=\"468\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 4: Adding a new output field that will concatenate the values of ENGL_NAME<\/p>\n<\/div>\n<p>In the model, the output of Spatial Join is a new point feature class named Combinations. Figure 5 shows the Combinations attribute table. As you can see, the values of ENGL_NAME are joined together and each name is separated by \u2018 \u2013 \u2018. Spatial Join determined the Bovidea Ranges polygons that enclosed each meatball point, gathered together the values of ENGL_NAME from each of the enclosing polygons, then joined these values together using the delimiter.<\/p>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/Spatial_Join_Output.png\" alt=\"\" width=\"415\" height=\"272\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 5: Output of Spatial Join<\/p>\n<\/div>\n<h1>The sort issue<\/h1>\n<p>In figure 5 above, I highlighted two records, TARGET_FID 51 and 57. Note that they have exactly the same species but they\u2019re listed in different order. This different order means you can\u2019t compare the values of All_Names. Even though they have the same species their All_Names values aren\u2019t equivalent.<\/p>\n<p>This is easy to fix using the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Calculate_Field\/00170000004m000000\/\" target=\"_blank\" rel=\"noopener\">Calculate Field<\/a>\u00a0tool and a bit of Python code, illustrated in Figure 6.<\/p>\n<div class=\"wp-caption alignnone\">\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/downloads.esri.com\/Blogs\/analysis\/SpaghettiAndMeatballs2\/CalcField.png\" alt=\"\" width=\"383\" height=\"252\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 6: Using Calculate Field to sort the values of All_Names<\/p>\n<\/div>\n<p>The value of the\u00a0<strong>Expression<\/strong>\u00a0parameter is:<\/p>\n<pre>sortValues(!All_Names!)<\/pre>\n<p>The code for the\u00a0<strong>Code Block<\/strong>\u00a0parameter follows.\u00a0 This code block defines a routine named\u00a0<em>sortValues<\/em>\u00a0that is used in the\u00a0<strong>Expression\u00a0<\/strong>parameter.<\/p>\n<div>\n<div id=\"highlighter_201314\" 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<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/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\">sortValues(species):<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Ignore null values (artifact polygons)<\/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 keyword\">if<\/code> <code class=\"python plain\">species <\/code><code class=\"python keyword\">=<\/code><code class=\"python keyword\">=<\/code> <code class=\"python color1\">None<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python keyword\">return<\/code> <code class=\"python plain\">species<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Create a Python list by splitting the string on the delimeter<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">species_as_list <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">species.split(<\/code><code class=\"python string\">' - '<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Sort the list<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">species_as_list.sort()<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\"># Reassemble the string from the sorted list<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python comments\">#<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">rval <\/code><code class=\"python keyword\">=<\/code> <code class=\"python string\">\" - \"<\/code><code class=\"python plain\">.join(species_as_list)<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python keyword\">return<\/code> <code class=\"python plain\">rval<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h1>Joining the meatballs back to the spaghetti<\/h1>\n<p>With the All_Names field now sorted, the next step is to join the spaghetti polygons and their meatball points and copy the All_Names field over to the spaghetti polygons using the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Join_Field\/001700000065000000\/\" target=\"_blank\" rel=\"noopener\">Join Field<\/a>\u00a0tool. TARGET_FID is the OBJECTID of the centroid (Meatball) point, which is also the OBJECTID of the spaghetti polygon.<\/p>\n<h1>Artifact polygons<\/h1>\n<p>Just as with the previous post, artifact polygons need to be removed. In Figure 5 above, the record where TARGET_FID = 60 is an artifact polygon; there is no polygon in Bovidae Ranges that encloses the point. After joining and copying All_Names to the spaghetti polygons, the artifact polygons can be selected with the expression:<\/p>\n<pre>\"All_Names\" IS NULL<\/pre>\n<p>and deleted using the\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Delete_Features\/001700000036000000\/\" target=\"_blank\" rel=\"noopener\">Delete Features<\/a>\u00a0tool.<\/p>\n<h1>Comparing the two techniques<\/h1>\n<p>The previous post used the sample\u00a0Concatenate Row Values tool while this post used nothing but system tools.\u00a0Concatenate Row Values works on any table, such as one output by other overlay tools such as\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Intersect\/00080000000p000000\/\" target=\"_blank\" rel=\"noopener\">Intersect\u00a0<\/a>or\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Identity\/00080000000n000000\/\" target=\"_blank\" rel=\"noopener\">Identity<\/a>. The field map control is available in Spatial Join and a few other tools such as\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Merge\/001700000055000000\/\" target=\"_blank\" rel=\"noopener\">Merge<\/a>,\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Append\/001700000050000000\/\" target=\"_blank\" rel=\"noopener\">Append<\/a>, and\u00a0<a href=\"http:\/\/resources.arcgis.com\/en\/help\/main\/10.1\/index.html#\/Feature_Class_To_Feature_Class\/001200000020000000\/\" target=\"_blank\" rel=\"noopener\">Feature Class To Feature Class<\/a>. The choice of which technique to use is up to you. When creating a one-off model to be used with a specific set of data, I tend to use the Field Map method. But when my model is going to be used with a variety of different data with different attributes, I tend to use the Concatenate Row Values tool since it\u2019s easier to change its simple parameters than manipulate a field map.<\/p>\n<p>The\u00a0<a href=\"http:\/\/blogs.esri.com\/esri\/arcgis\/2013\/02\/11\/streetintersectionlist\/\" target=\"_blank\" rel=\"noopener\">next post<\/a>\u00a0in this series about overlay shows how to create a street intersection list by overlaying lines to create points at their intersections.<\/p>\n<p><sup>1<\/sup>\u00a0<em>Data provided by NatureServe in collaboration with Bruce Patterson, Wes Sechrest, Marcelo Tognelli, Gerardo Ceballos, The Nature Conservancy \u2013 Migratory Bird Program, Conservation International \u2013 CABS, World Wildlife Fund \u2013 US, and Environment Canada \u2013 WILDSPACE.<\/em><\/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: Spatial Join and the Field Map<\/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-spatial-join-and-the-field-map\" \/>\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: Spatial Join and the Field Map\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\" \/>\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:50+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-spatial-join-and-the-field-map#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\"},\"author\":{\"name\":\"Dale Honeycutt\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088\"},\"headline\":\"More adventures in overlay: Spatial Join and the Field Map\",\"datePublished\":\"2012-12-04T22:37:12+00:00\",\"dateModified\":\"2018-12-18T19:26:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\"},\"wordCount\":10,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"geoprocessing\",\"Overlapping Polygons\",\"overlay\",\"spatial join\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\",\"name\":\"More adventures in overlay: Spatial Join and the Field Map\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2012-12-04T22:37:12+00:00\",\"dateModified\":\"2018-12-18T19:26:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"More adventures in overlay: Spatial Join and the Field Map\"}]},{\"@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: Spatial Join and the Field Map","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-spatial-join-and-the-field-map","og_locale":"en_US","og_type":"article","og_title":"More adventures in overlay: Spatial Join and the Field Map","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T19:26:50+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-spatial-join-and-the-field-map#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map"},"author":{"name":"Dale Honeycutt","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/ecf725596ec627cacb0bf10409502088"},"headline":"More adventures in overlay: Spatial Join and the Field Map","datePublished":"2012-12-04T22:37:12+00:00","dateModified":"2018-12-18T19:26:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map"},"wordCount":10,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["geoprocessing","Overlapping Polygons","overlay","spatial join"],"articleSection":["Analytics"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map","name":"More adventures in overlay: Spatial Join and the Field Map","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2012-12-04T22:37:12+00:00","dateModified":"2018-12-18T19:26:50+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/analytics\/more-adventures-in-overlay-spatial-join-and-the-field-map#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"More adventures in overlay: Spatial Join and the Field Map"}]},{"@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":"December 4, 2012","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":129,"filter":"raw"},{"term_id":39581,"name":"Overlapping Polygons","slug":"overlapping-polygons","term_group":0,"term_taxonomy_id":39581,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":28481,"name":"overlay","slug":"overlay","term_group":0,"term_taxonomy_id":28481,"taxonomy":"post_tag","description":"","parent":0,"count":9,"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":1325,"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\/183361","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=183361"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/183361\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=183361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=183361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=183361"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=183361"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=183361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}