【发布时间】:2012-02-06 22:48:10
【问题描述】:
我们有一个应用程序,它的数据库中充满了多边形(当前存储为点),一个 .net 应用程序会提取这些多边形并检查它们是否重叠。
我想到将这些点数组转换为数据库中的多边形/折线对象并使用 sql 来获取它们是否重叠的天气会更好。
我已经看到建议使用不同的方法来执行此操作,但给出的示例中没有一个完全符合我的需求。
我很高兴收到那些愿意提供他们经验的人的意见。
补充:
回答问题:确实是2D。是的,两者的任何交叉都被认为是正确的。多边形有 n 个点并且可以是凹的。多边形将保存为每行 1 个(在数据转换任务之后)作为多边形(即多边形类型..它可能被称为其他空间/几何我的记忆现在不在我身边)
【问题讨论】:
-
您能否更具体地说明多边形的数据存储? (每个多边形 3 个点,还是每个多边形
n个点?每个点一行,还是每个多边形一行?) 带有示例数据的表定义会很棒。 -
哦,如果一个多边形完全在另一个多边形内,我假设您认为这是重叠?
-
您想知道如何将现有数据转换为几何数据类型吗?这是一次性转换,还是您需要一个程序在每次您想要检查重叠时即时转换它们?或者您想知道在将它们转换为原生几何数据类型后如何检查重叠?
标签: sql sql-server-2008 sql-server-2008-r2 polygon polyline