按经纬度查找电话区号

Posted

技术标签:

【中文标题】按经纬度查找电话区号【英文标题】:Lookup telephone area code by latitude and longitude 【发布时间】:2010-10-28 22:37:11 【问题描述】:

寻找一种方法来获取给定纬度和经度的电话区号列表(如果需要,还可以提供给定的国际代码。)注意,我不是在谈论国际拨号前缀,而是其中的区号。

例如,科罗拉多州丹佛市的区号为 303 和 720。它位于 39.739 -104.985 并且位于 NANP 1 中。所以给定 39.739,-104.985,1 我想返回 [303,720]。

库、Web 服务、DB 或需要解析为 DB 的原始数据(例如,形状点的网页)都可以,而且覆盖范围越广越好,但只要 NANP 1 就可以了帮助。

请注意,我已经使用 MaxMind 并且可以将 lat-lng 转换为假 IP 并将其用作查找键,但 MaxMind 仅声称美国区号(无论它们是真的意味着美国还是实际上我没有测试过的 NANP)和似乎每个地点只有 1 个(例如丹佛只有 303 个。)所以这是一种可能性,只是不是很好。


更新我找到了一些更相关的信息,但没有明确的解决方案,所以我在这里列出而不是在答案中:

我能够找到两个美国数据库 http://www.area-codes.com/area-code-database.asp 和 http://www.nationalnanpa.com/area_codes/index.html(页面下方的 50%,MS Access 文件。)前者包括 lat/lng,价格为 450 美元,后者需要最近邻匹配,正如 KeithS 所说关于(这可能是他发现的 NANPA City Query 的底层数据库。)

此外,我发现暗示 Teleatlas 具有区号边界地图并且 ESRI 包含带有 ArcGIS 副本的区号形状文件的信息。 Maponics 似乎有可用的数据:在 http://www.usnaviguide.com/areacode.htm 有一个 Maponics 数据的 Google Maps 实现。

【问题讨论】:

【参考方案1】:

哇。您肯定需要某种预先存在的积分数据库。我的第一个想法是ZIPList5 Geocode。它包括每个有效的美国邮政编码的经纬度数据,因此您可以将这些数据放入数据库表中,从其中索引地狱,并根据您可以访问的任何地理信息进行搜索。您可以花 40 美元购买一份,企业级使用只需 100 美元。唯一的问题是,这个 DB 只有每个邮政编码的“主要”区号,所以有多个邮政编码的都市区(达拉斯、芝加哥、纽约市)不会显示所有邮政编码。

您可以使用我发现的一些免费数据尝试双管齐下的方法:对于给定的纬度和经度,对USGS Geographic Names Information System 中的数据进行最近邻搜索;它包括有关每个人类居住中心和每个命名的地标特征的信息,以及它们中心的纬度/经度坐标。您现在已将纬度/经度点映射到最近的城镇/城市、邮政编码、县和州。现在,您可以将其与此U.S. Area Codes 列表进行比较,以查找与来自 USGS 的任何或所有识别信息相匹配的区号。这一切都是免费的,最终会为您提供所需的东西,但您可能需要做一些工作才能将两组数据“按摩”成您可以有效交叉引用的东西,和/或您需要实现一个好的“搜索引擎”,它可以准确地找到最近邻的命名点,然后找到与名称匹配的位置的区号。

另一件值得关注的事情是 NANPA,它从一开始就管理区号分配。我确信他们有一个更全面的可下载数据库,但我能找到的唯一免费公共访问是这个搜索页面,它可以找到任何人口超过 2 万人的城市的区号。您可以将纬度/经度数据转换为城市和州,然后点击此搜索页面:NANPA City Query

【讨论】:

只是为了扩展第二段;使用 Geonames 的网络服务或免费数据库是进行最近邻搜索的另一种选择。【参考方案2】:

这是一个选项: http://geocoder.ca/39.739,-104.985?geoit=xml

<TimeZone>America/Denver</TimeZone>
<AreaCode>720,303</AreaCode

【讨论】:

geocoder.ca 截至 2020 年似乎不再有电话区号数据。 现在又回来了:39.738653-104.985467ArvadaCO80214 10114TH AVE39.739-104.9850.056市政中心 科罗拉多州丹佛市政中心America/Denver720,3030.9

以上是关于按经纬度查找电话区号的主要内容,如果未能解决你的问题,请参考以下文章

如何从纬度和经度获取电话号码 [关闭]

NodeJS 按纬度/经度查找国家

按纬度经度查找topojson特征

性能 - 按纬度/经度查找特定距离内的所有点

markdown 使用Google Maps API按地址查找经度和纬度

查找提供的纬度和经度的最近距离记录的程序[重复]