【问题标题】:Overlay analysis in Oracle SQLOracle SQL 中的覆盖分析
【发布时间】:2017-03-21 19:34:22
【问题描述】:

我在 Oracle 中有两个空间表。

表 A 包含线或点特征并具有列:

ID
GEOM
SERIAL NUMBER OF MAP LIST

表 B 包含 MAP LIST 的多边形:

ID
SERIAL NUMBER OF MAP LIST

我需要生成空间分析,其中表 A 中的要素在空间分析结果的基础上从表 B 中获取地图列表的序列号。

例如,线要素在多边形 ABC213 中,所以我必须用表 B 中的SERIAL NUMBER OF MAP LIST 属性值填充SERIAL NUMBER OF MAP LIST 属性。

我该怎么做?

【问题讨论】:

  • 地图列表是什么?它们的序列号来自哪里?除了您要查找的序列号外,似乎没有任何东西可以链接这两个表中的数据。有没有你没有提到的其他表格或查找机制?一些示例数据和预期结果也会有所帮助。
  • 地图列表是表 B 中的一个多边形特征。我需要进行空间分析,可能是 INTERSECT... 如果表 A 中的特征在表 B 中的某个特征区域内,我需要设置表 A 中特征的 SERIAL_NUMBER_OF_MAP_LIST 属性与表 B 中的特征相交。

标签: sql oracle spatial


【解决方案1】:

在 Oracle 空间中看起来像这样(我使用的是 12C)

select * from
tableA a, tableB b
where sdo_relate(a.geomColumn,b.geomColumn,'mask=anyinteract')='TRUE';

有不同类型的面具,看看这里 https://docs.oracle.com/database/121/SPATL/GUID-97C17C18-F05E-49B4-BE11-E89B972E2A02.htm#SPATL1039

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2011-07-26
    • 2014-03-08
    • 2017-04-03
    • 1970-01-01
    • 2020-05-23
    • 2011-08-02
    相关资源
    最近更新 更多