|
POST
|
I'm considering enabling Archiving in a few FCs in an Oracle 18c enterprise GDB. Are there any known tradeoffs with Archiving? For example, sometimes with geodatabase functionality, if we enable thing A, then thing B & C are no longer possible. Thanks.
... View more
04-18-2022
06:47 PM
|
0
|
0
|
720
|
|
IDEA
|
It would be helpful if we had the option to hide certain objects from users in Catalog (including objects that aren't registered with the GDB). If I remember correctly, we used to be able to do that with the SDE command line. But I don't think that's possible anymore.
... View more
04-18-2022
12:19 PM
|
0
|
0
|
761
|
|
IDEA
|
We also need to be able to remove the Z dimension from ST_GEOMETRY. Related post here: I need to remove Z dimension on spatial column (ST_GEOMETRY) with Esri on Oracle using the PL/SQL packages
... View more
04-17-2022
02:59 PM
|
0
|
0
|
2172
|
|
IDEA
|
As far as I can tell, the Points To Line GP tool can’t be used to create multi-part polylines: Points To Line GP tool ASSET_ID PART_NUM VERTEX_NUM X Y M
---------- ---------- ---------- ---------- ---------- ----------
001 1 1 0 5 0
001 1 2 10 10 11.18
001 1 3 30 0 33.54
001 2 1 50 10 33.54
001 2 2 60 10 43.54
Could support for multi-part features be added?
... View more
04-15-2022
04:18 PM
|
2
|
2
|
1465
|
|
POST
|
This post is quite old. I wonder if anything has changed since then? Any enhancements added to ArcGIS, etc.?
... View more
04-15-2022
12:16 PM
|
0
|
0
|
1621
|
|
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
|
5131
|
|
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
|
2225
|
|
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
|
2800
|
|
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
|
2858
|
|
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
|
2167
|
|
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
|
1122
|
|
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
|
1126
|
|
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
|
2177
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-20-2023 10:24 AM | |
| 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 |