美国Zip代码查询(数据最后更新,2024年4月10日)
本地化( 平面文件) zipcode 查询( 只有美国)
美国的拉链代码来自: https://postalpro.usps.com/ZIP locale Detail (英语)
被转换成JSON对象后再用一些帮助方法包裹.
使用量
const zipcodes = require('zipcodes');
Zipcode 查询
const hills = zipcodes.lookup(90210);
{
zip: '90210',
latitude: 34.088808,
longitude: -118.406125,
city: 'Beverly Hills',
state: 'CA',
country: 'US'
}
距离
这不是驾驶距离 而是视线距离
var dist = zipcodes.distance(62959, 90210); //In Miles
// dist = 1662
var kilo = zipcodes.toKilometers(dist); //Convert to Kilometers
// kilo = 2675
var miles = zipcodes.toMiles(zipcodes.toKilometers(dist)); //Convert to Kilometers, then to miles
// miles = 1662
按名称查找
这对加拿大的数据不起作用,数据文件没有包含这个细节.
var l = zipcodes.lookupByName('Cupertino', 'CA');
//Always returns an array, since cities can have multiple zip codes
[
{
zip: '95015',
latitude: 37.323,
longitude: -122.0527,
city: 'Cupertino',
state: 'CA',
country: 'US'
}
]
半径搜索
获取此zipcode 的 milage 半径范围内的所有 zipcode
var rad = zipcodes.radius(95014, 50);
// rad.length == 385
[ '93901',
'93902',
'93905',
'93906',
'93907',
'93912',
'93933',
'93942',
'93944',
'93950',
...
'95377',
'95378',
'95385',
'95387',
'95391'
]
随机编程
var zipObj = zipcodes.random();
{
zip: '90210',
latitude: 34.088808,
longitude: -118.406125,
city: 'Beverly Hills',
state: 'CA',
country: 'US'
}
开始
添加导入到 MongoDB 或 CouchDB 的支援, 以加速搜索 .
发展
我用于此数据的 CSV 原始文件没有包含在本 repo 中, 但我确实收尾了 用于获取数据的最佳方式以及如何将其转换成本模块使用的格式.
为了开发这个模块 make 它将获取最新的zipcode并重新处理.
make
要获取和处理zipcode:
make codes
要运行非常简单的测试套件:
make tests