|
POST
|
I'm a novice learning about Arcade. From my limited experience, it seems like there is a hierarchical nature to Arcade types and subtypes. If that’s correct, what does the hierarchical structure of geometry types look like? - Geometry - Point - Multipoint - Points - Polyline - Paths - Points - Polygon - Rings - Points - Envelope Also, are the types considered to be object oriented?
... View more
03-03-2022
04:52 AM
|
0
|
2
|
1256
|
|
IDEA
|
Arcade geometry types and subtypes (point, polyline, etc.) are immutable. It’s not possible to change them after they’re created. As a novice, I’m wondering: Is there any chance those types could be enhanced so that they’re mutable? If so, that would make writing expressions for calculation attribute rules easier. (edited)
... View more
03-03-2022
04:30 AM
|
1
|
1
|
630
|
|
POST
|
If I understand correctly, the Arcade Geometry type has subtypes: Point Multipoint Polyline Polygon Extent Question: Are those subtypes immutable, since the Geometry supertype is immutable? Geometry is immutable, meaning it is not possible to change the geometry after it is created. For example, if I assign a value to a point, does that mean that geometry can't be changed? var pt = Point({ 'x': 100, 'y': 100, 'spatialReference':{'wkid':102100} });
... View more
03-02-2022
10:42 PM
|
0
|
7
|
4118
|
|
IDEA
|
It would be helpful if there were a way to test polyline calculation attribute rules in the Arcade Developer Playground: https://developers.arcgis.com/arcade/playground/ Currently, it looks like that's not possible: Source code here: Code Review SE - Modify polyline vertices
... View more
03-02-2022
09:16 PM
|
0
|
0
|
791
|
|
IDEA
|
Could Esri consider adding a measureOnLine() function to Arcade? Returns a measure from the start point of the line to the in_point. measureOnLine (in_point, {use_percentage}) Parameter Explanation Data Type in_point A point that is used to measure from the start point of the polyline. Point use_percentage If False, the measure will be returned as a distance; if True, the measure will be returned as a percentage. (The default value is False) Boolean Return Value Data Type Explanation Double A distance or percentage. That would be helpful for linear referencing purposes.
... View more
03-02-2022
08:41 PM
|
1
|
0
|
468
|
|
IDEA
|
Migrated from a duplicate idea: I have calculation attribute rules that only needs to be run if the geometry is edited. Example: If a new feature is created or if an existing feature's geometry is edited, then: Redefine the M-Values by setting them to the cumulative length of the line. It's not necessary to run those kinds of calculation attribute rules if only the non-spatial fields get edited. And there are scenarios where unnecessarily running the attribute rules causes slow performance. Could an optional setting be added to calculation attribute rules that would let us only run the rule if the geometry has been changed?
... View more
03-02-2022
06:34 PM
|
0
|
0
|
7095
|
|
IDEA
|
When copy/pasting a FC in the same GDB: The new FC will have a different name, since duplicate names aren't allowed. However, the alias from the original FC will be brought over as the alias for the new FC. We often don't think to change the alias, so it means both FCs will have the same alias. It's very confusing when two different FCs have the same alias (seemingly the same name) when dealing with them in Contents, Fields, Attribute Rules. Could Esri change that behavior so that the new FC doesn't inherit the alias from the old FC? And just make the alias be the same as the FC name -- until the user changes it? I think that would be the preferable option.
... View more
03-02-2022
02:33 PM
|
7
|
2
|
1340
|
|
IDEA
|
If a user is viewing a table in an ArcGIS Pro map, then the table becomes locked from calculation attribute rule changes. Could ESRI make it so locks only occur if the table is being actively edited? Or alternatively, give us an optional setting to not lock the table at all? Thanks.
... View more
03-02-2022
12:20 PM
|
1
|
0
|
545
|
|
IDEA
|
Possible workaround: Create an attribute rule that compares the true length vs the densified length. If there is a difference, then there is a curve, so prevent the user from saving the edit. More info here: https://community.esri.com/t5/arcgis-pro-ideas/hascurve-arcade-geometry-property/idc-p/1149449/highlight/true#M18873
... View more
03-02-2022
01:27 AM
|
0
|
0
|
1182
|
|
IDEA
|
In the meantime, I wonder if this would be a possible workaround: 1. Create a field in the feature class called HAS_CURVES. 2. Populate the field in real-time/when a user creates or modifies a feature -- using a Calculation Attribute Rule. Compare $feature.shape_length, which is the true length, including true curves vs. Length($feature), which is the pre-densified length, where true curves have been converted into straight segments. https://i.stack.imgur.com/ilJrg.png If there is a difference between those two values, then that tells us that the line has curves. Use a Calculation Attribute Rule to set the HAS_CURVES field to "Y". 3. That field would be available to SQL. So we could query on it as needed. Disclaimer: It's possible that comparing the those lengths might not work in all scenarios (due to rounding complications, etc.). Testing would be needed. As the idea suggests, it would be a lot more robust to have a SDE.ST_HasCurves() function in ST_GEOMETRY. Related: Idea: hasCurve Arcade geometry property Calculate length of line without using length function (and without densifying curves) Select SDE.ST_GEOMETRY polylines that have arcs?
... View more
03-02-2022
01:07 AM
|
0
|
0
|
1948
|
|
IDEA
|
Currently, in ArcGIS Pro, SQL field calculations are only possible for unversioned EDGB data. SQL expressions support faster calculations for feature services and enterprise geodatabases. Instead of performing calculations one feature or row at a time, a single request is sent to the server or database, resulting in faster calculations. Only feature services and enterprise geodatabases support SQL expressions. For other formats, use Python or Arcade expressions. Using the SQL option for the Expression Type parameter has the following limitations: - The option is only supported for Db2, Oracle, PostgreSQL, SAP HANA, and SQL Server enterprise geodatabases. - Calculating field values on joined tables is not supported. - Versioned and archived data is not supported. - The ability to undo geoprocessing operations is not supported. It would be helpful if SQL field calculation support could be expanded to versioned data too. Specifically, traditional versioning, with the option to move edits to base.
... View more
03-02-2022
12:31 AM
|
2
|
8
|
2419
|
|
IDEA
|
@CraigWilliams Thanks! In the meantime, I wonder if this might be a valid workaround: Compare $feature.shape_length, which is the true length, including true curves... vs. Length($feature), which is the pre-densified length, where true curves have been converted to straight segments. If there is a difference between those two values, then that tells us that the line has curves. What do you think? Do you see any issues with that approach?
... View more
03-01-2022
10:29 PM
|
0
|
0
|
1897
|
|
POST
|
Thanks! I'm wondering if the core issue is that the geometries in Arcade get automatically densified (at least, I think they do). Get the true vertex count (Arcade) Arcade Polyline paths documentation: Explain that lines get automatically densified Additionally, I think I might have found a workaround. Instead of using Length($feature) which gives the wrong length, I think we can use $feature.shape_length which gives the right length. I wonder if the reason Esri auto-densifies geometries is for the scenario that you mentioned — generalizing in different scales when used in feature services. Maybe that's the why here. Or maybe, it's just because true curves are a pain, and are easier to deal with if they're always automatically densified. Related: Calculate length of line without using length function (and without densifying curves)
... View more
03-01-2022
12:11 PM
|
0
|
0
|
3364
|
|
IDEA
|
We're aware of the following blurb in the docs — Arcade Geometry Functions: Also note that geometries fetched from feature services, especially polylines and polygons, are generalized according to the view's scale resolution. Be aware that using a feature's geometry (i.e. $feature) as input to any geometry function will yield results only as precise as the view scale. Therefore, results returned from geometry operations in the visualization and labeling profiles may be different at each scale level. Use these functions at your discretion within these contexts. But that doesn't tell us anything about us the fact that true curves get densified, regardless of scale. And in my case, I'm not using feature services, I'm using FCs directly from a FGDB or EGDB. So that blurb doesn't apply, yet I'm still seeing the pre-densification behavior.
... View more
03-01-2022
12:03 PM
|
0
|
0
|
1086
|
|
IDEA
|
When an attribute rules is saved, it's Field value becomes read-only: It would be helpful if the field could be changed — even for existing attribute rules.
... View more
03-01-2022
11:16 AM
|
4
|
4
|
2194
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-20-2026 02:12 PM | |
| 1 | 03-19-2026 11:42 AM | |
| 1 | 06-03-2026 04:02 AM | |
| 1 | 03-18-2026 07:08 PM | |
| 2 | 2 weeks ago |