|
POST
|
Regarding the ArcGIS Pro Roadmap - December 2021 Non-versioned editing - support of workflows similar to those implemented in ArcMap for editing non-versioned data. When implemented, edits against non-versioned data will not be written directly to the database, giving the user the ability to undo and/or discard edits before committing. What is meant by the word “undo”? I suspect it means that ALL edits in a session can be discarded. I don’t think it’s referring to true undo functionality. I.e., we won’t be able to undo (CTRL+Z) the last individual edit within a greater editing session. Can someone confirm what the intent is? I’m aware that roadmap plans are tentative/subject to change. Thanks!
... View more
03-24-2022
04:44 AM
|
1
|
8
|
5517
|
|
IDEA
|
Regarding the Repair Geometry (Data Management) GP tool: It looks like ESRI’s native SDE.St_Geometry spatial type is not supported by that tool. Only these spatial types are supported: Microsoft SQL Server—Geometry and Geography PostgreSQL—PostGIS, Geometry and Geography Oracle—SDO_Geometry Could support for SDE.St_Geometry (in Oracle) be added? We have real-world cases where SDE.St_Geometry (Oracle 18c) features have invalid geometry. But we don’t have a way to find and fix those issues. Related: Find & repair problem ST_GEOMETRY rows — "Shape integrity error"
... View more
03-24-2022
04:13 AM
|
5
|
2
|
2282
|
|
IDEA
|
Related: Search for the word “Arcade” in this page: (multiple instances) Your Ideas in the December 2021 ArcGIS Online Update Also, see the Arcade developer profile docs: Form Calculation (since Arcade version 1.17)
... View more
03-24-2022
02:39 AM
|
0
|
0
|
4062
|
|
POST
|
Rob, In case you aren’t aware, there is also an Attribute Rules community where you can ask questions like these.
... View more
03-24-2022
01:50 AM
|
0
|
1
|
2034
|
|
IDEA
|
Could a search tolerance parameter be added to the Arcade Intersects() function?
... View more
03-22-2022
01:14 AM
|
1
|
0
|
727
|
|
IDEA
|
In an Arcade calculation attribute rule, return a custom informational message to the user/application if an operation was performed successfully. For example, an attribute rule is designed to create a record in a related table: LIFECYCLE_TRANSACTIONS. It would be helpful if we could inform the user that the related record was created (the user might not be aware). The user might need to review the record and edit it with comments, etc..
... View more
03-21-2022
06:05 PM
|
10
|
2
|
3652
|
|
IDEA
|
Related: Code Review: Set polyline M-values to cumulative length of line
... View more
03-21-2022
08:55 AM
|
0
|
0
|
604
|
|
POST
|
Hi Mike, here's my latest version, in case you're interested. I used your suggestions. //Script title: Set polyline M-values to cumulative length of line
var geom = Dictionary(Text(Geometry($feature)));
var paths = geom['paths'];
//Using the Equals() function doesn't work as expected. See: Arcade: Editing M-values not treated as change to geometry (https://community.esri.com/t5/arcgis-pro-questions/arcade-editing-m-values-not-treated-as-change-to/m-p/1153917)
//if (Equals(Geometry($feature), Geometry($originalfeature)) ) {
if (Text(Geometry($feature)) == Text(Geometry($originalfeature))) {
console("The geometry has not changed. We don't need to redefine the M-Values.")
return
} else {
//Alternatively, this could be done with the Arcade distance() function. I chose to do the math manually so that the script can be used elsewhere, such as VSCode (for debugging).
function pythagoras(x1, y1, x2, y2) {
return sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
}
var oldX = paths[0][0][0];
var oldY = paths[0][0][1];
var line_length = 0;
for (var path_idx in paths) {
for (var point_idx in paths[path_idx]) {
var newX = paths[path_idx][point_idx][0];
var newY = paths[path_idx][point_idx][1];
//For multi-part features, we want the M-value for additional parts to start at the last M-value from the last part. We don't want to measure the distance *between* parts.
//So, for the first vertex in a given part, we will skip calculating the length between vertices.
if (point_idx != 0) {
line_length += pythagoras(oldX, oldY, newX, newY);
}
//We can use a negative slice: it will work when there is no Z.
paths[path_idx][point_idx][-1] = line_length;
oldX = newX;
oldY = newY;
}
}
console("The geometry has changed. So we *will* redefine the M-Values.")
return { "result": { "geometry": Polyline(geom) } };
} @JohannesLindner might find this interesting. Cheers!
... View more
03-21-2022
08:48 AM
|
0
|
0
|
5717
|
|
IDEA
|
@JohannesLindner Fair enough. @KoryKramer, feel free to close. Cheers.
... View more
03-21-2022
07:50 AM
|
0
|
0
|
2326
|
|
POST
|
I have a multipart polyline in an ArcGIS Pro 2.9.2 feature class: (NAD83 UTM 17N) I can set the M-values to the cumulative distance of the line by using the Set As Distance tool (setting "Starting M" to zero): That works as expected. Part #2's M-values are in the correct order (ascending). However, if I do a different test, the results are unexpected: Drop the measures. Try a slightly different feature: Change the X-coordinate of part #1, vertex 2...from 130 meters to 135 meters. Re-do the test: Set the M-values to the cumulative distance of the line by using the Set As Distance tool (setting "Starting M" to zero). Now, part #2's M-values are in the incorrect order (descending): Question: Why are the M-values in the incorrect order? (descending) I would expect the M-value order to be the same as the vertex index's order (ascending). Thanks!
... View more
03-21-2022
07:32 AM
|
0
|
2
|
1495
|
|
IDEA
|
@JohannesLindner @Thanks, what I meant was: explode a given polyline part into multiple 2-vertex segments (split at each vertex).
... View more
03-21-2022
04:48 AM
|
0
|
0
|
2358
|
|
IDEA
|
Could an Arcade function be added that would explode geometries into separate lines for each segment? That would be helpful when doing complex analysis on polyline segments.
... View more
03-21-2022
03:54 AM
|
1
|
6
|
2390
|
|
IDEA
|
I support this idea (related). @NicholeSalinger, and for anyone else who’s interested: As a last resort, in enterprise GDBs, and depending on the DB type (Oracle, etc), we might have the option of making HTTP calls via the database. For example, Oracle has the UTL_HTTP package that can make HTTP calls from PL/SQL. So in theory, we could use that in conjunction with a database trigger to make a call to an external system. Or make the HTTP call from a database view, and then use that related view in an arcade script: Arcade: Use related DB views as FeatureSets That's far from ideal; it’s complicated, would take some time/effort from the DBA to set up, and would be clunky to manage. But it might work as a very last resort. I’ve seen it used in systems that aren’t configurable (except through the database) for integrations between systems.
... View more
03-21-2022
03:40 AM
|
0
|
0
|
9258
|
|
IDEA
|
@jcarlson I updated the idea to clarify what I meant: convert feature vertices to points. Thanks.
... View more
03-20-2022
09:13 PM
|
0
|
0
|
1036
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 04-30-2026 11:08 AM | |
| 1 | 05-11-2026 11:23 AM | |
| 2 | 05-07-2026 04:19 AM | |
| 1 | 05-06-2026 09:03 AM | |
| 2 | 03-19-2026 09:29 AM |