<?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 How to merge two feature classes and map multiple fields with different names but same type of content in Python Snippets Questions</title>
    <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859879#M600</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working to develop a python script which merges two feature classes into one. I found the following&amp;nbsp;arcpy example quite helpful, however it's only provides an example of how you might approach the problem of mapping input fields with different names and logically similar content for 1 input field from the 2 feature classes. My issue is that I have many fields from both input datasets which contain logically similar content.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example from ArcPy docs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: blue;"&gt;&lt;/SPAN&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

outfc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/AllBlocks"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Want to merge these two feature classes together. Have a field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; that has the same content but the names are slightly different:&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; Blocks1 has TRACT2000 and Blocks2 TRACTCODE. Name the output&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; the same as Blocks1.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fc1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/Blocks1"&lt;/SPAN&gt;
fc2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/Blocks2"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Create a new fieldmappings and add the two input feature classes.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fieldmappings &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;FieldMappings&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# First get the TRACT2000 fieldmap. Then add the TRACTCODE field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; from Blocks2 as an input field. Then replace the fieldmap within&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; the fieldmappings object.&lt;/SPAN&gt;

fieldmap &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;getFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACT2000"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmap&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addInputField&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"TRACTCODE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;replaceFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACT2000"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Remove the TRACTCODE fieldmap.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;removeFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACTCODE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Create a value table that will hold the inputs for Merge.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
vTab &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ValueTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Run the Merge tool.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Merge_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vTab&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; outfc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmappings&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;/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;P&gt;&lt;/P&gt;&lt;P&gt;Does my question make sense?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: green;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 10:39:14 GMT</pubDate>
    <dc:creator>MTCGIS</dc:creator>
    <dc:date>2021-12-12T10:39:14Z</dc:date>
    <item>
      <title>How to merge two feature classes and map multiple fields with different names but same type of content</title>
      <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859879#M600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working to develop a python script which merges two feature classes into one. I found the following&amp;nbsp;arcpy example quite helpful, however it's only provides an example of how you might approach the problem of mapping input fields with different names and logically similar content for 1 input field from the 2 feature classes. My issue is that I have many fields from both input datasets which contain logically similar content.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example from ArcPy docs:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: blue;"&gt;&lt;/SPAN&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

outfc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/AllBlocks"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Want to merge these two feature classes together. Have a field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; that has the same content but the names are slightly different:&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; Blocks1 has TRACT2000 and Blocks2 TRACTCODE. Name the output&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; the same as Blocks1.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fc1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/Blocks1"&lt;/SPAN&gt;
fc2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"C:/data/CityData.gdb/Blocks2"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Create a new fieldmappings and add the two input feature classes.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fieldmappings &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;FieldMappings&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# First get the TRACT2000 fieldmap. Then add the TRACTCODE field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; from Blocks2 as an input field. Then replace the fieldmap within&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp; the fieldmappings object.&lt;/SPAN&gt;

