0

I have a branch versioned service layer on ArcGIS Portal. I want editors to use ArcGIS Pro to open a map in a ArcGIS Pro project and use their respective versions of this layer to create new features based off of a reference table that has all of the attributes for the features after they've been drawn in.

I would like the editor to copy and paste the UID from the reference table to their version of feature layer and move onto drawing the next feature. A script will run during non-business hours to run a post from the editor version to the default version leaving the newly created features' attributes blank except for the UIDs.

I would then like the script to populate these attributes using an update cursor.

I have successfully signed into portal using arcgis.GIS and generated the necessary access token used in my url query, I have also done the following:

# list of UIDs with null attribute values in feature layer named "UIDS"
# make a dict named "updates" using each item in UIDS as a key and the pair being the attribute values to be carried over to the feature layer
# import modules
import arcpy
from arcgis.gis import GIS
# set up layer for editing
workspace = r"https://url.org/arcgis/rest/services/Map_Docs/FeatureServer?token=" + token
smd = r"https://url.org/arcgis/rest/services/Map_Docs/FeatureServer/0?token=" + token
lyr = "lyr"
# I have done all the necessary steps to connect to portal at this point
arcpy.management.MakeFeatureLayer(smd,lyr)
arcpy.management.ChangeVersion(lyr, 'BRANCH', "sde.DEFAULT")

This is where things go sideways:

with arcpy.da.Editor(workspace) as edit:
 with arcpy.da.UpdateCursor(lyr, ["UID","Date", "Street"]) as rows:
 for row in rows:
 for k, v in updates.items(): # k =m UID, v = row[1:2]
 if k == row[0]:
 row[1] = v[0]
 row[2] = v[1]
 rows.updateRow(row)

This is the error I get:

---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
In [25]:
Line 1: with arcpy.da.Editor(workspace) as edit:
RuntimeError: cannot open workspace

What do I need to do to open the workspace? I've already generated a token and have successfully tested the query string by pasting it into a private browse for access to both the feature service (FeatureServer/0?token=" + token) and the feature server (FeatureServer?token=" + token)

Vince
20.5k16 gold badges49 silver badges65 bronze badges
asked Apr 25, 2023 at 18:54

1 Answer 1

1

I am fairly confident that Branch Versioning doesn't support direct editing. I think you are going to need to switch to Traditional versioning to use your update cursor. Or look to the GIS module to run your edits through the REST service.

answered Jun 6, 2023 at 17:07

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.