Popularity
2.5
Growing
Activity
4.8
-
11
3
3

Monthly Downloads: 112
Programming language: Elixir
License: MIT License
Tags: Geolocation    

wheretz alternatives and similar packages

Based on the "Geolocation" category.
Alternatively, view wheretz alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of wheretz or a related project?

Add another 'Geolocation' Package

README

WhereTZ: timezone lookup

License Build Status Hex.pm Version Coverage Status Inline docs

WhereTZ is elixir version of Ruby gem for lookup of timezone by georgraphic coordinates.

https://github.com/zverok/wheretz

Features:

  • no calls to external services, works without Internet connection;
  • Timezone result is %Timex.TimezoneInfo

Usage

Add to project from hex.pm

def deps do
  [
    {:wheretz, "~> 0.1.16"},
  ]
end

or from github

def deps do
  [
    {:wheretz, git: "[email protected]:UA3MQJ/wheretz.git", tag: "v0.1.16"},
  ]
end

Before the first start, you need to download the geo database.

mix download_data

usage

iex(1)> WhereTZ.get(50.004444, 36.231389)   
#<TimezoneInfo(Europe/Kiev - EET (+02:00:00))>
iex(2)> WhereTZ.lookup(50.004444, 36.231389)  
"Europe/Kiev"

How it works

  1. Latest version of timezone-boundary-builder dataset is converted into mnesia table (125Mb);
  2. For each time zone, store timezone name, geo polygon and calculate bounding box (min and max latitude and longitude);
  3. On each lookup WhereTZ first checks provided coordinates by bounding boxes, and if only one bbox, corresponds to them, returns timezone name immediately;
  4. If there's several intersecting bounding boxes, WhereTZ checks which polygon actually contains the point.

Known problems

  • ?

Author

Alexey Bolshakov

Thanks to

Victor Shepelev

License

Data license is ODbL.

Code license is usual MIT.


*Note that all licence references and agreements mentioned in the wheretz README section above are relevant to that project's source code only.