About
timezonefinder is a python package for looking up the corresponding timezone for given coordinates on earth entirely offline.
Timezones internally are being represented by polygons and the timezone membership of a given point (= lat lng coordinate pair) is determined by a point in polygon (PIP) check. In many cases an expensive PIP check can be avoided.
For detailed information about the data format in use, see Data Format.
Among other tweaks this index makes timezonefinder efficient (also check the performance chapter).
References
ruby port: timezone_finder
LICENSE
timezonefinder is licensed under the MIT license.
The data is licensed under the ODbL license, following the base dataset from evansiroky/timezone-boundary-builder.
Alternative python packages
For detailed information about alternative packages and comparisons, see Alternatives.
Contact
Tell me if and how your are using this package. This encourages me to develop and test it further.
Most certainly there is stuff I missed, things I could have optimized even further or explained more clearly, etc. I would be really glad to get some feedback.
If you encounter any bugs, have suggestions etc. do not hesitate to open an Issue or add a Pull Requests on Git. Please refer to the contribution guidelines
Acknowledgements
Thanks to:
Adam for adding organisational features to the project and for helping me with publishing and testing routines.
ringsaturn for valuable feedback, sponsoring this project, creating the
tzfpypackage and adding thepytzcompatibility extratheirix for adding support for cibuildwheel
snowman2 for creating the conda-forge recipe.
synapticarbors for fixing Numba import with py27.
zedrdave for valuable feedback.
Tyler Huntley for adding docstrings
Greg Meyer for updating h3 to >4
ARYAN RAJ for providing example scripts and updating python version support
Romain Girard for fixing unwanted test content