/ZoneDetect

Find the timezone, country, ... for a given latitude and longitude

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

ZoneDetect

with changes to build on macos

This is a C library that allows you to find an area a point belongs to using a database file. A typical example would be looking up the country or timezone given a latitude and longitude. The timezone database also contains the country information.

The API should be self-explanatory from zonedetect.h. A small demo is included (demo.c). You can build the demo with make demo and run it like this: ./demo timezone21.bin 35.0715 -82.5216.

The databases are obtained from here and converted to the format used by this library.

Online API

You can test the library using an online API: https://timezone.bertold.org/timezone It takes the following GET parameters:

  • lat: Latitude.
  • lon: Longitude.
  • c: Set to one (c=1) to produce compact JSON.
  • s: Set to one (s=1) to get only the timezone.

For example: https://timezone.bertold.org/timezone?lat=51&lon=5
You are free to use this API for any application, but I am not responsible for the quality of service. Please contact me if your application requires reliability.

Demo

An online demo is available here: https://cdn.bertold.org/demo/timezone.html. Simple click anywhere on the map and see the result of the query.

CodeBuild