Foxtable(狐表)用户栏目专家坐堂 → [求助]如何检查地块坐标是否有重叠部分?(搞定)


  共有11030人关注过本帖树形打印复制链接

主题:[求助]如何检查地块坐标是否有重叠部分?(搞定)

帅哥哟,离线,有人找我吗?
pyh6918
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
[求助]如何检查地块坐标是否有重叠部分?(搞定)  发帖心情 Post By:2012/8/12 16:06:00 [显示全部帖子]

各位老师,现有一难题:如图,有A、B两块土地,以经纬度形式标注四个角,

这四组数字将能确定一片地块,用什么方法能够检查出A、B两个地块是否出

现重叠或有部分重叠?我都想了一天了,请各位出手帮忙!

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-8-13 15:23:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/12 21:39:00 [显示全部帖子]

也可能是这样的地块

 

 


图片点击可在新窗口打开查看此主题相关图片如下:812194338.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/12 21:58:00 [显示全部帖子]

如果是矩形还好做一些,问题地块可能是不规则的四边形.


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/12 22:16:00 [显示全部帖子]

有道理,多谢提醒,有病乱投医,试试去。

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/12 23:39:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb

做了个简单的文件,请程版及各位老师帮忙给看看,多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/13 8:29:00 [显示全部帖子]

老大今天这么早啊,我去搜相交了。


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/13 9:16:00 [显示全部帖子]

搜到了一段VB代码,哪位帮我翻译一下,谢谢!

Private Sub Command1_Click()
Dim X1 As Long, Y1 As Long, X2 As Long, Y2 As Long
Dim A1 As Long, B1 As Long, A2 As Long, B2 As Long
Dim a As Long, b As Long
X1 = Line1.X1: X2 = Line1.X2: Y1 = Line1.Y1: Y2 = Line1.Y2
A1 = Line2.X1: A2 = Line2.X2: B1 = Line2.Y1: B2 = Line2.Y2
a = F(X1, Y1, X2, Y2, A1, B1)
b = F(X1, Y1, X2, Y2, A2, B2)
If a * b = 0 Then
Print "两直线有交叉。"
ElseIf a * b > 0 Then
Print "两直线没有交叉。"
Else
a = F(A1, B1, A2, B2, X1, Y1)
b = F(A1, B1, A2, B2, X2, Y2)
If a * b <= 0 Then
Print "两直线有交叉。"
Else
Print "两直线没有交叉。"
End If
End If
End Sub

Private Function F(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X As Long, ByVal Y As Long) As Long
Dim K As Long
K = (Y2 - Y1) * X - (X2 - X1) * Y + X2 * Y1 - X1 * Y2
F = Sgn(K)
End Function


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11035 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/8/13 23:06:00 [显示全部帖子]

多谢程版,我是在网上找到的两条线段是否相交的计算方法,不懂其中道理,但经过一下午的测试,感觉还是可以用的。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:土地登记.foxdb


 回到顶部