php - 一定范围内的邮政编码

标签 php zipcode

我有一个包含一系列条目(不超过数千个)的数据库,其中一个字段是邮政编码。

我正在创建一个脚本,当给定邮政编码和英里半径(如 50 英里、100 英里)时,我可以找到该范围内的所有条目。

我在网络上看到了许多允许人们执行此操作的文章和脚本,但他们通常通过包含自己的一个相当庞大的数据库来实现这一点。

有没有一种方法可以使用不需要数据库的简单计算来实现这一点?

注意:准确性并不重要。如果输入 50 英里时它可以运行 60 英里,那就完全没问题。

编辑

我注意到很多答案都涉及获取邮政编码的经纬度,但是,数据库只存储了邮政编码,所以我可以假设这包括追溯获取/存储每个条目的经纬度数据库也是如此?

最佳答案

没有。邮政编码遵循 certain logic at a high level ,但邮政编码和位置之间没有算法映射(即邮政编码分配到某个位置,而不是计算为某个位置 - 此过程由邮政监督权威机构(美国的 USPS),但它始终会考虑非地理因素,例如人口密度;因此不可能从某个位置计算邮政编码,反之亦然)。

因此,您需要那个“庞大的数据库”来告诉您哪个邮政编码属于哪个位置;一旦获得位置,您就可以像往常一样计算哪些条目在半径内。

(您可以查询网络服务,但这只是将数据库隐藏在云中 - 在某些时候,有人必须检查90210的物理位置。)

关于php - 一定范围内的邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278507/

相关文章:

php - 改进 php 页面以向 Android 设备发送通知

php - 使用 PDO 和 PHP 从 SQL 表中获取最后插入记录的 id

mysql - 从数据库中带有纬度/经度的邮政编码进行地理搜索

ruby-on-rails - 使用 Rails 验证美国邮政编码格式

php - 从使用ajax获取的json创建html

php - 我的实例没有为我获取我想要的表

php - 使用 php 上传 .docx 文件

geolocation - 来自地址的 zip +4 的 api

r - 在邮政编码 map 中更改 NA 颜色

c# - 给定坐标,我如何获得 10 英里半径内的所有邮政编码?