0

首先我为标题道歉!我想不出该怎么说!

我有一个数据库,其中包含英国的所有区号及其平均纬度和经度。现在我希望能够计算出哪些区号与另一个区号在 'n' 英里范围内。

我尝试在本地主机上运行大量计算以计算出所有距离并将它们存储在一个庞大的数据库中,所以我所要做的就是稍后查找距离,但内存不足,我想知道是否这是最好的方法吗?我是否忽略了一种即时计算的简单方法?

因此,为了明确起见,我希望人们能够输入区号和以英里为单位的范围,然后获取该范围内的所有区号。我可用的信息是一个包含以下字段的数据库:

| 邮编_ID | 代码 | 网格_N | 网格_E | 纬度 | 经度 |

4

2 回答 2

1

有几种方法可以实现您想要的。

  1. 查看“ Haversine 公式”进行距离计算

  2. 在 google 上查看Google Maps API 示例,因为这些示例可以提供有关如何解决问题的见解

  3. 要存储我建议将PostgreSQL 数据库PostGIS一起使用

关于 PostGIS (来自网站的引述)

PostGIS 是 PostgreSQL 对象关系数据库的空间数据库扩展器。它增加了对允许在 SQL 中运行位置查询的地理对象的支持。

如果您能够使用上述设置,则使用 db 数据将更加容易。

 
这也可能有用:

PHP 邮政编码范围和距离计算

把你的眼睛翻过来,让我知道你的想法。

祝你好运。

于 2013-07-30T16:39:51.127 回答
0

此处已回答了一个类似的问题How to calculate distance from lat/long in php?

您需要计算给定距离的半径并确定哪些附加邮政编码位于圆圈内。

于 2013-07-30T16:25:20.550 回答