Look up Koppen climate classifications by latitude and longitude
npm install koppen-climate-lookupA TypeScript package for looking up Köppen climate classifications by latitude and longitude coordinates. Includes a comprehensive global dataset of Köppen climate classifications.
From https://koeppen-geiger.vu-wien.ac.at/present.htm
``bash`
pnpm add koppen-climate-lookup
`typescript
import KoppenLookup from 'koppen-climate-lookup';
async function main() {
// Get the initialized instance
const lookup = await KoppenLookup.getInstance();
// Look up a location
const result = lookup.findNearest(51.5074, -0.1278, 100);
console.log(result);
// Output:
// {
// latitude: 51.5,
// longitude: -0.125,
// koppenClass: 'Cfb',
// distance: 2.3
// }
}
main().catch(console.error);
`
Main class for performing Köppen climate classification lookups. Uses a singleton pattern with async initialization.
#### static async getInstance(): Promise
Returns a promise that resolves to the initialized KoppenLookup instance. The instance is shared across all calls to getInstance().
#### findNearest(latitude: number, longitude: number, maxDistance: number = 100): NearestPoint | nulllatitude
- : Latitude to look up (-90 to 90)longitude
- : Longitude to look up (-180 to 180)maxDistance
- : Maximum search radius in kilometers (default: 100)
- Returns: NearestPoint object or null if none found
- Throws: Error if coordinates are invalid
Returns the nearest Köppen classification within the specified radius, or null if none found.
#### Types
`typescript`
interface NearestPoint {
latitude: number; // Latitude of the matched point
longitude: number; // Longitude of the matched point
koppenClass: string; // Köppen classification code
distance: number; // Distance in kilometers from input coordinates
}
The package uses standard Köppen climate classification codes:
- Af: Tropical rainforestAm
- : Tropical monsoonAw
- : Tropical savannaBWh
- : Hot desertBWk
- : Cold desertBSh
- : Hot steppeBSk
- : Cold steppeCsa
- : Mediterranean hot summerCsb
- : Mediterranean warm summerCwa
- : Humid subtropicalCwb
- : Subtropical highlandCfa
- : Humid subtropicalCfb
- : OceanicDfa
- : Hot summer continentalDfb
- : Warm summer continentalDfc
- : SubarcticET
- : TundraEF
- : Ice cap
To build the package locally:
`bashInstall dependencies
pnpm install
ISC