No description
Find a file
Bertold Van den Bergh 795b78da41
Merge pull request #34 from osievert/otto/macos
build: fix builder compilation on macOS
2022-01-27 23:34:36 +01:00
aws_lambda Repair bad commit 2020-01-15 22:11:54 +01:00
database build: fix builder compilation on macOS 2022-01-27 06:34:45 -08:00
library Handle memory allocation errors 2021-02-24 15:10:26 +08:00
vs15 added support for MSVC toolchain (VS 15.x) 2019-04-04 11:40:36 +02:00
.gitignore Add a gitignore file 2020-01-24 16:31:52 -05:00
demo.c Replace node.js lambda with C++ one 2019-11-10 01:55:24 +01:00
LICENSE Add license file 2019-11-17 23:48:10 +01:00
Makefile Add a Makefile and more documentation for the demo 2020-01-24 16:27:31 -05:00
README.md Add a Makefile and more documentation for the demo 2020-01-24 16:27:31 -05:00

ZoneDetect

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