Bug-ID-Nummer |
BUG-000151663 |
Eingereicht | August 18, 2022 |
Zuletzt geändert | June 5, 2024 |
Gilt für | ArcGIS Pro |
Gefunden in Version | 3.0 |
Betriebssystem | N/A |
Betriebssystemversion | N/A |
Status | As Designed
Nach Überprüfung durch das Entwicklungsteam wurde festgestellt, dass dieses Verhalten wie geplant ist. Weitere Informationen finden Sie im Abschnitt "Zusätzliche Informationen".
|
Zusätzliche Informationen
Although the keyword 'Current' works the same in the Python window, notebooks, and script tools, the core geoprocessing functions do not return 'arcpy.mp Layer objects'. Instead, it returns 'Result objects', and it is up to the user to use the correct index to return the appropriate object from the result. The code below is modified to return a layer object from the geoprocessing 'Result object', and this works in models, stand-alone scripts, script tools, and the Python window.
p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Map')[0]
lyr1 = m.listLayers('States_WithRegions')[0]
res = arcpy.management.Merge(['States_WithRegions', 'Provinces'], os.path.join(basePath, 'GPSyncLayers.gdb', 'MergeOutputOpt1'))
resLyr = m.addDataFromPath(res[0])
Note that the geoprocessing tools run from the Python window or notebooks often automatically add layer results to the table of contents. This is a geoprocessing option that can be configured, but it does not automatically add layers if run from a script tool. This is because script tools are designed to work out of process, even if views are not active to add the output to. Use the logic above to more consistently get the expected results.
Workaround
Use the Python Window or notebooks in ArcGIS Pro.
Schritte zur Reproduzierung