我正在使用jts 几何对象将我的几何对象存储为 Oracle SDO_Geometry。但是,当我想使用SDO_GEOM.RELATE方法时它们无法正常工作,我意识到我需要创建一个空间索引但不知道如何使用hibernate。你知道这个问题的任何注释吗?
@Type(type="org.hibernate.spatial.GeometryType")
private Geometry area;
我正在使用jts 几何对象将我的几何对象存储为 Oracle SDO_Geometry。但是,当我想使用SDO_GEOM.RELATE方法时它们无法正常工作,我意识到我需要创建一个空间索引但不知道如何使用hibernate。你知道这个问题的任何注释吗?
@Type(type="org.hibernate.spatial.GeometryType")
private Geometry area;
好吧,只需在存储这些几何图形的表上创建索引。为此使用 SQL。
您还需要(在创建索引之前)添加正确的元数据,以便索引创建具有所需的正确信息(坐标系、边界、容差)。例如,假设您的几何图形位于 WGS84 坐标中:
insert into user_sdo_geom_metadata (table_name, column_name, diminfo, srid)
values (
'US_CITIES',
'GEOMETRY',
sdo_dim_array (
sdo_dim_element('long', -180.0, 180.0, 0.5),
sdo_dim_element('lat', -90.0, 90.0, 0.5)
),
4326
);
commit;
然后创建索引:
create index us_cities_sx on us_cities (geometry)
indextype is mdsys.spatial_index;