Hi all,
Not sure what I missing here. I am creating in_memory feature layer from the result of a arcpy.Intersect_analysis() operation and then attempting to apply CopyFeatures on that feature layer (it has an sql applied to it in order to filter prior to CopyFeatures).
Of note in code below: setting up itsctRESULT variable to output to disk and everything works but fails with said Error when set to output to in_memory.
I'd rather have it all operate in the in_memory workspace as it saves a bathtub full of processing time.
landFC <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"landsToProc"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>JSONToFeatures_conversion<SPAN class="punctuation token">(</SPAN>jFileLands<SPAN class="punctuation token">,</SPAN> landFC<SPAN class="punctuation token">)</SPAN>
trackFC <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"tracksToProc"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>JSONToFeatures_conversion<SPAN class="punctuation token">(</SPAN>jFileTracks<SPAN class="punctuation token">,</SPAN> trackFC<SPAN class="punctuation token">)</SPAN>
itsctRESULT <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>r<SPAN class="string token">"in_memory"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"itsctRESULT"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#itsctRESULT = os.path.join(r"E:\someFolder", "itsctRESULT") <-doesn't cause error 001156 at CopyFeatures_management line below</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Intersect_analysis<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">"tracksToProc"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">"landsToProc"</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> itsctRESULT<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ALL"</SPAN><SPAN class="punctuation token">,</SPAN> "<SPAN class="comment token">#", "POINT")</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddField_management<SPAN class="punctuation token">(</SPAN>itsctRESULT<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'rel_objectid'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"LONG"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddField_management<SPAN class="punctuation token">(</SPAN>itsctRESULT<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'PO'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"TEXT"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">50</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">with</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>UpdateCursor<SPAN class="punctuation token">(</SPAN>itsctRESULT<SPAN class="punctuation token">,</SPAN>updFields<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">as</SPAN> cursor<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> cursor<SPAN class="punctuation token">:</SPAN>
row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> purchaseOrder
row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> vendorNumber
inputFL <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">"fl_{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>count<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
outputFL <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"flResult_{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>count<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
sql <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Some Where Clause that filters correctly"</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>MakeFeatureLayer_management<SPAN class="punctuation token">(</SPAN>itsctRESULT<SPAN class="punctuation token">,</SPAN> inputFL<SPAN class="punctuation token">,</SPAN> sql<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyFeatures_management<SPAN class="punctuation token">(</SPAN>inputFL<SPAN class="punctuation token">,</SPAN> outputFL<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token"><</SPAN><SPAN class="operator token">-</SPAN> fails <SPAN class="keyword token">with</SPAN> ERROR <SPAN class="number token">001156</SPAN><SPAN class="punctuation token">:</SPAN> Failed on input OID <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> could <SPAN class="operator token">not</SPAN> write value <SPAN class="string token">'4500321321'</SPAN> to output field PO<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>