koppen-climate-lookup
v1.0.3
Published
Look up Koppen climate classifications by latitude and longitude
Downloads
233
Maintainers
Readme
koppen-climate-lookup
A 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
Installation
pnpm add koppen-climate-lookup
Usage
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);
API
KoppenLookup
Main class for performing Köppen climate classification lookups. Uses a singleton pattern with async initialization.
static async getInstance(): Promise<KoppenLookup>
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 | null
latitude
: 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
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
}
Köppen Classification Codes
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
Development
To build the package locally:
# Install dependencies
pnpm install
# Build the package
pnpm build
License
ISC