2.1.1 • Published 2 years ago

country-locator v2.1.1

Weekly downloads
6
License
MIT
Repository
github
Last release
2 years ago

Country Locator

Detects country by a given geometry. Good for offline usage.

build status npm license

Installation

npm install country-locator

Usage

findCountryByCoordinate accepts latitude & longitude, or a point as an array, and returns country info with two fields:

  • name: the common name for the country
  • code: three letters iso code of the country (ISO3166-1-Alpha-3)
import {findCountryByCoordinate} from "country-locator";

const countryInfo = findCountryByCoordinate(51.500760, -0.125168);

console.log(countryInfo?.name); // United Kingdom
console.log(countryInfo?.code); // GBR

You can also call it as a point - an array of [x, y] PAY ATTENTION - x == longitude and y == latitude

const countryInfo = findCountryByCoordinate([-0.125168, 51.500760]);

console.log(countryInfo?.name); // United Kingdom
console.log(countryInfo?.code); // GBR

findCountriesByPolygon accepts a polygon (array of points arrays) and returns an array of countries that intersect with a given polygon

import {findCountriesByPolygon} from "country-locator";

const countriesInfo = findCountriesByPolygon([
    [-131.484375, 49.781264058178344],
    [-137.548828125, 44.15068115978094],
    [-128.935546875, 26.194876675795218],
    [-96.240234375, 22.755920681486405],
    [-72.50976562499999, 26.43122806450644],
    [-59.501953125, 42.48830197960227],
    [-62.314453125, 48.3416461723746],
    [-76.2890625, 50.3454604086048],
    [-109.77539062499999, 53.173119202640635],
    [-131.484375, 49.781264058178344]
]);

console.log(countriesInfo);

// [
//     { name: 'The Bahamas', code: 'BHS' },
//     { name: 'Canada', code: 'CAN' },
//     { name: 'Mexico', code: 'MEX' },
//     { name: 'United States of America', code: 'USA' }
// ]

Test

npm run test

Data

countries.geojson comes from geo-countries.

License

Country Locator is MIT licensed.

2.1.1

2 years ago

2.1.0

2 years ago

2.0.4

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago