|
POST
|
Hi @ARyanWADNR, So the append tool can sometimes be problematic when running outside of a pro session and can lead to issues. One recommendation that I have is instead to use cursors to update the feature rather than calling a tool. Cursors give you more control over certain conditions and are better at limiting certain types of information. import arcpy
from arcpy.da import search as SearchCursor, update as UpdateCursor, insert as InsertCursor, Edit as Editor
from arcpy import ListFields
gis = GIS('home')
fs = gis.content.get('')
layer = fs.layers[0]
fields = [field.name for field in ListFields(layer ) ]
# fields = [field.name for field in ListFields(layer ) if <some matching field conditions> such a list of names or datatype, etc... ]
data = {}
with search( layer , fields ) as cursor:
for row in cursor:
data[row[0]] = row
with Edit(<your editing layer workspace>) as editing:
with insert(<editing layer>, fields ) as cursor:
for key, values in data.items():
cursor.insertRow(values) This is just an example but should at least perhaps help guide you in case you want to try a different approach. With cursors, as mentioned above, these give you more control on how to set certain updates depending on your criteria and are far more flexible than the imported tools. @HaydenWelch, @DanPatterson , @DougBrowning may provide better recommendations or even other methods that yield the same result.
... View more
11-03-2025
11:55 AM
|
2
|
6
|
1308
|
|
POST
|
The only other thing I can think of that would merge the two would be to create rule where if the conditions were met it would do the update and delete for you. For instance: Add a numerical field and set the value to Object ID of the feature you wish to merge Create a rule where if the field is populated with the OID of the desired feature then set it to do the following Filter the featureset so that the OID of the merging feature is equal to the OID value of the updated feature Use the Union function to merge the feature geometries of both features into a single geometry. Check if the fields for upper/lower address bounds are different than the fields in the updated record of the merging OID. Update the other record using the min/max functions for the filtered featureset. Return the results such it returns the updated records OID with those values. Create another rule with the DELETE capability and set it so that it filters using the same filter as the previous rule but will only delete when either the upper/lower address bounds are equal. @HusseinNasser2 may be able to speak to this but I would like to get his take on it.
... View more
11-03-2025
08:33 AM
|
0
|
0
|
2000
|
|
POST
|
That makes it a bit more clear now. So what you can do is set the condition to identify the original feature in conjunction with the edit context. With the $originalfeature you can identify the feature before it's deleted and $editcontext.editType to be 'DELETE' so that upon deletion it pulls the original feature and then updates the new feature with the old value
... View more
10-30-2025
02:58 PM
|
1
|
0
|
2068
|
|
POST
|
Hi @BriannaF, So there are a couple of ways around it so here are some options. Set the rule to filter the featureset to filter based on a common value. I assume the street name in this instance. var RH = $feature.R_from
var RL = $feature.R_to
var LH = $feature.L_from
var LL = $feature.L_to
// Filter featureset for matching streetnames
var ObjID = $feature.OBJECTID
var StreetName = $feature.<stname>
var FS = Filter( $featureset, '<insert stname field> = @StreetName AND OBJECTID <> @ObjID ' )
if( Count( FS ) > 0 ){
FS = Intersects( $feature, FS )
if( Includes( ['FeatureSet','Feature'], TypeOf(FS) ){
RL = Min(FS,R_to)
LL = Min(FS,L_to)
}
}
// Compute final union ranges (deleted is SECOND, merged is FIRST)
var final_L_from = toNum(mergedFromL);
var final_L_to = toNum(deletedToL);
var final_R_from = toNum(mergedFromR);
var final_R_to = toNum(deletedToR);
// These console messages print out the correct final ranges
Console("Final L From: " + Text(final_L_from));
Console("Final L To: " + Text(final_L_to));
Console("Final R From: " + Text(final_R_from));
Console("Final R To: " + Text(final_R_to));
// This console message prints out the correct ID to be updated
Console("Merged Road ID to Update: " + Text(mergedRoad.GlobalID));
// Apply updates to the kept (merged) feature
return {
'edit': [{
'className': 'ROADS_StatePlane',
'updates': [{
'OBJECTID': mergedRoad.OBJECTID,
'attributes': {
'LFROM_Test': final_L_from,
'LTO_Test': LL,
'RFROM_Test': final_R_from,
'RTO_Test': RL
}
}]
}]
}; This is just a suggestion and I can give you another but without seeing the full code this should hopefully point you in the right direction. Another would be to convert the overlapping vertices to points and finding the lowest values based on the points.
... View more
10-30-2025
02:00 PM
|
0
|
2
|
2079
|
|
POST
|
Hi @dsinha. It is recommended should the desired result not be what you want. It could help you troubleshoot where there are issues in your code.
... View more
10-23-2025
11:03 AM
|
0
|
0
|
1087
|
|
POST
|
Hi @dsinha, Have you used the Console() function to see if there is any result for the feature? You can also verify that there are records by using the Count() function in conjunction with the Console() to see if there are any records that are returned by your query. It could be that either the query is resulting in no records returning or that there is something else going on. Did you double check that the field name(s) exist and you are filtering for the correct data? Ex. ("ParcelPin = '1000000'") vs (ParcelPin = 1000000"). If you use the console then it should help troubleshoot the issue.
... View more
10-23-2025
10:14 AM
|
0
|
2
|
1099
|
|
POST
|
Hi @MelissaSullivan, Try this. var sportslist = Dictionary(
'ballfield', 'Ballfield',
'basketball', 'Basketball',
'cricket', 'Cricket',
'discgolf', 'Disc Golf',
'football', 'Football',
'golf', 'Golf',
'pickleball', 'Pickleball',
'raquetball', 'Ballfield',
'pickleball', 'Racquetball',
'sandvolleyball', 'Sand Volleyball',
'soccer', 'Soccer',
'swimming', 'Swimming',
'tennis', 'Tennis'
)
Expects($feature,'*')
var String = []
for( var f in $feature){ if( HasKey(sportslist),f) && $feature[f] == 'YES' ){ Push(String,'• '+sportslist[f]) } }
iif( Count( String ) > 0 , Concatenate(String,'\n'), 'No Activities' )
... View more
10-23-2025
07:11 AM
|
2
|
0
|
825
|
|
POST
|
I believe @AustinAverill was just an example. You might need to change your Portal and portal item to whatever your data specifies using the structure provided.
... View more
10-21-2025
11:15 AM
|
0
|
5
|
886
|
|
POST
|
Hi @ErinHoover, What have you checked in order to identify the issue: Is the data source a hosted or reference feature service from a .sde database? Is the table from a data expression that has the source ID incorrect? Is the dashboard created with data that is no longer shared to a group that once had access? If you add the data to a new dashboard, do you see the same kinds of errors? Please let us know so it can help us further identify where the issue lies. Sometimes these are multifaceted issues so there could be a number of causes. Some ranging from just pointing to the right data to not having access to the data or how the dashboard was created.
... View more
10-21-2025
11:12 AM
|
1
|
0
|
910
|
|
IDEA
|
There is a way to mimic the ability. The ability for arcade to do dynamic calculations exist as a data expression but otherwise, if you mean to enable custom popup expressions, then it does not. There might be limitations regarding the overall JavaScript capability when compared to using a custom data expression. You can still modify the values and the prefixes if you want something simple but otherwise the data expression might be your only option for the time being.
... View more
10-16-2025
10:49 AM
|
0
|
0
|
672
|
|
POST
|
There is a way to do this and there are two ways, at least to my knowledge, that can work to achieve this. Using the List method: Use @AustinAverill suggestion to create a new dataset as a data expression. Once the data expression is created, add the list to the dashboard. Once the look and feel of the list, set your layer action to filter that specific list using that common attribute Using the Category Selector in the header: Step 1: Add the header to your dashboard Once added, select configure (upper left hand corner of the header) and select the category selector In the category configuration, select grouped values. Select the parent table Select the field that has the relational information in both the parent and child table(s) Step 2: After completing step one, follow the same steps as Step 1 but for the child table Apply a filter to the child table based on your specific criteria Set the field to which value you want the layer to be filtered/selected Step 3: Once the category selector is configured, go back to the first category In the Actions tab select the filter option Set to filter the child category selector. Step 4 (Optional): Configure the child category select Action to filter other tables(s) if applicable. Note: For the category selectors, it is best to name each item in the general tab under selector options, so you know which item to filter.
... View more
10-15-2025
12:00 PM
|
0
|
0
|
306
|
|
POST
|
The other thing to keep in mind also is the risk that you may end up loading far too many values that it could potentially cause editing issues. The issues could likely stem from having too many values that it may overwhelm your editors. The way we go about it is we simply have set domains for suffixes, prefixes, road types, and street names. By keeping the fields separate with their own unique domain lists keeps the dropdowns smaller and allows for additional updates without needing to update the entire address. This is something else to consider also. Then, if you wanted to, you could add another field to concatenate all the addressing fields into a single address. I rarely do anything with python now since finding out how useful arcade and attributes are at keeping the integrity of our data. If you want to go the python route then @RhettZufelt solution would be the way to go.
... View more
10-15-2025
11:19 AM
|
1
|
0
|
812
|
|
POST
|
Hi @Crystal_Cowardin, So there are several ways to go about this but it depends on the type of feature (hosted vs reference). For hosted service using fields calculation: You can create a field calculation to automatically pull in the closest address point upon an update. For Enterprise FS: similar to the field map calculation, create an attribute rule that populates the closest address point. For Both you can use python to modify lookup values. This can be done by either populating a table of values and then running the table to domain tool or directly updating the domain codes and values.
... View more
10-15-2025
08:03 AM
|
1
|
1
|
822
|
|
POST
|
Hi @offi24, Given the complexity of your question, the only things that I can recommend are as follows: Create a copy of the polyline and edit the copied line by dividing it into equal distances or parts Use/Create an attribute rule or arcade calculation to create points in another feature at set distances and then label those features. Add fields for starting kilometer distances and label them so that the labels are positioned along the line at set distances. Try linear referencing and seeing what tools may work best for you. Despite those I don't think you will be able to click anywhere on a line and get the distance along that line unless you use linear referencing.
... View more
10-10-2025
04:53 AM
|
1
|
0
|
1455
|
|
POST
|
Hi @SaraJL, Another option you can try is: Dissolve the line features by a common field value to create a single line/multi-part feature. Create a point feature using the centroid of the line. Spatial join the point feature to the polygon. Join the spatial joined point back the line feature using the IDs of the line feature. This would be my recommendation but there are other ways to tackle this problem.
... View more
10-09-2025
12:27 PM
|
0
|
1
|
2789
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | Thursday | |
| 1 | 02-10-2026 06:09 AM | |
| 1 | 03-04-2026 01:08 PM | |
| 1 | 02-24-2026 12:59 PM | |
| 3 | 03-03-2026 10:33 AM |
| Online Status |
Offline
|
| Date Last Visited |
yesterday
|