<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Adjust field mapping for spatial join in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73675#M6036</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I'm on arcgis desktop 10.5.1 using python 2.7.&lt;/P&gt;&lt;P&gt;I've got a very simple spatial join in my script but I cant get my head around the field mapping object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to join two identically overlapping features (polylines) which have the same schema but different attributes.&amp;nbsp; The only field I care about keeping in the join is an 'ID' string field. I'd like to keep both ID entries as a delimited list in the output layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E.g&amp;nbsp;&lt;/P&gt;&lt;P&gt;Input of coincident features from 2 layers.&lt;/P&gt;&lt;P&gt;OBJECTID |&amp;nbsp; ID&amp;nbsp; |&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;5&amp;nbsp; &amp;nbsp;|&lt;/P&gt;&lt;P&gt;89&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;9&amp;nbsp; &amp;nbsp;|&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Desired output&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;OBJECTID |&amp;nbsp; ID&amp;nbsp;&amp;nbsp;|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 5, 9 |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The field mapping examples give me a headache. Thanks for looking.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 07 Feb 2020 19:30:39 GMT</pubDate>
    <dc:creator>DavidPike</dc:creator>
    <dc:date>2020-02-07T19:30:39Z</dc:date>
    <item>
      <title>Adjust field mapping for spatial join</title>
      <link>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73675#M6036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I'm on arcgis desktop 10.5.1 using python 2.7.&lt;/P&gt;&lt;P&gt;I've got a very simple spatial join in my script but I cant get my head around the field mapping object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to join two identically overlapping features (polylines) which have the same schema but different attributes.&amp;nbsp; The only field I care about keeping in the join is an 'ID' string field. I'd like to keep both ID entries as a delimited list in the output layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E.g&amp;nbsp;&lt;/P&gt;&lt;P&gt;Input of coincident features from 2 layers.&lt;/P&gt;&lt;P&gt;OBJECTID |&amp;nbsp; ID&amp;nbsp; |&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;5&amp;nbsp; &amp;nbsp;|&lt;/P&gt;&lt;P&gt;89&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&amp;nbsp; &amp;nbsp;9&amp;nbsp; &amp;nbsp;|&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Desired output&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;OBJECTID |&amp;nbsp; ID&amp;nbsp;&amp;nbsp;|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| 5, 9 |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The field mapping examples give me a headache. Thanks for looking.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Feb 2020 19:30:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73675#M6036</guid>
      <dc:creator>DavidPike</dc:creator>
      <dc:date>2020-02-07T19:30:39Z</dc:date>
    </item>
    <item>
      <title>Re: Adjust field mapping for spatial join</title>
      <link>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73676#M6037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this script. I just tested it and it should work for you. However just as a word of warning if you are running this on a large dataset this script will probably start to run pretty slow. The reason for this is because I have nested cursors, which isn't the most pythonic thing to do. I tried to load the information from the search cursor into a dictionary however I was having issues comparing the SHAPE objects from the dictionary. If you are running this on a large dataset let me know and I will change the script&amp;nbsp;to the pythonic way so it wont bog down.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy

&lt;SPAN class="comment token"&gt;########################################################################################################################&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Variables&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;########################################################################################################################&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"\nSetting Variables\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

layerToAddTo &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Path to layer to add matchind Id's"&lt;/SPAN&gt;
layerToPullFrom &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Path to other layer with matching geom"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;########################################################################################################################&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# This finds the matching geom in both featureclass then updates the ID column in the layerToAddTo with the ID's&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# from the matching geom features&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;########################################################################################################################&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Finding the matching geom and combining the ID's"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; searchCur &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SearchCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;layerToPullFrom&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"ID"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"SHAPE@"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;da&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;UpdateCursor&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;layerToAddTo&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"SHAPE@"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ID"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; upCursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; updateRow &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; upCursor&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
            value1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; updateRow&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; value1&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;equals&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;searchCur&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
                updateRow&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"{}, {}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;updateRow&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; searchCur&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
                upCursor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;updateRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;updateRow&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:51:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73676#M6037</guid>
      <dc:creator>deleted-user-NvcfpBOWaKwr</dc:creator>
      <dc:date>2021-12-10T22:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Adjust field mapping for spatial join</title>
      <link>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73677#M6038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Jeremy, thanks very much for your time. I love the idea of comparing the geometries as opposed to a spatial join. With that in mind I can copy your script into my loop easily. Great idea.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Feb 2020 21:53:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/adjust-field-mapping-for-spatial-join/m-p/73677#M6038</guid>
      <dc:creator>DavidPike</dc:creator>
      <dc:date>2020-02-07T21:53:46Z</dc:date>
    </item>
  </channel>
</rss>

