|
POST
|
Related (SDE.ST_GEOMETRY): Bud_0-1714676066365.png select sde.st_entity(shape), sde.st_geometrytype(shape), a.* from gcsm_hc_anno a https://desktop.arcgis.com/en/arcmap/latest/manage-data/using-sql-with-gdbs/st-entity.htm https://desktop.arcgis.com/en/arcmap/latest/manage-data/using-sql-with-gdbs/st-geometrytype.htm
... View more
05-02-2024
11:55 AM
|
0
|
0
|
1538
|
|
IDEA
|
Interesting. I wonder why STPointN works for your polygon FC since the docs say it's meant for ST_LineString only.
... View more
05-02-2024
10:30 AM
|
0
|
0
|
1593
|
|
IDEA
|
Esri Case #03617239 - ENH: Provide execution time documentation for all GP tools in each ArcGIS Pro release Hi Esri Support, Could we submit this enhancement request to Esri Inc.? Provide execution time documentation for all common GP tools in each ArcGIS Pro release For example, a table in the online docs or a spreadsheet that is a list of generic tests/execution times for each geoprocessing tool. There would be a column for each version of Pro (going forward) so that we could easily assess if the version of Pro we want to upgrade to has any known GP tool performance issues. Bud_0-1714668688279.png I suspect that kind of testing is already done internally by Esri as part of regression testing for each release. I’m requesting that such information be released publically [or at least distributed to paying Esri customers]. More information in this closed idea: Benchmark GP tool execution times against previous version Esri Ideas Managers: “Please work with Technical Support on your concerns regarding performance issues.” Edit: Support said An Ideas post and an Enhancement request are essentially the same thing just logged through different systems. I could log the Enhancement request but I expect it would be closed with the same response from Esri Inc. as they have already stated that a Documentation Idea for this would not be implemented. Case closed.
... View more
05-02-2024
09:52 AM
|
0
|
0
|
3208
|
|
IDEA
|
Oracle 18c 10.7.1 EGDB: I want to write a SQL query that has rows with the XY coordinates of each vertex of an SDE.ST_GEOMETRY polygon feature class. I can do it for a line FC using a cross join, a numbers table, and ST_PointN: select
a.objectid,
b.number_ as vertex_id,
a.sde.st_x(sde.st_pointn(a.shape, b.number_)) as x,
a.sde.st_y(sde.st_pointn(a.shape, b.number_)) as y
from
infrastr.active_transportation a
cross join
infrastr.numbers b
where
b.number_ <= sde.st_numpoints(a.shape)
and a.objectid = 14113
Bud_3-1714664219486.png But if I run that query on a polygon FC instead of a line FC, then I get an error: ORA-20003: ST_Geometry type must be an ST_LINESTRING or ST_MULTIPOINT type.
ORA-06512: at "SDE.ST_GEOMETRY_OPERATORS", line 2614
If I comment out the lines that use ST_PointN, then the query runs successfully: select
a.objectid,
b.number_ as vertex_id
--a.sde.st_x(sde.st_pointn(a.shape, b.number_)) as x,
--a.sde.st_y(sde.st_pointn(a.shape, b.number_)) as y
from
infrastr.bc_polygons a
cross join
infrastr.numbers b
where
b.number_ <= sde.st_numpoints(a.shape) Bud_4-1714664251200.png So, that tells me that the problem is with ST_PointN. ST_PointN appears to only work for lines: ST_PointN ST_PointN takes an ST_LineString and an integer index and returns a point that is the nth vertex in the ST_LineString's path. Can a function be added to ST_GEOMETRY to get a specific vertex of a polygon? Get vertex of SDE.ST_GEOMETRY polygon using SQL
... View more
05-02-2024
08:42 AM
|
1
|
2
|
1621
|
|
IDEA
|
ArcGIS Pro 2.9.5: The Go To XY tool doesn't seem to support UTM coordinates that have decimal points. The input text box is red: Bud_0-1714660303895.png The only way to get those coordinates to work is to manually remove the decimal points, which is cumbersome. Could the Go To XY tool be enhanced to support UTM coordinates that have decimal precision?
... View more
05-02-2024
07:34 AM
|
1
|
0
|
919
|
|
IDEA
|
ArcGIS Pro 2.9.5: When pasting coordinates from external sources into the Go To XY tool, it's not always clear what format Pro is expecting. For example, when copying UTM XY coordinates from SQL Developer, I didn't know how to format the coordinates; no combination of x,y seemed to work: Bud_2-1714659079207.png I had to poke around in Pro to see how it displays UTM coordinates and then mimic that format. Idea: Could the expected coordinate format be displayed as greyed-out text? The text would disappear when the user starts typing. Bud_1-1714658885575.png It would be similar to what we see in Ontario government web maps in Layers > Search By Location > Go to Latitude/Longitude (DD) > Search by coordinates: Bud_3-1714659297402.png https://www.lioapplications.lrc.gov.on.ca/AgMaps/Index.html?viewer=AgMaps.AgMaps&local
... View more
05-02-2024
07:17 AM
|
0
|
0
|
773
|
|
IDEA
|
ArcGIS Pro 2.9.5: Geoprocessing tools that are docked in the geoprocessing pane can be run using the CTRL+SHIFT+ENTER keyboard shortcut, such as Feature Class to Feature Class. But that shortcut doesn't seem to work for floating gp tools like Export Features (via the Contents pane > layer context menu > Data > Export Features). Bud_0-1714657127163.png Could CTRL+SHIFT+ENTER keyboard shortcut functionality be added for floating GP tools, too?
... View more
05-02-2024
06:42 AM
|
0
|
1
|
720
|
|
IDEA
|
You might be better off writing your SQL queries in a proper SQL client like Toad or SQL Developer (Oracle). And then copying the SQL into the query layer dialog in Pro. SQL clients have lots of really useful tools that make writing SQL much easier. Some SQL clients have portable installation options (no Windows admin rights required).
... View more
05-01-2024
11:42 PM
|
0
|
0
|
483
|
|
POST
|
Related: Idea: Make Join Query Layer geoprocessing tool Is ArcGIS Pro the right tool for tabular/join-based analysis?
... View more
04-30-2024
08:30 PM
|
1
|
0
|
6785
|
|
IDEA
|
ArcGIS Pro 2.9.5; Oracle 18c 10.7.1 eGDB: There are situations where the Add Join geoprocessing tool isn't suitable, such as this issue: BUG-000154798: The 'Select By Attributes' tool does not select only records with specified field values added through a one-to-many join but instead selects all records with duplicate ObjectIDs. A query layer would be a workaround for some use cases (instead of exporting the Add Join data to a FGDB). select
cast(rownum as int) as unique_id, --cast as integer to ensure Pro knows the values are integers, not doubles
a.*,
b.objectid as join_objectid, --"join_' prefix: can't have duplicate field names b.project_id as join_project_id, b.fund_source as join_fund_source, b.year_fund as join_year_fund, b.amount as join_amount
from
projects a --one
left join
project_finances b --many
on a.project_id = b.project_id Creating a query layer from scratch might be feasible for SQL power users like me, if I'm not in a rush. But for non-SQL people doing fast-paced data analysis, writing SQL queries like that isn't practical. So, I'm wondering if a geoprocessing tool could be added that would create a 1:M join query in a query layer without the user needing to write any code. It would be similar to the Make Aggregation Query Layer geoprocessing tool (screenshot), except it wouldn't aggregate the data. The query would need a calculated unique ID column for when the join is M:M (neither of the two table's ObjectID fields would be unique in that case). I think the unique ID column would need to be database-specific, such as using Oracle's ROWNUM pseudocolumn, or whatever mechanism is used by the database. A tool/query like that would give users an alternative join mechanism when using enterprise geodatabase data, with the known limitation that the data wouldn't be editable, unlike Add Join (the input table is editable). Could a Make Join Query Layer geoprocessing tool be added to ArcGIS Pro?
... View more
04-30-2024
01:42 AM
|
0
|
0
|
857
|
|
IDEA
|
There are scenarios where query layers silently exclude rows from the underlying SQL query: IDs aren't unique or have nulls Features with null shapes Other? If Pro is going to automatically exclude rows, it should at least tell us about it. Could a message at the bottom of the attribute table tell us how many rows were excluded? Or if not a count, then warning that some rows were excluded? The message could be similar to the message that's displayed when a join is one-to-many and so there are duplicate rows in the attribute table.
... View more
04-29-2024
01:06 AM
|
1
|
0
|
546
|
|
POST
|
Some quotes from colleagues from other organizations: Biology: It is this kind of thing that has led me to not trust joins in Arc, especially with bigger datasets. When I need to join tables, I typically use FME or R as they seem more stable with large datasets and produce more predicable results. Public Works: Pro can be flakey when you have joins. Lots of unexpected behaviour. I use SQL in the backend instead. Engineering/Consulting: I've come across similar issues and limitations. I'm researching alternatives as well. I'm under the impression that there aren't any immediate plans to fix the issues mentioned in the post above (other than #6 and #11, which I think are fixed in 3.x). If that's the case, then what would be a good alternative to Pro for tabular/join-based analysis of real-time EGDB data? I'm comfortable using SQL in Oracle SQL Developer. But that doesn't help my coworkers, who aren't SQL specialists. Excel (as a real-time front-end to the EGDB via ODBC) isn't ideal, even with improved functionality like Power Query and the XLookup function, but it might be the only practical option. MS Access might have been ok back in the day (as a real-time front-end to the EGDB via ODBC). But at this point, it is very dated, clunky, and limited. For example, IIF statements are very cumbersome in Access compared to normal SQL CASE functionality.
... View more
04-28-2024
10:40 PM
|
0
|
0
|
3373
|
|
POST
|
ArcGIS Pro 2.9.5; Oracle 18c 10.7.1 eGDB: My unit has recently completed a months-long project that involved extensive tabular analysis of our EGDB data. The analysis involved complex queries, including non-spatial joins. Ultimately, my coworkers found they couldn't use ArcGIS Pro for the analysis and ended up using Excel as a temporary workaround. Now that the project is complete, they've asked the following question: Going forward, is ArcGIS Pro the right tool for tabular/join-based analysis of our enterprise geodatabase data? Based on the issues listed below, we are coming to the conclusion that the answer is, unfortunately, no. Select By Attributes on joined data: For rows that are 1:M, all rows in the join table get selected, despite the selection SQL expression. BUG-000154798 No virtual attribute functionality Whereas, tools like Excel can have real-time calculated fields (formulas) in true Excel tables (or Power Query) for ad hoc analysis. Trust issues with query layers: Query Layers omit rows from the underlying query without any warning. Here is a specific example, but there are other cases too: Idea - Query Layers — Include features with null shape in attribute table Slow joins to query layers BUG-000160320 Esri Case: 03356933 Definition query on join table will effectively result in an inner join Bug/Article-000007166, BUG-000153808, BUG-000131999, BUG-000129607, BUG-000153950, BUG-000164109 Idea - Add Join — Create independent definition query on join table (pre-filter) Definition query on join returns incorrect rows Esri Case: 03387420 Possibly the same issue: ArcGIS Pro Table Join Shows Wrong Records Fixed in 3.x? Join with definition query: Export has more rows than input (definition query is ignored) BUG-000135505 Esri Case: 03619440 Can't sort on join table field in attribute table BUG-000157874 Esri Case: 03616093 Can’t create 1:M join using unregistered tables, query layers, and database views It’s not always clear why a join is one-to-first vs. one-to-many. Records don't get selected when using Select By Attributes on sorted attribute table Esri Case: 03677944 ArcGIS Pro 2.9.5 - Fixed in 3.x? Export join to FGDB: Join table ID field is null Esri Case: 03616469 BUG-000146098 Adding a definition query excludes a row of data when using Add Join Esri Case: 03704340 BUG-000170869 Inconsistent Join Operation behaviour when joining tables with definition query in ArcGIS Pro BUG-000171969 In ArcGIS Pro, the Select by Attributes tool removes the leading space from a value in clause-mode, but not in SQL-mode. BUG-000173164 Join to unregistered database view is one-to-first instead of one-to-many Esri Case: 0379353 BUG-000173762 One-to-first join doesn't use related record with lowest OBJECTID When a join exists between a table and a feature class in an enterprise geodatabase, 'Select By Attributes' takes a long time to load the results in the attribute table Esri Case: 03893770 BUG-000176895 It's unfortunate that we feel Pro isn't the right tool for tabular analysis of geodatabase data. We've been die-hard ArcGIS Pro users up to this point. But ultimately, users have developed trust issues and have come up against too many walls when doing tabular analysis in Pro. What tools do experienced practitioners use for complex tabular analysis of enterprise geodatabase data? The current use case is: analysis of construction project GIS data, with no room for error. And many other use cases.
... View more
04-28-2024
10:40 PM
|
2
|
7
|
3374
|
|
IDEA
|
ArcGIS Pro 2.9.5; Oracle 18c 10.7.1 eGDB: Staff in my unit use an OS authentication .SDE connection when editing data. When using that connection, the user’s Windows/network username is populated in editor tracking fields: I.e. JSmith. That works as expected. But when doing data maintenance tasks like table design changes, power users like me use a database connection. The .SDE connection uses an Oracle user/owner/schema called ENGINEERING. We need to use that connection to make table design changes, instead of the OS authentication connection, because the OS authentication connection doesn’t have privileges for making table design changes. Often, data maintenance initiatives involve not only table design changes, but also editing tasks like batch populating a field. It isn’t realistic to expect the person to flip back and forth between the DB connection (table design changes) and the OS connection (editing) when performing complex data maintenance tasks. We’ve tried to tell power users to only use the OS connection to make edits, but people inevitably use the DB connection for field calculation edits, too. The problem with using the DB connection for edits is we don’t know what person made the edits, we only know that the ENGINEERING DB connection was used for the edits, because editor tracking inserts ENGINEERING as the user name. That’s not very useful when we’re troubleshooting issues/trying to figure out who made the edit. Idea: When editing using a DB connection, could editor tracking use the Pro licensing username, instead of the user/owner/schema name? JSmith (Pro licensing user, via AGOL or Portal licensing), or JSmith/ENGINEERING But not just ENGINEERING.
... View more
04-28-2024
01:15 PM
|
7
|
0
|
677
|
|
IDEA
|
@MErikReedAugusta Thanks for the Python suggestion. I'm much better with SQL than with Python, so I ended up writing a PL/SQL function to flag problem rows in a SQL query. I wrote a custom function that uses ST_INTERSECTS() to check if each feature can be used in a spatial SQL operation. If there is an error, then the function returns "error" to the query's resultset. That let me flag the problem row. Stack Overflow: Find row with problem shape (SDE.ST_GEOMETRY spatial type) with function check_shape(anno_shape sde.st_geometry, boundary_shape sde.st_geometry) return varchar2
is
v_test_result varchar2(10);
begin
select
sde.st_intersects (boundary_shape, anno_shape)
into
v_test_result
from
dual;
return 'no error';
exception
when others then
return 'error';
end;
select
anno.objectid,
anno.shape as anno_shape,
check_shape(anno.shape, boundary.shape) as check_shape
from
city.boundary boundary
cross join
infrastr.gcsm_hc_anno anno
where
check_shape(anno.shape, boundary.shape) = 'error' Bud_0-1714196544893.png
... View more
04-26-2024
10:43 PM
|
0
|
0
|
1161
|
| 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 |