地理数据库 - 找到点

时间:2013-04-24 16:42:36

标签: java

如果你有一个指定地图上点的地理数据库,你将如何找到落在四个给定点内的点?你将如何实现一种算法,该算法将彼此相邻的点分成半径为1英里的圆圈?

1 个答案:

答案 0 :(得分:1)

有时真的有助于把它画出来。

| a
|     b
|   x     
|d     c
|---------

所以每个点都有两个坐标(x,y)。检查点是否在4个点内的简单方法是检查它们的坐标。

为简单起见,假设您知道a和d的x坐标小于b和c的x坐标,并且a和b的y坐标大于y坐标d和c。然后你可以假设如果x在这四个点之内,那么:

The x coordinate of x (using x(x) to make it shorter) can be described by
x(x)>=a(x) 
and x(x)>=d(x) 
and x(x)<=b(x) 
and x(x)<=c(x)

类似的逻辑应该适用于y坐标。但请注意,有更有效的方法可以做到这一点,我只是想说明问题,希望能让它更清晰。

This link也可能有所帮助,并提供了一种更有效的方式来查看该问题。