Timezone Boundary Builder
The goal of this project is to produce a shapefile with the boundaries of the world's timezones using OpenStreetMap data.
Project Goal
This project produces regular releases of the approximate boundaries of the world's timezones. Each boundary is associated with a single timezone identifier as defined by the IANA timezone database (for example, America/Los_Angeles
or Asia/Shanghai
). The final data is available in both GeoJSON and Shapefile formats.
All data is sourced from OpenStreetMap and processed through a series of geometric operations to build, validate, and package the timezone boundaries.
Release Data
The data is available for download in this project's releases page. For a detailed explanation of the different data formats and types, please see the Release Data Explained page.
Data Usage & Libraries
The data generated by this project is used by various libraries for programmatic timezone lookups based on geographic coordinates. Here are some libraries that use the data from timezone-boundary-builder
:
Language | Library |
---|---|
C | ZoneDetect |
Elixir | tz_world |
Go | timezoneLookup |
Go | tzf |
Java & Android | TimeZoneMap |
Java | Timeshape |
JavaScript (node.js only) | node-geo-tz |
JavaScript (node.js and in browser) | timespace |
JavaScript (node.js and in browser) | tz-lookup |
JavaScript (browser only) | browser-geo-tz |
JavaScript (browser only) | tzf-wasm |
Julia | TimeZoneFinder |
.NET | GeoTimezone |
.NET | TZFinder |
Perl | Geo::Location::TimeZoneFinder |
php | Geo-Timezone |
Python | timezonefinder |
Python | tzfpy |
R | lutz |
Ruby | tzf-rb |
Ruby | wheretz |
Rust | tzf-rs |
Rust | rtz |
Swift | tzf-swift |
For more information on licensing, see the License page.