pytzwhere is a Python library to lookup the timezone for a given lat/lng entirely offline.
Version 3.0 fixes how
pytzwhere deals with holes in timezones. It is recommended that you use version 3.0.
If used as a library, basic usage is as follows:
>>> from tzwhere import tzwhere >>> tz = tzwhere.tzwhere() >>> print tz.tzNameAt(35.29, -89.66) America/Chicago
The polygons used for building the timezones are based on VMAP0. Sometimes points are outside a VMAP0 polygon, but are clearly within a certain timezone (see also this discussion). As a solution you can search for the closest timezone within a user defined radius.
If the coordinates provided are outside of the currently defined timezone boundaries, the
tzwhere function will return
None. If you would like to match to the closest timezone, use the forceTZ parameter.
>>> from tzwhere import tzwhere >>> tz = tzwhere.tzwhere() >>> print(tz.tzNameAt(53.68193999999999, -6.239169999999998)) None >>> from tzwhere import tzwhere >>> tz = tzwhere.tzwhere(forceTZ=True) >>> print(tz.tzNameAt(53.68193999999999, -6.239169999999998, forceTZ=True)) Europe/Dublin