我使用jts几何对象将我的几何对象存储为Oracle SDO_Geometry.但是,当我想使用SDO_GEOM.RELATE方法时,它们无法正常工作,我意识到我需要创建一个空间索引,但不知道如何处理hibernate.你知道这个问题的任何注释吗?
@Type(type="org.hibernate.spatial.GeometryType")
private Geometry area;
Run Code Online (Sandbox Code Playgroud) 我有空间数据,Oracle已分配SRID为81989.我想将它改为27700 - 它们都是相同的坐标系,它只是Oracle使用自己的SRID; 所以不需要重新投影(因为SDO_CS.TRANSFORM它不起作用,因为它实际上也改变了坐标,这是我不想要的)).
我已经USER_SDO_GEOM_METADATA足够轻松地更新了,但是SDO_GEOMETRY包含数据本身也有SRID,我不知道如何更改它.
例如,我的当前数据如下:
MDSYS.SDO_GEOMETRY(2001,81989,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)
Run Code Online (Sandbox Code Playgroud)
我需要把它改成:
MDSYS.SDO_GEOMETRY(2001,27700,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)
Run Code Online (Sandbox Code Playgroud)
对于表中的所有行.但我不知道如何自动更改SDO_GEOMETRY中的单个元素,同时保持数组的其他方面不变.
任何人都能指出我的方向吗?谢谢.
我在客户端上使用带有 Spatial 和 Oracle SQL Developer 的 Oracle 11g 2.0.1.0。我有一个Places带有主键的表ID和一个Coordinates带有 tw 列的视图:ID引用中的帖子Places和 SDO geometry Point。
我想使用以下 SQL 创建一个物化视图:
CREATE MATERIALIZED VIEW PlaceCoordinates
NOCACHE NOPARALLEL BUILD IMMEDIATE
USING INDEX
REFRESH ON DEMAND COMPLETE
DISABLE QUERY REWRITE AS
SELECT Places.ID, Coordinates.Point
FROM Places
LEFT OUTER JOIN Coordinates ON Places.ID = Coordinates.ID
ORDER BY Places.ID
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
ORA-30373: 在此上下文中不支持对象数据类型
无论我对什么进行排序(即使它只是一些愚蠢的东西1),我都会遇到同样的错误。但是,如果我删除该ORDER BY语句,它就可以正常工作。如果我只是做一个普通的事情SELECT而不创建一个物化视图,它也可以很好地进行排序。
为什么我不能排序?反正有这个问题吗?
我需要通过 Pl SQL Query 计算两个位置之间的距离。我试过一些 Qry 但没有得到它。
为此,我们在 SQL 中使用 Query 如下
SELECT ROUND(geography::Point(cast('19.2806118' as float),cast('72.8757395' as float) ,
4326).STDistance(geography::Point(cast('19.4482006' as float),
cast('72.7912511' as float), 4326))/1000,1) DIST
Run Code Online (Sandbox Code Playgroud)
结果:20.6
为了在 ORACLE Db 中计算相同的值,我在互联网上找到了一个解决方案,如下所示
select sdo_geom.sdo_distance(sdo_geometry(2001,4326,null,sdo_elem_info_array(1, 1, 1),
sdo_ordinate_array( 19.2806118,72.8757395)),sdo_geometry(2001,4326, null,sdo_elem_info_array(1, 1,
1),sdo_ordinate_array( 19.4482006,72.7912511)),1,'unit=KM') distance_km from dual
Run Code Online (Sandbox Code Playgroud)
结果:10.9271..
请建议在我获得 MS SQL 时会给我结果的方法
有没有人有关于如何将Oracle Spatial数据移动到Postgres的明确文档(社区版和企业数据库...谢谢
在我的开源数据库迁移项目Flyway中,我具有一项功能,可清除当前数据库架构中的所有对象,而无需删除架构本身。
典型的实现如下:
尽管Oracle Spatial Indexes引起了我很大的痛苦。
我如何可靠地枚举它们以产生DROP INDEX xyz语句?
注意:这必须同时适用于XE,10g和11g。MDSYS模式中的所有引用都必须消失。
我当前的解决方案如下所示:
在XE上:
在Oracle 10g上:
10g似乎可以级联删除MDSYS.sdo_index_metadata_table中的元数据和删除空间索引表(MDRT_1234 $等)。
XE没有。
10g和XE都不会在MDSYS中级联删除元数据。user_sdo_geom_metadata
我正在使用oracle 11g并尝试创建一个空间数据库,我只是从oracle文档中复制了示例代码,
但是当更新元数据部分时,它给出了重复的条目错误,我尝试了delete from user_sdo_geom_metadata它并没有给出任何错误,然后再次尝试插入,仍然出现重复输入错误.我也试过select * from user_sdo_geom_metadata但什么都没有.任何人都知道为什么?谢谢
示例代码:
CREATE TABLE cola_markets (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape SDO_GEOMETRY);
INSERT INTO cola_markets VALUES(
1,
'cola_a',
SDO_GEOMETRY(
2003, -- two-dimensional polygon
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,1003,3), -- one rectangle (1003 = exterior)
SDO_ORDINATE_ARRAY(1,1, 5,7) -- only 2 points needed to
-- define rectangle (lower left and upper right) with
-- Cartesian-coordinate data
));
INSERT INTO user_sdo_geom_metadata
(TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID)
VALUES (
'cola_markets',
'shape',
SDO_DIM_ARRAY( …Run Code Online (Sandbox Code Playgroud) 我正在使用Java中的oracle spatial开发一个位置应用程序.我正在为orm层使用hibernate 4.0空间.我是空间新手,我无法找到休眠空间的最佳实践.我的数据库模型如下;
CREATE TABLE SYSTEM.POI (
POI_ID INTEGER,
SERVICE_ID INTEGER,
POI_NAME VARCHAR2(255 CHAR),
DESCRIPTION VARCHAR2(1023 CHAR),
CATEGORY VARCHAR2(127 CHAR),
ADDRESS VARCHAR2(4000 CHAR),
MOBILE_PHONE VARCHAR2(15 CHAR),
FIXED_PHONE VARCHAR2(15 CHAR),
BUSINESS_HOURS VARCHAR2(1023 CHAR),
SHAPE SDO_GEOMETRY
)
Run Code Online (Sandbox Code Playgroud)
insert语句如下;
INSERT INTO SYSTEM.POI (SERVICE_ID, POI_NAME, DESCRIPTION, CATEGORY, ADDRESS, MOBILE_PHONE, FIXED_PHONE, BUSINESS_HOURS, SHAPE)
VALUES(
'1320',
'PO-Kral Petrol Ürünleri San ve Tic. Ltd. ?ti.',
'Camilerimiz',
'CAMI',
'?SL?CE MAHALLES? DERE SOKAK NO:5',
'2762151093',
'5552552343',
'Hafta içi 09:00 - 17:00, haftasonu 09:00 - 13:00 aç?k',
SDO_GEOMETRY(
2001,
3785, …Run Code Online (Sandbox Code Playgroud) 我对oracle空间非常陌生。
我有一个带有SDO_GEOMETRY列的空间表。在此表中插入POINT数据后,我想以WKT格式检索数据。
这是我所做的:
插入数据-
INSERT INTO new_test (name, geom) VALUES (
'Test',
SDO_GEOMETRY(
2001,
4326,
SDO_POINT_TYPE(12,14,NULL),
NULL,
NULL));
Run Code Online (Sandbox Code Playgroud)
提取数据-
SELECT NAME, SDO_UTIL.TO_WKTGEOMETRY(GEOM) AS point FROM NEW_TEST;
Run Code Online (Sandbox Code Playgroud)
输出-
NAME | POINT
-------------
Test | (null)
Run Code Online (Sandbox Code Playgroud)
为什么我在这里变成空?它不应该显示坐标点吗?
我在Oracle BDA X7-2上运行Yarn,规格为:
我正在尝试按照以下手册在Yarn上运行PGX:https : //docs.oracle.com/cd/E56133_01/2.5.0/tutorials/yarn.html
托管运行安装脚本,并使用以下命令完成了它提供的配置文件:
{
"pgx_yarn_jar_hdfs_path": "hdfs:/user/pgx/pgx-yarn-2.7.1.jar",
"pgx_war_hdfs_path": "hdfs:/user/pgx/pgx-webapp-2.7.1.war",
"pgx_conf_hdfs_path": "hdfs:/user/pgx/pgx.conf",
"pgx_log4j_conf_hdfs_path": "hdfs:/user/pgx/log4j2.xml",
"pgx_dist_log4j_conf_hdfs_path": "hdfs:/user/pgx/dist_log4j.xml",
"pgx_cluster_host_hdfs_path": "hdfs:/user/pgx/cluster-host.tgz",
"zookeeper_connect_string": "bda1node05,bda1node06,bda1node07",
"standard_library_path": "/usr/lib64/gcc/4.8.2",
"min_heap_size": "512m",
"max_heap_size": "12g",
"container_cores": 9,
"container_memory": 0,
"container_priority": 0,
"num_machines": 1
}
Run Code Online (Sandbox Code Playgroud)
Yarn的pgx-service应用程序处于RUNNING状态,stderr中没有错误,日志显示该服务正在该地址运行:
http://bda1node06:7007
并通过以下命令运行linux Java进程:
/usr/java/default/bin/java -Xms512m -Xmx12g oracle.pgx.yarn.PgxService bda1node06 /u11/hadoop/yarn/nm/usercache/root/appcache/application_1539869144089_2070/container_e22_1539869144089_2070_01_000002/pgx-server.war 7007 bda1node05,bda1node06,bda1node07 /pgx-8eef44e2-1657-403a-8193-0102f5266680
出于测试目的,在执行PGX客户端后:
$PGX_HOME/bin/pgx --base_url http://bda1node06:7007
我得到:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: cannot connect to server; requested http://bda1node06:7007/version?extendedInfo=true and expected status 200, got …Run Code Online (Sandbox Code Playgroud) oracle-spatial bigdata cloudera hadoop-yarn cloudera-manager
oracle-spatial ×10
oracle ×7
hibernate ×2
java ×2
oracle11g ×2
sql ×2
annotations ×1
bigdata ×1
cloudera ×1
database ×1
geometry ×1
gis ×1
hadoop-yarn ×1
oracle-xe ×1
postgis ×1
postgresql ×1
sorting ×1