fieldmap &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;getFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACT2000"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmap&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addInputField&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"TRACTCODE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;replaceFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACT2000"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Remove the TRACTCODE fieldmap.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;removeFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"TRACTCODE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Create a value table that will hold the inputs for Merge.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
vTab &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ValueTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fc2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Run the Merge tool.&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&lt;/SPAN&gt;
arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Merge_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vTab&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; outfc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmappings&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;/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;P&gt;&lt;/P&gt;&lt;P&gt;Does my question make sense?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" style="color: green;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:39:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859879#M600</guid>
      <dc:creator>MTCGIS</dc:creator>
      <dc:date>2021-12-12T10:39:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge two feature classes and map multiple fields with different names but same type of content</title>
      <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859880#M601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/analyze/arcpy-classes/fieldmappings.htm"&gt;&lt;STRONG&gt;FieldMapping&lt;/STRONG&gt;&lt;/A&gt; is the correct approach&lt;/P&gt;&lt;P&gt;But the &lt;A href="http://desktop.arcgis.com/en/arcmap/latest/analyze/executing-tools/using-the-field-mapping-control.htm"&gt;&lt;STRONG&gt;field mapping control&lt;/STRONG&gt;&lt;/A&gt; is used in... to quote&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;A number of geoprocessing tools, including &lt;SPAN&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/analysis-toolbox/spatial-join.htm"&gt;Spatial Join&lt;/A&gt;&lt;/SPAN&gt;, &lt;SPAN&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/data-management-toolbox/append.htm"&gt;Append&lt;/A&gt;&lt;/SPAN&gt;, &lt;SPAN&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/data-management-toolbox/merge.htm"&gt;Merge&lt;/A&gt;&lt;/SPAN&gt;, &lt;SPAN&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/conversion-toolbox/feature-class-to-feature-class.htm"&gt;Feature Class To Feature Class&lt;/A&gt;&lt;/SPAN&gt;, and &lt;SPAN&gt;&lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/conversion-toolbox/table-to-table.htm"&gt;Table To Table&lt;/A&gt;&lt;/SPAN&gt;, have a parameter for controlling how fields from the input datasets are processed and written, or mapped, to the output datasetâ€”the &lt;SPAN&gt;Field Map&lt;/SPAN&gt; parameter. In addition to the basic moving of attributes from input to output, field mapping can also be useful for some common tasks such as field concatenation and calculating statistics such as mean, sum, and standard deviation.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;so check out the existing tools first.&amp;nbsp; If you need to do this multiple times, then you should do it manually once, and use the &lt;A href="http://desktop.arcgis.com/en/arcmap/latest/analyze/executing-tools/using-the-results-window.htm"&gt;&lt;STRONG&gt;Results window&lt;/STRONG&gt;&lt;/A&gt; to get the syntax correct.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 Aug 2017 00:25:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859880#M601</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2017-08-12T00:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge two feature classes and map multiple fields with different names but same type of content</title>
      <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859881#M602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For complicated field mapping operations (especially those with many input datasets) I like to store the field mapping information in a table and build the field mapping object from that. The key pieces of information&amp;nbsp;are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Output feature class&lt;/LI&gt;&lt;LI&gt;Input feature class&lt;/LI&gt;&lt;LI&gt;Input field name/output field name combination&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/thread/182353"&gt;Build Arcpy Field Mapping Object from Table&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found it a pain to use the field map control over a while - it's one of the clunkier aspects of ArcGIS geoprocessing tools.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Happy merging.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Micah&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 Aug 2017 18:00:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859881#M602</guid>
      <dc:creator>MicahBabinski</dc:creator>
      <dc:date>2017-08-12T18:00:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge two feature classes and map multiple fields with different names but same type of content</title>
      <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859882#M603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Micah,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks so much for your reply! I took a look at your example but ended up going another way. For the most part, the two input feature classes that I wanted to merge had the same field names. It occurred to me that by leveraging the fieldmappings and fieldmap object, I could avoid associating each field from each input feature class with the destination field since identical fields would just be merged without my intervention (at least that seems like how it works...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's what I did:&lt;/P&gt;&lt;P&gt;1) Created an empty FieldMappings object&lt;/P&gt;&lt;P&gt;2) Added tables from both input feature classes to the empty FieldMappings object&lt;/P&gt;&lt;P&gt;3) Created arrays of fields to be mapped from both input feature classes, careful to ensure that the index of the&amp;nbsp;&lt;/P&gt;&lt;P&gt;input field name was the same index as the input field name which it would be mapped to&lt;/P&gt;&lt;P&gt;4) Created a fieldmap dictionary object&lt;/P&gt;&lt;P&gt;5) Iterated over the objects keys/values,&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;found the field map in the field mappings object via field name&lt;/LI&gt;&lt;LI&gt;added my input field&lt;/LI&gt;&lt;LI&gt;updated field mappings object&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;removed field map of input field was mapped&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;6) &amp;nbsp;Created a temp table to store feature class reference&lt;/P&gt;&lt;P&gt;7) Merged feature classes w/ updated field mapping&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know what you think! Script below:&amp;nbsp;&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="comment token"&gt;#This script should be run within the ArcGIS Pro Python window&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy 

outfc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"TPA_Eligible_Transit_Stops_2017_test3"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Merge the following two feature classes together - map fields with the same content to single field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Each of the FC below were added to the project from MTC Organization ArcGIS Online&lt;/SPAN&gt;

railfc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"TPA_Non_Bus_Eligible_Stops_2017"&lt;/SPAN&gt;
busfc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"High_Frequency_Bus_Stops"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Create a new fieldmappings object and add the two input feature classes&lt;/SPAN&gt;

fieldmappings &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;FieldMappings&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;railfc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;busfc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#Get fieldmap for two fields in rail dataset which bus values will be merged into&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Create array of bus fields which are to be mapped (input fields)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Create array of rail fields which bus fields will be mapped to (destination fields)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Create dict using zip methold - ensure order of fields matches map - to order within array&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;

busfields &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"stop_id"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"lgcl_adjacent_hf_routes"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
railfields &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"agency_stop_id"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Distance_Eligible"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
fieldmapdict &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; dict&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;zip&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;busfields&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;railfields&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - iterate over dictonary&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - find field map for each rail field (destination field)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - add input field to fieldmap object (input field)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - replace field map (destination field map) within fieldmappings object with updated field&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - remove bus field map from fieldmappings object (input field)&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; busfield&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; railfield &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; fieldmapdict&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;items&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fieldmap &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;getFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;railfield&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fieldmap&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addInputField&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;busfc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; busfield&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;replaceFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;railfield&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;removeFieldMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fieldmappings&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;findFieldMapIndex&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;busfield&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; 

&lt;SPAN class="comment token"&gt;#create temp value table and store fc paths as rows&lt;/SPAN&gt;

vTab &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ValueTable&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;railfc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
vTab&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;addRow&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;busfc&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#merge &lt;/SPAN&gt;

arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Merge_management&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;vTab&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; outfc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fieldmappings&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;/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>Sun, 12 Dec 2021 10:39:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859882#M603</guid>
      <dc:creator>MTCGIS</dc:creator>
      <dc:date>2021-12-12T10:39:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to merge two feature classes and map multiple fields with different names but same type of content</title>
      <link>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859883#M604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since this is resolve, please make sure to mark the helpful comments and the one that resolved the issue...or mark it as assumed answered.&amp;nbsp; That will close the thread and allow others to find the answer. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Aug 2017 16:53:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-snippets-questions/how-to-merge-two-feature-classes-and-map-multiple/m-p/859883#M604</guid>
      <dc:creator>RebeccaStrauch__GISP</dc:creator>
      <dc:date>2017-08-29T16:53:22Z</dc:date>
    </item>
  </channel>
</rss>

