【发布时间】:2009-06-03 19:36:29
【问题描述】:
我正在寻找一种方法来获取美国任何区号+前缀陆线电话的经纬度坐标。有谁知道可以用来执行此操作的数据提供者或服务?
编辑:我知道手机或 VOIP 线路的位置可能无法进行地理编码,这对我来说很好。我只对POTS 电话号码感兴趣。不过,如果能够根据前缀识别电话服务的类型,那就太好了(如果这可能的话)。
【问题讨论】:
-
没有可接受的解决方案了。
我正在寻找一种方法来获取美国任何区号+前缀陆线电话的经纬度坐标。有谁知道可以用来执行此操作的数据提供者或服务?
编辑:我知道手机或 VOIP 线路的位置可能无法进行地理编码,这对我来说很好。我只对POTS 电话号码感兴趣。不过,如果能够根据前缀识别电话服务的类型,那就太好了(如果这可能的话)。
【问题讨论】:
有些网站可以这样做,例如 http://www.thedirectory.org [编辑:链接现在不好]。我不知道他们是否有任何你可以使用的 RESTful api,尽管我猜你总是可以对它们进行屏幕截图。据推测,他们使用的原始数据应该是您可以自己获得的东西,可能来自电话公司。
【讨论】:
使用 Google Geocoding API 和 allareacodes.com 上的列表,我为一个黑客项目创建了这个 json:
http://pintweets.com/area_codes.json [编辑:链接现在不好]
显然,这不是法庭可接受的证据,但它应该适用于某些目的。
【讨论】:
我找到了一些价格合理的选项:
服务对象 DOTS GeoPhone [编辑:链接现在不好] Web 服务应该可以很好地解决问题。它甚至似乎提供了我所希望的“电话服务类型”信息。
AreaCodeWorld™ Platinum Edition [edit: link is no good now] 是一种数据库产品,可以一次性购买或通过年度订阅购买。数据规范包括所有北美区号和前缀以及纬度和经度坐标。
【讨论】:
[EveryoneAPI][1] [编辑:链接现在转到一个不相关的新站点] 将完全符合您的要求。
您可以通过在 HTTP 请求中添加“data=location”来将查询限制为仅限位置,您会得到如下信息:
"location": {
"city": "Birmingham",
"geo": {
"latitude": "33.51685254860801",
"longitude": "-86.81075983815001"
},
"state": "AL",
"zip": "35203"
}
免责声明:我是 Telo 的首席执行官。 [1]:https://www.everyoneapi.com/
【讨论】:
邮政编码有公开可用的地理编码数据(尽管他们提供的位置是相应邮局的地理编码),因此您可以通过这种方式建立通信(尽管您必须选择更多特定的邮政编码或随机减少,因为邮编比区号多)。
但是会有一些内置错误。某些数字(例如 800 个数字)在设计上没有特定的位置。与手机号码相同。在任何情况下,在纽约,都有以与位于纽约的电话号码相同的区号开头的小区号码(例如 718、212)。我不确定运营商是否需要以与客户账单地址相对应的方式提供这些号码,因此您可能会遇到这样的情况:大多数 212 号码是纽约市,但有些是手机在威奇托。
【讨论】: