Hebcal ES6 interface to GeoNames and USA ZIP code SQLite databases
This package is designed for the hebcal.com and may not be generally reusable. It requires two separate databases, one made from GeoNames.org data (available via a Creative Commons license) and a USA ZIP code database (commercial license).
$ npm install @hebcal/geo-sqlite
$ ./node_modules/.bin/download-and-make-dbs
import {Location} from '@hebcal/core';
import {GeoDb} from '@hebcal/geo-sqlite';
import pino from 'pino';
const logger = pino();
const db = new GeoDb(logger, 'zips.sqlite3', 'geonames.sqlite3');
const loc1 = db.lookupZip('90210'); // Beverly Hills, California
const loc2 = db.lookupGeoname(293397); // Tel Aviv
const loc3 = db.lookupLegacyCity('IL-Netanya');
db.close();
- GeoDb
-
Wrapper around sqlite databases
Wrapper around sqlite databases
Kind: global class
-
GeoDb
- new GeoDb(logger, zipsFilename, geonamesFilename)
- .close()
-
.lookupZip(zip) ⇒
Location
-
.lookupGeoname(geonameid) ⇒
Location
-
.lookupLegacyCity(cityName) ⇒
Location
Param | Type |
---|---|
logger | any |
zipsFilename | string |
geonamesFilename | string |
Closes database handles
Kind: instance method of GeoDb
Kind: instance method of GeoDb
Param | Type |
---|---|
zip | string |
Kind: instance method of GeoDb
Param | Type |
---|---|
geonameid | number |
Kind: instance method of GeoDb
Param | Type |
---|---|
cityName | string |