寻找一种方法来获取给定纬度和经度的电话区号列表(如果需要,还有给定的国际代码。)注意,我不是在谈论国际拨号前缀,而是其中的区号。
例如,科罗拉多州丹佛市的区号为 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 实现。