首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定哪个多边形包含行的大多数- Oracle空间

确定哪个多边形包含行的大多数- Oracle空间
EN

Stack Overflow用户
提问于 2015-02-18 16:57:06
回答 1查看 240关注 0票数 1

我有一个甲骨文数据库(11g空间),其中包括一系列的区域多边形和水管。我试图将每一条主管道归因于它所在的区域,这在很大程度上是很简单的(使用SDO_CONTAINS函数),但我不知道如何处理由于数字化错误而跨多个多边形的主管道。

在这种情况下,我理想的做法是将一个主多边形属性为一个区域多边形,如果它的大部分长度(>50%)包含在onit中。我知道我可以使用SDO_RELATE函数来确定任何给定的主交互的每个多边形,但我不知道如何确定它的长度包含在每个区域中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 09:07:23

原则如下:

  1. 相关的电源和区域。假设您有许多主板和许多区域,最有效的方法是使用SDO_JOIN
  2. 对于返回的每对夫妇(主/区),计算它们的交集(SDO_GEM.SDO_INTERSECTION),并测量该交叉口的长度(SDO_GEOM.SDO_LENGTH)。
  3. 从这些结果中,保留长度最大的每个主区的面积。

如果您想要一个完整的SQL示例,请允许我使用示例数据编写该示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28589280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档