问题标签 [oracle-spatial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mybatis - mybatis中动态构造SQL请求参数
以下是我的查询
在上面的查询中,距离的值将发生变化。'SDO_BATCH_SIZE=0 距离=60 单位=英里'
那么我可以通过使用 mybatis/ibatis 将值例如 60 添加到参数来动态构造请求参数吗?
oracle - Oracle SDO_JOIN,需要多长时间?
我想使用 SDO_JOIN-Operator 来 selfJoin 一个表。该表具有以下结构: ID VARCHAR2(20)
SHAPE SDO_GEOMETRY()
该表有 25778 行。
以下 SDO_JOIN-Statement 需要 90 秒:
90 秒是正常时间还是太高。我不知道什么是执行的好时机。
再见,安德烈
sql - SEM_MATCH 调用返回 ORA-00902:无效数据类型
当尝试从 http://docs.oracle.com/cd/E11882_01/appdev.112/e25609/sem_apis_ref.htm运行示例时,除了最重要的 SPARQL 查询调用之外,一切都很好。这是示例“家庭”脚本的缩短版本:
SQLPLUS 输出:
这些示例中的所有类似调用都失败并出现相同的错误。有任何想法吗?
sql - Can Oracle be forced to use the spatial index for sdo_filter in combination with an or clause?
I have a table MY_TABLE in oracle with a Spatial index MY_IDX and about 22000 rows. The following query runs in less than ~500 ms and returns ~2600 results.
When I add an "OR" clause with another spatial filter, the query takes ~30 seconds to run, consuming vastly more CPU than it should:
The explain plans of the queries are very different - the first shows table access is "BY INDEX ROWID", where as the second is "FULL". Is there a way I can get the second query to perform in a manner similar to the first?
v$version returns:
On a side note, a different db running oracle enterprise edition produces a plan in which the index is used and the results merged. Can this be done with standard edition?
oracle - SDO_GEOM.SDO_INTERSECTION 给出奇怪的结果
我正在使用 oracle 空间分析来计算两个几何的交集,但我得到了非常奇怪的结果。
- 黄色是几何1
- 蓝色是几何2
- 红色是路口:
SDO_GEOM.SDO_INTERSECTION(geometry1,geometry2, 0.00005);
这怎么可能呢?我应该使用其他功能吗?
java - 如何访问 JPA 转换器中的 jdbc 连接?
我正在使用 Oracle Spatial,并且我有一个带有 SDO_GEOMETRY 字段的表。该表映射到 JPA 实体。我想让 SDO_GEOMETRY 字段映射到 javaoracle.spatial.geometry.JGeometry
类型。
我想我应该使用 JPA转换器并在java.sql.Struct
(或可能oracle.sql.STRUCT
)之间进行转换。
问题是转换为 Struct 的 JGeometry 方法JGeometry.storeJS(Connection conn, JGeometry geom)需要 jdbc 连接作为参数。
springEntityManagerFactory
配置了持久化单元名称,持久化单元包含数据源jndi名称,数据源定义在tomcat中,作为连接池。
关于如何获得Connection
转换器的任何想法?
这是我想要实现的:
我正在使用 Spring 4、spring-data-jpa 1.6、Hibernate 4、Tomcat 8、Oracle 12c。
更新了更多信息:
弹簧配置:
sql - Oracle 中基于 SRID 的地理或投影数据
背景: 我的应用程序需要显示存储在 Oracle 中的空间数据(几何)的 MBR。为此,我目前正在使用 Oracle 的 SDO_AGGR_MBR() 函数,但速度很慢。经过一番研究,我发现了一个函数 SDO_TUNE.EXTENT_OF(),它也计算 MBR,并且比 SDO_AGGR_MBR 快得多。它有两个问题。它仅适用于投影坐标中的 2D 数据。为了利用 EXTENT_OF 的性能优势,我决定将其用于投影数据并回退到 SDO_AGGR_MBR 用于地理数据。
问题: 我一开始假设所有 SRID 介于 4000 到 5000 之间的数据都是地理数据,但这并不完全正确。我找到了一个名为 MDSYS.CS_SRS 的表/视图,它存储了坐标系信息。
我打算使用查询找到 SRID:
然后使用此 SRID 查询 MDSYS.CS_SRS 以查明数据是地理数据还是投影数据。它有名为 WKTEXT 的列,其行以 PROJCS 或 GEOGCS 开头。
我可以对此进行原型制作,它似乎可以工作,但完全相信这是正确的方法。上面的查询获取数据第一行的 SRID。我不知道 SRID 在单个列中是否可以不同。我所做的另一个假设是 WKTEXT 列中的文本。如果在所有情况下都不是 PROJCS/GEOGCS 并且值在不同版本的 Oracle 之间发生变化,我会遇到很多麻烦。事实上,现在,我只是假设 PROJCS 表示投影 CS,GEOGCS 表示地理 CS,我不确定它是否正确..
我想知道是否有更简单的方法来确定 Oracle DB 中的空间数据是投影还是地理数据。
java - 是否可以使用 Hibernate-Spatial over Oracle 读取 SDO_POINT 的 Z 组件?
我正在使用 Hibernate-Spatial 将com.vividsolutions.jts.geom.Point
实体中的SDO_POINT
字段映射到我的 Oracle 11g 表中的字段。
表中的列定义为:
该列映射为:
(@QueryType
注释来自 QueryDSL,因此可能不相关,但为了完整起见,我将其包括在内)
以下是 SDO_POINT 列的内容示例(如 SQLDeveloper 中所示):
一切正常,只是我无法读取 point 的 Z 分量。该类Point
只有getX()
和getY()
访问器。
我试图org.hibernate.spatial.jts.mgeom.MCoordinate
通过方法访问底层对象,getCoordinate()
但 Z 值等于 Y 值。
任何人都可以帮助我使用 Hibernate-Spatial 获得 Z 值吗?还是只是不支持?
oracle11g - Oracle SQL Developer 创建 SDO_GEOMETRY 无效数据类型
我正在尝试在 SQL Developer 中创建一个空间数据库,该数据库连接到 AWS 上的 Oracle 11g 第 2 版。
当我这样做时
并编译,我总是得到这个:
SQL Developer 似乎找不到sdo_geometry
数据类型。我该如何解决这个问题?
oracle - 在 oracle 中创建空间数据库时无法更新 user_sdo_geom_metadata
我正在使用 oracle 11g 并尝试创建一个空间数据库,我只是从oracle 文档中复制了示例代码,
但是在更新元数据部分时,它给出了重复输入错误,我尝试delete from user_sdo_geom_metadata
了它并没有给出任何错误,然后尝试再次插入,仍然出现重复输入错误。我也尝试过select * from user_sdo_geom_metadata
,但一无所获。有人知道为什么吗?谢谢
示例代码:
错误原因:user_sdo_geom_metadata 视图中的给定表和列值对存在重复条目。