|
POST
|
Thanks Johannes! That's great! I would have struggled with this for a week or more if I'd done it all on my own, lol. Here's where I'm at: Test #1: (using my work computer; enterprise GDB) I tried running the script, but got an error: Error: Traceback (most recent call last): File "<string>", line 41, in <module> File "<string>", line 15, in check_domain_values File "<string>", line 15, in <dictcomp> AttributeError: 'NoneType' object has no attribute 'keys' The table (non-spatial) has a subtype. Not sure if that's relevant or not.
... View more
06-24-2022
01:29 PM
|
0
|
0
|
4682
|
|
IDEA
|
The attributes pane has functionality that lets us select invalid rows: Find and correct invalid values To find and correct invalid attribute values, right-click the layer in the selection view and click Select Only Invalid Objects. This command is available with layers for which a data rule exists including attribute rules and other geodatabase behaviors such as attribute domains. https://community.esri.com/t5/arcgis-pro-ideas/prevent-non-domain-values-from-being-used-across/idc-p/1186044/highlight/true#M20037 That functionality is useful, especially for selecting rows where the values don't match their domains. Idea: Currently, that functionality is only available in the attributes pane, not the attributes window. Could that functionality also be added to the attributes window? That would help when it comes to workflows that are based on the attributes window, not the attributes pane.
... View more
06-24-2022
12:59 PM
|
3
|
1
|
1344
|
|
IDEA
|
@Scott_Harris Thanks. As you might have guessed, I was looking at the Attributes Table (incorrect), not the Attributes Pane (correct). For what it's worth, that technique worked fine on a feature class, but I couldn't get it to work for a non-spatial table. I'm not sure why. I deliberately entered an invalid domain value (via the field calculator), but the "Select Only Invalid Objects" functionality didn't select that record (or any other invalid domain records). Does it work for you when used on a non-spatial table in a newer version of Pro?
... View more
06-24-2022
08:40 AM
|
0
|
0
|
3215
|
|
POST
|
ArcGIS Pro 2.6.8; Oracle 18c 10.7.1 EGDB: For a FC/table that has values that don't match its domains: Is there a way to select all rows in the attribute table that have invalid coded-value domain values — using ArcPy? For each row, for each field, if the field has a domain, and if the value doesn’t match the domain, then select the row. Hopefully, the script could be dynamic, rather than needing to hardcode a list of fields with domains in the script. Edit (this edit was added after JohannesLindner kindly provided a script): The table has a subtype. (I'm not great with ArcPy yet. So I thought I'd ask, in case anyone has a sample script they can share to get me started.) I'm aware ArcGIS Pro has "Select Only Invalid Objects" functionality in the attribute pane (not to be confused with the attribute window): https://pro.arcgis.com/en/pro-app/latest/help/editing/edit-feature-attributes.htm#ESRI_SECTION1_8F13A8C397F349C9BF97D3DF2353E69F https://community.esri.com/t5/arcgis-pro-ideas/prevent-non-domain-values-from-being-used-across/idc-p/1186044/highlight/true#M20037 But that functionality doesn't work for non-spatial tables in ArcGIS Pro 2.6.8 (it only works on FCs)...that functionality was added alter in Pro 2.8. Regardless, I'm wondering if ArcPy might be a better choice, when it comes to validating an entire table.
... View more
06-24-2022
08:27 AM
|
1
|
7
|
4708
|
|
POST
|
Oracle 18c 10.7.1 EGDB: In an SQL query, is there a way to select rows that have: Invalid subtype code values (or invalid subtype domain values) Or invalid coded-value domain values (non-subtype)
... View more
06-24-2022
07:40 AM
|
0
|
3
|
1780
|
|
IDEA
|
Thanks Kory. And @Scott_Harris, regarding this link: https://pro.arcgis.com/en/pro-app/latest/help/editing/edit-feature-attributes.htm#ESRI_SECTION1_8F13A8C397F349C9BF97D3DF2353E69F Find and correct invalid values To find and correct invalid attribute values, right-click the layer in the selection view and click Select Only Invalid Objects Select Only Invalid Objects. This command is available with layers for which a data rule exists including attribute rules and other geodatabase behaviors such as attribute domains. That looks helpful. Thanks. For my notes, that functionality doesn't seem to be available in ArcGIS Pro 2.6.8: https://pro.arcgis.com/en/pro-app/2.6/help/editing/edit-feature-attributes.htm
... View more
06-24-2022
07:34 AM
|
0
|
0
|
3227
|
|
POST
|
I want to create a field that would flag a row if its values don’t match its domains. Is there a way to populate such a field using an Arcade calculation attribute rule? For each field, if the field has a domain, and if the value doesn’t match the domain, then set DOMAIN_VALUES_VALID to ‘INVALID’. Hopefully, the script could be dynamic, rather than needing to hardcode a list of fields with domains in the script. I’m aware that it’s possible to prevent invalid rows in the first place using a constraint attribute rule. That’s a valid option. But I also want to experiment with a flag too. Thanks. Edit: Unfortunately, I forgot to mention that the table has subtypes (with domains).
... View more
06-24-2022
05:12 AM
|
0
|
1
|
1484
|
|
IDEA
|
I want to set up a scheduled task on a server that emails me in this scenario: There are rows in a table that have values that don’t match the table’s domains/subtype. Could a geoprocessing tool be added to ArcGIS Pro that lets me easily identify the invalid rows? Thanks.
... View more
06-24-2022
04:52 AM
|
1
|
3
|
1073
|
|
POST
|
Feel free to comment or upvote: Idea: Install ODBC/SQLite driver by default in Pro to allow viewing/editing complex Mobile GDB relational data in MS Access
... View more
06-23-2022
08:20 PM
|
1
|
0
|
6409
|
|
IDEA
|
Idea: Could the Roads and Highways documentation be improved by providing a recipe for converting a polyline feature class with fields for route identifiers, from measures and to measures into routes in an LRS Network? Background info can be found in @GraemeBrowning's post: Creating LRS Dataset from existing line/route feature class
... View more
06-23-2022
08:18 PM
|
2
|
0
|
1284
|
|
POST
|
This doesn't address your question, but if you're ever looking for a sample script for editing M-values using Arcade, then these might help: Arcade Code Review: Set polyline M-values to cumulative length of line Set Ms to Index And here's an ArcPy script: Set M-values to cumulative length of line (via ArcPy) For context, here's how we use linear referencing in my organization (ArcMap 10.7.1): We don't have Roads & Highways. We simply created a new FC using the Create Routes GP tool. The M-values were set to the cumulative length of the line (which is what we want going forward — we don't ever calibrate routes or anything like that). Then we use an Arcade attribute rule to set the M-values to the cumulative length of the line whenever a route is created or the geometry of an existing route is edited. Alternatively, we've considered using a database trigger using the logic in this post: https://community.oracle.com/tech/developers/discussion/4496676/code-review-update-polyline-vertices-with-cumulative-length-of-line. We edit our routes in ArcMap using the normal editing tools, just like we would for a non-M-enabled FC. Cheers and good luck. (This somewhat-related post might be of interest: GP tool to batch-replace geometries from one FC to another (via related IDs)
... View more
06-23-2022
07:51 PM
|
1
|
0
|
4621
|
|
IDEA
|
Could an OOTB GP tool be added to Pro that would batch-create constraint attribute rules to enforce domains (including subtype domains)? In the GP tool parameters window, we’d select/deselect fields/tables from a checkbox list. The tool would automatically create constraint attribute rules to enforce domains, avoiding the need to create them manually ourselves. Otherwise it would be too much work to set up the attribute rules manually for dozens of tables, each having multiple fields with domains/subtypes. (Not to mention, there'd be a greater chance of making a mistake when doing it manually for so many tables/fields.) Could a GP tool be added that would help with that? Related: Prevent non-domain values from being used (across the board, including GP tools)
... View more
06-23-2022
06:24 PM
|
0
|
0
|
551
|
|
IDEA
|
Scenario: We have a coded value domain on a field. A user overrides the domain by using the field calculator or some other method. Now, there are invalid values in that field. Idea: Give us an optional setting in the table properties to "hard enforce" domains. (The setting could be disabled by default to avoid causing confusion in existing workflows.) All ArcGIS functionality/applications would be designed to honor the domain and prevent invalid values from being entered. I’m aware similar functionality can be achieved via customization using attribute rules or database triggers. But we shouldn't need to write custom code to enforce a pick list. Most enterprise systems have hard domains built in as a way of enforcing basic data integrity. For example, in IBM Maximo, the entire system honors domains by default — including back-end Python scripts. As a result, data integrity is rock solid, making data analysis easy. Could that same functionality be added to ArcGIS across the board, including GP tools?
... View more
06-23-2022
11:53 AM
|
5
|
7
|
3335
|
|
IDEA
|
I tested a different workaround, and it technically worked as intended. But it was far to slow to use: 1. Create a query layer with a NULL_FLAG field: select objectid, last_edited_date, case when last_edited_date is not null then 1 else 0 end as null_flag --Source: https://modern-sql.com/concept/null#order-by from events 2. Join from the table to the query layer via the OBJECTID. 3. Do an advanced sort using the fields from the query layer: - NULL_FLAG descending. - LAST_EDITED_DATE descending. Now, the latest dates are at the top and the nulls are at the bottom. Which is what I wanted. But like I said, it's far too slow to use. It takes roughly a minute to do the sorting, whereas sorting was instantaneous without the workaround (and sorting was instantaneous when the query was tested in the DB too). So, something about joining and sorting on the query layer is going awry. Esri Case #03092490 - Attribute table join (and sort) between two EGDB tables [performance issues] Related: Join from FC to mobile GDB database view results in buggy attribute table behavior Perform join at the database level, not the application level, when the datasets are in the same workspace Virtual Attributes (ad hoc) BUG-000160320: Slow performance in Pro when interacting with the attribute table of data which participates in a join.
... View more
06-22-2022
07:29 PM
|
0
|
0
|
8625
|
| 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 | 07-08-2026 01:29 PM |