|
POST
|
I think it's a way of tricking SDE. If the system tables for that FC are broken, then if you create a new FC in it's place, SDE will replace the broken system table data with new system table data. So hopefully when you delete the new FC this time, the system table data will be deleted successfully too. And then the FC will disappear from Catalog, which is what you want. My limited experience is: Sometimes these things take multiple attempts. And sometimes, if you just wait a few days, it resolves itself. I'm not an expert though. So I could be wrong.
... View more
04-14-2022
10:48 AM
|
0
|
2
|
5239
|
|
IDEA
|
Could a function be added to ST_GEOMETRY to remove the M-dimension from a geometry? Similar to SDO_GEOMETRY's CONVERT_TO_STD_GEOM function: SDO_LRS.CONVERT_TO_STD_GEOM Converts an LRS geometric segment to a standard SDO_GEOMETRY line string by removing measure information.
... View more
04-14-2022
10:41 AM
|
0
|
2
|
2273
|
|
IDEA
|
After digging a bit more, I did come across a PDF that mentions 'MULTILINESTRING M': https://portal.ogc.org/files/?artifact_id=25355 (PDF download). Search the PDF for "MULTILINESTRING M". So, from that limited evidence, I suppose the extra M might be the correct syntax after all. Maybe the problem is SDO_GEOMETRY, not ST_GEOMETRY. Could Esri delete this idea? I don’t think I can delete it myself.
... View more
04-13-2022
04:55 AM
|
0
|
0
|
2845
|
|
IDEA
|
I have an M-enabled SDE.ST_GEOMETRY polyline FC in an Oracle 18c EGDB. If I were to convert the ST_GEOMETRY shape to WKT, it would look like this: select sde.st_astext(shape) as st_to_wkt from test_st_geom
MULTILINESTRING M (( 0.0 5.0 -100000.0, 10.0 10.0 -100000.0, 30.0 0.0 -100000.0),( 50.0 10.0 -100000.0, 60.0 10.0 -100000.0)) The st_astext() function adds an extra 'M' to the text. That extra 'M' doesn't seem to comply with the OGC WKT format. I can't find any OGC/WKT documentation that says there should be an extra 'M' in there for M-enabled geometries. That extra 'M' causes problems when trying to convert the text from st_astext() to other geomtery types. Example: Convert M-enabled SDE.ST_GEOMETRY to SDO_GEOMETRY using SQL Could Esri give us a way to convert M-enabled ST_GEOMETRY to WKT using proper OGC syntax? Thanks.
... View more
04-12-2022
01:12 PM
|
0
|
1
|
2903
|
|
POST
|
Thanks for the info. I talk more about my use case here: Practical GIS automation for non-IT users
... View more
04-11-2022
07:17 AM
|
1
|
0
|
2226
|
|
IDEA
|
For example, a query that generates rows for each vertex (3000 features): 1 SELECT a.ROAD_ID
2 ,b.NUMBERS VERTEX_INDEX
3 ,a.SDE.ST_X(SDE.ST_PointN(a.SHAPE, b.NUMBERS)) AS X
4 ,a.SDE.ST_Y(SDE.ST_PointN(a.SHAPE, b.NUMBERS)) AS Y
5 FROM ROAD a
6 CROSS JOIN NUMBERS b
7 WHERE b.NUMBERS <= SDE.ST_NumPoints(a.SHAPE)
----------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 5996 | 1545K| | 262 (1)| 00:00:01 |
| 1 | MERGE JOIN | | 5996 | 1545K| | 262 (1)| 00:00:01 |
| 2 | INDEX FULL SCAN | R23715_SDE_ROWID_UK | 30 | 90 | | 1 (0)| 00:00:01 |
|* 3 | SORT JOIN | | 3997 | 1018K| 2392K| 261 (1)| 00:00:01 |
| 4 | TABLE ACCESS FULL| ROAD | 3997 | 1018K| | 34 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
" 3 - access(""B"".""NUMBERS""<=""SDE"".""ST_NumPoints""(""A"".""SHAPE""))"
" filter(""B"".""NUMBERS""<=""SDE"".""ST_NumPoints""(""A"".""SHAPE""))" That query takes 30 seconds to run, which is far too long. In comparison, pretty much any other query on the FC runs instantly. Testing/benchmarking: I created two tables (both contain 10,000 rows): ROADS_BM and ROADS_STARTPOINT_BM. I ran simple queries on the tables using each of the functions that are involved. Here are the results: +-----------+------------------+---------------------------------------------------------------------------+
| TIME(sec) | RETURN TYPE | QUERY |
+--------------+-----------+------------------+---------------------------------------------------------------------------+
| ST_X | < 0.5 | Double precision | SELECT ROAD_ID FROM ( |
| | | (Number) | SELECT ROAD_ID, SDE.ST_X(SHAPE) AS X FROM ENG.ROADS_STARTPOINT_BM |
| | | | ) WHERE X IS NOT NULL ORDER BY ROAD_ID |
+--------------+-----------+------------------+---------------------------------------------------------------------------+
| ST_Y | < 0.5 | Double precision | SELECT ROAD_ID FROM ( |
| | | (Number) | SELECT ROAD_ID, SDE.ST_Y(SHAPE) AS Y FROM ENG.ROADS_STARTPOINT_BM |
| | | | ) WHERE Y IS NOT NULL ORDER BY ROAD_ID |
+--------------+-----------+------------------+---------------------------------------------------------------------------+
| ST_NumPoints | < 0.5 | Integer | SELECT ROAD_ID FROM ( |
| | | | SELECT ROAD_ID, SDE.ST_NumPoints(SHAPE) AS NUM_POINTS FROM ENG.ROADS_BM |
| | | | ) WHERE NUM_POINTS IS NOT NULL ORDER BY ROAD_ID |
+--------------+-----------+------------------+---------------------------------------------------------------------------+
| ST_PointN* | **9.5** | ST_POINT | SELECT ROAD_ID FROM ( |
| | | (ST_GEOMETRY | SELECT ROAD_ID, SDE.ST_PointN(SHAPE,1) AS ST_POINT FROM ENG.ROADS_BM |
| | | subclass) | ) WHERE ST_POINT IS NOT NULL ORDER BY ROAD_ID |
+--------------+-----------+------------------+---------------------------------------------------------------------------+ Function documentation: ST_X, ST_Y, ST_NumPoints, ST_PointN The result? ST_PointN is the problem. Its 9.5 second response time is slow compared to the other functions. So I think that proves that the performance of ST_PointN needs to be improved.
... View more
04-10-2022
06:43 AM
|
0
|
0
|
1143
|
|
IDEA
|
When troubleshooting performance issues with SDE.ST_GEOMETRY queries in Oracle 12c/18c, I’ve found that the ST_PointN function is very slow when used in bulk (10x slower than many other ST_GEOMETRY functions). The ST_PointN function doesn’t seem do anything special. It’s not doing complex spatial analysis or anything like that; it just gets a specific point from the SHAPE blob. So I wonder if there might be an issue with how it’s designed. For example, changing the the function so that it’s DETERMINISTIC might make it faster. Could Esri investigate/improve the performance of that function?
... View more
04-10-2022
06:24 AM
|
0
|
1
|
1147
|
|
POST
|
I'm trying to find a way to send scheduled emailed notifications based on GIS data. I want the automation to be server-based so that the mechanism is robust/reliable. I don't want to use Windows Task Scheduler on my local PC, which is what is used for scheduled geoprocessing tools. I'm not in IT, so I can't manually set up scheduled automations on a server (i.e. Windows Task Scheduler, Oracle Scheduler, or SMTP). My organization doesn't have ArcGIS Notebook Server, and even if they did, as non-IT staff, I wouldn't have access to it. We don't have 3rd-party automation software like FME. And I don't have Windows admin credentials for installing software on my PC. But what I do have access to is Microsoft Power Automate via Office 365 (not the Desktop version of Power Automate). And I have ArcGIS Pro, including SDE/Oracle GDB connection files: an OS Authentication connection file and a database connection file to a specific Oracle user/schema/data-owner. Question: Is there a way to use Microsoft Power Automate (possibly in conjunction with Python and my SDE connection files) to send scheduled emailed notifications? For example, on a nightly schedule, I want a server (Power Automate) to check for records in a GIS/SDE query. If the query finds any records, then email me a notification. So, if there are construction projects in a FC where the status is FUTURE and the date <= sysdate, then those records are out-of-date, so I need the system to tell me about them so I can fix them. Is there a way to do that?
... View more
04-08-2022
06:17 PM
|
2
|
4
|
2202
|
|
POST
|
In SQL Server, does “geometey.M” generate individual rows for each vertex/M-value? I’m not aware of a simple way to generate rows for each vertex…when it comes to SDE.ST_GEOMETRY in Oracle. We don’t have a GetVertices function, etc.
... View more
04-08-2022
04:41 AM
|
0
|
0
|
2111
|
|
POST
|
Reason: it’s a possible simplistic way to check M-values for issues: Find polyline vertices where M-value is not cumulative length The thought being: I could check the existing M-sum vs. the theoretical M-sum. If there is a difference, then that would tell me I have incorrect M-values.
... View more
04-08-2022
04:03 AM
|
0
|
0
|
2154
|
|
POST
|
I have multipart polylines in an ST_GEOMETRY feature class (in an Oracle 18c EGDB). Using SQL, I want to get the sum of the M-values of each polyline. For example, for the following multipart line, the calculation would be: 11.18 + 33.54 + 43.54 = 88.26 (The M-sum is not to be confused with the length of the line.) How can I do that using SQL?
... View more
04-08-2022
04:01 AM
|
0
|
4
|
2163
|
|
IDEA
|
We need an optional setting in feature classes to do the following: Automatically set m-values to the cumulative length of line (when geometry gets edited) More info here: Route layers using XY instead of M values? That would avoid the need to manually use the "Set as distance" tool...every time a feature is edited. (that’s a huge pain and causes countless problems)
... View more
04-07-2022
06:46 PM
|
7
|
3
|
1856
|
|
POST
|
I’ve been asking this same question for the last 10 years. No one seems to understand…just let me base my road events on the length of the line. Why do I need to redefine the M-values via the Set as distance tool every time a feature is edited? I only recently developed a way to automatically redefine M-values (when a geometry is edited): - Arcade attribute rule: Set polyline M-values to cumulative length of line - PL/SQL (could be used in a Oracle db trigger): Update polyline vertices with cumulative length of line But we shouldn't need to write custom tooling for that. We should have the option to do that OOTB...right in the FC properties. Related: Automatically set M-values to cumulative length of line (after edits) Length-based linear referencing event layer Find polyline vertices where M-value is not cumulative length Get sum of M-values using SQL
... View more
04-07-2022
06:03 PM
|
1
|
0
|
1652
|
|
IDEA
|
I'm a GIS power-user (PL/SQL development, Python, attribute rules, data owner etc.). But I'm not in IT. I come from the IBM world, where regular users can create: - Scheduled emailed reports (via the UI; no-code) - Scheduled jobs to pre-compute fields and tables (via the UI; no-code or low-code) That functionality is available OOTB to all applicable IBM Maximo users -- as part of every IBM Maximo implementation. That is a really big deal. IBM Maximo users are empowered to do their own automations...right through the frontend application. It would be great if we could do that sort of thing in ArcGIS too -- create our own scheduled automations via Pro. (No, I don't want to set up scheduled geoprocessing tasks or scheduled Windows tasks on my own computer...which would only run when I'm logged in. That's too fragile and uncentralized…I'm not interested in that.) I'm aware that Esri has ArcGIS Notebook server, which can be used for automation purposes. I've pitched ArcGIS Notebook Server to my organization, but their immediate response was: "It's an administrative tool meant for IT staff only, it would take political will to buy it, and implementation would take time that we don't have. So, no. We have no plans to implement ArcGIS Notebook Server, and even if we did, we'd only use it for IT administration." I think there is a missed opportunity here, which is, empowering everyday users to automate their work...through OOTB tools in ArcGIS Pro. It could very well be that ArcGIS Notebooks can actually achieve the kinds of automation that I'm referring to (although scheduled/emailed reports probably aren't as easy as they ought to be -- and can't be done through the UI). But the point I'm trying to make is that IT departments don't see ArcGIS Notebook Server as a "tool for the people". They see it as an IT-admin tool. The result is: power-users like me are stuck in the stone age...without automation tools. To me, scheduled GIS automation should be OOTB...built into ArcGIS Pro/server, and available to power-users as part of standard ArcGIS implementations. Is there anything Esri can do to make scheduled automation more easily available to everyday users?
... View more
04-07-2022
08:27 AM
|
1
|
6
|
2502
|
| 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 | a month ago |