POST
|
It worked great - Thanks. I am not sure why mine did not but I do not care and will do a bit more research on why.
... View more
02-14-2024
08:17 AM
|
1
|
0
|
147
|
POST
|
I am testing validation rules. We have imported a lot of data and I want to implement validation rules to assist users in reviewing attribute values that need to be in the attribute domain. I am using ArcPro 3.2+. (I know I can do this from with the Attributes tab but want to use attribute validation rules. ) I have a domain with ALL county values 1-36 for a field called County. In my feature class (Taxcode) I selected a polygon and assigned it a null value (putting it outside the domain). I have created a couple of different arcade scripts to do the validation but both return all features in error when using the error inspector. I have looked at available examples and can not find this specific example. I did find code that looks at pole heights and another that includes subtypes. I have not been successful at using these examples to create my own SIMPLE approach. Here are the two ways I have done it. Example 1: return (Includes(Domain($feature,'County').codedvalues,$feature.County)) Example 2: var CountyDomains = Domain($feature,'County') var ValidCodes = [] var ValidCodes = CountyDomains["codedValues"] return (Includes(ValidCodes,$feature.County)) Both are valid expressions. In the error inspector both identify all features in the feature class as being in error. Its got to be doing something simple. What am I doing wrong?
... View more
02-12-2024
12:55 PM
|
0
|
3
|
263
|
POST
|
As a follow up.. I was also able to create a problem with versions and records between two maps using the following steps ( involves no python scripts.) I am still using ArcPro Fabric 3.2 and Enterprise/Branched Version 11.1 1. Created A version in "Map" (PF_ANDERSD.DeanTextVersion11_28_1) 2. Created a new Record (DeanTestVersion11_28_1) in "Map" 3. Set active Record 4. Used the MERGE tool - Combined two taxlots (703+701-> 701) -- ALL works fine -- Taxlots were merged -- Record geometry was created 5. Opened Second Map "TaxlotMap" 6. Changed Version (PF_ANDERSD.DeanTextVersion11_28_1) --- Problems Found --- a. Taxlot Polygons are NOT Merged ----b. Can NOT select the merged polygon ----c. Can no "refresh" the version ----d. New Record does NOT exist in the version
... View more
11-28-2023
06:30 AM
|
0
|
0
|
206
|
POST
|
I am using ArcPro 3.2 to access 11.1 Enterprise with Branched Versioning. I have been having problems with creating a record in a version using procedures posted in(Part 2 - Branch Version with Parcel Fabric) as discussed in my previous post "Problems with Arcp3.2 Parcel Fabric Using ArcPy to Change the Version". I also have a second issue. In my project, I have two maps, one is for general editing and the other for creating a voucher. Unfortunately when I set both maps to default my second map "retains" the record created previously. I have tried to refresh the versions with both maps, opening and closing the project files etc. The following two pictures illustrate my problem. This seems to be independent of my previous problem and just deals with how two maps point at the "default" environment. My question is --- is anyone else having this issue ? Map 1: Set to default. Only ONE record appears in the map extent. Map 2: Set to default. TWO records appear in the map extent. The second record should NOT be in default.
... View more
11-28-2023
06:08 AM
|
0
|
1
|
221
|
POST
|
Thanks for getting back to me. I am able to iterate thru all the layers. In interating through the list the script I USED to be able to include "Records" (FC/Layer) in the layer list. It now errors out saying that you can no longer do this. Best error message I get is when I use the "Change Version" tool on the "Records" layer. This also errors out in 3.2 (not 3.1X) python scripts. The problem comes when I try to use the python script to use the updateConnectionProperties method on the fabric (TaxlotsPF). When I use this the record is not accessible and if I try to create new record in this new version (because the fabric appears to have been moved) I ONLY see a "blank" menu (no prompts) or anything. I have attached the text script I used. Hope it helps. Again... The script allows me to change the feature classes / layers associated with the fabric (LOTS,PLATS,TAXLOTS,etc) and that all works fine. Changing other (non-fabric) feature classes (to the version) also works fine. The only layer that does not work correctly is the Records layers that is directly associated with the fabric .
... View more
11-20-2023
11:54 AM
|
0
|
0
|
418
|
POST
|
As a follow up. When I use the ChangeVersion tool in the python script as follows, all of the feature classes that participate in the record change. Unfortunately, the "TaxlotsPF: Records" feature class does not and remains in the old version. Versionmap = thisProject.listMaps("Map")[0] # same map as before pfLayer = Versionmap.listLayers("TaxlotsPF")[0] # same fabric as before edit = arcpy.da.Editor(WorkSpace) # my workspace edit.startEditing(False, False) edit.startOperation() arcpy.management.ChangeVersion( in_features=pfLayer, version_type="BRANCH", version_name=new_version_fullname, date=None, include_participating="INCLUDE" ) edit.stopOperation() edit.stopEditing(True) The results are.... All feature classes Except Records are transferred to the new eversion (also no error message).
... View more
11-20-2023
05:55 AM
|
1
|
0
|
497
|
POST
|
I am using ArcPro 3.2 accessing 11.1 Enterprise (will be upgraded soon to 11.2). I am testing my 3.1x code for creating a version in 3.2. I based my code on the ESRI Post (Part 2 - Branch Version with Parcel Fabric). This code has been working Great in 2.9 thru 3.1x. In 3.2 I can no longer change the version of the "Records" Feature class directly. However, this appears to happen when I change the version of the ParcelFabric that the Records feature class is a member of. Unfortunately, when I do this I can no longer create a new record in the new version. My steps for this test. 1. Create a new version (works great - no problem) 2. Get properties of new version (works great no problem) 3. Change the version manually (problems - Dialogue box is blank but code runs fine and version changes but problems) Code is as follows for changing the version is as follows: Versionmap = thisProject.listMaps("Map")[0] # Map map in my project (thisProject) pfLayer = Versionmap.listLayers("TaxlotsPF")[0] #TaxlotPF is my parcel fabric arcpy.AddMessage("-lyr: " + str(pfLayer.name)) # Just a message updated_props = pfLayer.connectionProperties arcpy.AddMessage(updated_props) # message to check properties arcpy.AddMessage('-----------------------') updated_props["connection_info"]["version"] = new_version_fullname # Props of the new version updated_props["connection_info"]["versionguid"] = new_version_guid pfLayer.updateConnectionProperties(pfLayer.connectionProperties,updated_props,auto_update_joins_and_relates = True, validate=True) new_props = pfLayer.connectionProperties Please let me know if I am doing something wrong ? I have tried several variations of this tool and also tried to use the changeversion tool. None seem to work.
... View more
11-20-2023
05:14 AM
|
1
|
5
|
510
|
IDEA
|
Thanks! Always good to have somebody cleanup my code. Much appreciated.
... View more
09-25-2023
06:09 AM
|
0
|
0
|
332
|
IDEA
|
Better code - Again Thanks ! // Get map number from mapindex polygon layer var fsMapIndex = FeatureSetByName($datastore,"MapIndex",["MapNumber","ORMapNum","County"]) var fsIntersectMap = Intersects(fsMapIndex,$feature) if (fsIntersectMap == null) return {"errorMessage": "No Map Index Feature Found"} var MapNumber = "None" var ORMAPNum = "None" var County = 99 var intersectarea = 0 for (var f in fsIntersectMap){ var newintersectarea = Area(Intersection($feature,f)) if (newintersectarea > intersectarea){ var MapNumber = f.MapNumber var ORMAPNum = f.ORMAPNum var County = f.County intersectarea = newintersectarea} } return { "result": { "attributes" :{ "MapNumber" : MapNumber, "ORMapNum" : ORMAPNum, "County" : County } } }
... View more
09-25-2023
05:52 AM
|
0
|
0
|
338
|
IDEA
|
Thanks - that makes sense. Built this off of old code and was just pretty focused on making the area check work.
... View more
09-25-2023
05:43 AM
|
0
|
0
|
343
|
IDEA
|
The following code uses intersect and gets the largest intersecting polygon to make the assignment. It appears to be an OK workaround. // Get map number from mapindex polygon layer using interesect // Do interesect and county features. var fsMapIndex = FeatureSetByName($datastore,"MapIndex",["MapNumber","ORMapNum","County"]) var fsIntersectMap = Intersects(fsMapIndex,$feature) var MapIndex = first(fsIntersectMap) var intcount = Count(fsIntersectMap) // If no features return error if (MapIndex == null) return {"errorMessage": "No Map Index Feature Found"} if (MapIndex.Mapnumber == null) return {"errorMessage": "MapNumber is empty"} // If count is one then return values if (intcount == 1) return { "result": { "attributes" :{ "MapNumber" : MapIndex.MapNumber, "ORMapNum" : MapIndex.ORMAPNum, "County" : MapIndex.County } } } // if county > 1 (taxlot overlaps mapindex) then // loop thru and keep intersect with largest area. else { var MapNumber = " " var ORMAPNum = " " var County = 0 var intersectarea = 0 for (var f in fsIntersectMap){ var newintersectarea = Area(Intersection($feature,f)) if (newintersectarea > intersectarea){ var MapNumber = f.MapNumber var ORMAPNum = f.ORMAPNum var County = f.County intersectarea = newintersectarea} } return { "result": { "attributes" :{ "MapNumber" : MapNumber, "ORMapNum" : ORMAPNum, "County" : County } } } }
... View more
09-23-2023
05:51 AM
|
0
|
1
|
360
|
POST
|
Tim (as usual sorry to be so late in responding) The Max_arc_Angle step is not available if the Fit To Segments option is selected. From the documentation.... "This parameter is not available if the Fit to segments option is specified for the Fitting Type parameter."
... View more
08-24-2023
10:22 AM
|
0
|
1
|
329
|
POST
|
I have completed a bit more testing. I created a tool/python script that allows me to select any layer from my active map. Once selected I can then select any field and value to assign to that field (see attached zip that contains tool and python). What I found is that it appears that the errors ONLY occur with ArcPro Fabric Layers and does NOT happen with other layers in the branched version feature service. Perhaps I am calling the service incorrectly for fabric layers? I will report this to technical services. But, please try out the tool. It should operate on any branched version service. If not the code I uses is: Layer = arcpy.GetParameterAsText(0) FieldName = arcpy.GetParameterAsText(5) Value = arcpy.GetParameterAsText(6) thisProject = arcpy.mp.ArcGISProject("CURRENT") Map= thisProject.activeMap MapLayer = Map.listLayers(Layer)[0] MapLayerDataSource = MapLayer.dataSource lastslash = MapLayerDataSource.rfind("/") WorkSpace = MapLayerDataSource[:lastslash] arcpy.AddMessage("WorkSpace: " + WorkSpace) edit = arcpy.da.Editor(WorkSpace) edit.startEditing(with_undo=False, multiuser_mode=True) edit.startOperation() with arcpy.da.UpdateCursor(MapLayer,[FieldName]) as cursor: for row in cursor: if row[0] != None: arcpy.AddMessage(FieldName + ': ' + row[0]) row[0] = Value arcpy.AddMessage('-- ' + FieldName + ': ' + row[0]) cursor.updateRow(row) # End Edit Session edit.stopOperation() edit.stopEditing(save_changes=True) Thanks I would appreciate any second opinion on this problem.
... View more
08-07-2023
08:47 AM
|
0
|
0
|
476
|
Title | Kudos | Posted |
---|---|---|
1 | 11-14-2022 05:13 AM | |
1 | 02-14-2024 08:17 AM | |
1 | 11-20-2023 05:55 AM | |
1 | 11-20-2023 05:14 AM | |
1 | 04-25-2023 03:15 PM |
Online Status |
Offline
|
Date Last Visited |
03-11-2024
02:28 PM
|