1. 14 May, 2020 3 commits
  2. 13 May, 2020 1 commit
    • Volker Krause's avatar
      Store whether we have an unambiguous or equivalent timezone · d5dadf11
      Volker Krause authored
      This uses the last bit we still had unused in the index, but due to the
      extra information impact the run-length encoding and thus slightly
      increases the number of entries.
      
      Having this available however allows us to further increase precision,
      and gives us a coordinate to country mapping essentially for free.
      d5dadf11
  3. 12 May, 2020 3 commits
  4. 11 May, 2020 4 commits
  5. 10 May, 2020 4 commits
    • Volker Krause's avatar
      Use both the geo coordinate and the country to determine the timezone · 9b93d2ec
      Volker Krause authored
      When running this for all train stations in our database this gets very
      close to the expected timezones now, achieving 29789 matching results with
      only 9 deviations (some of those are mistakes, some are in disputed areas
      where the "correct" result isn't entirely obvious). Performance for
      airports is slightly worse, as those are more spread out over the world,
      and thus don't benefit as much from the fine-granular country structure
      in Europe that helps a lot here.
      
      There are some more ideas on how to further improve this, either way it
      looks very promising as a generic replacement for the timezone information
      in our static databases.
      9b93d2ec
    • Volker Krause's avatar
      Experimental geo coordinate to timezone mapping · 9650bb4c
      Volker Krause authored
      Conceptually this is a depth-limited quad tree. Practically this is
      implemented using a z-order curve and run-length encoding that in a
      vector together with the corresponding timezone.
      
      With the current settings the result is about 200kB, a maximum error
      distance of about 300m and a surface coverage of 99.2% for yielding the
      correct IANA timezone or 99.6% for yielding at least an equivalent
      IANA timezone. Not too bad considering the timezone shapefile that is
      the input for all this is 100+MB.
      
      Lookup cost is minimal, a single binary search and no memory allocations.
      
      The generation script is supposed to run inside QGIS with the IANA
      timezone shapefile loaded. With the current parameters it should finish
      within an hour on 8 cores.
      
      Before being fully integrated this needs a few more measurements with
      different parameters. Also still to be investigated is how this can
      replace the about 74kB worth of timezone data in the airport and train
      station databases.
      9650bb4c
    • Volker Krause's avatar
      Change the way we store timezones in the static database · 14800de9
      Volker Krause authored
      So far this were offsets into the the IANA string table, now it's a flat
      enum. The old way needed 13 bits per record, the new only needs 9 bit, at
      the cost of an extra ~800 bytes for an offset table to get back to IANA
      names. This however quickly pays of when storing large quantities, which
      we do (~37k in the current database, more in the upcoming experiments for
      an efficient geo coordinate to timezone mapping).
      14800de9
    • Laurent Montel's avatar
      GIT_SILENT: Time to increase version · dc9ed833
      Laurent Montel authored
      dc9ed833
  6. 09 May, 2020 1 commit
  7. 30 Apr, 2020 2 commits
  8. 24 Apr, 2020 1 commit
  9. 23 Apr, 2020 5 commits
  10. 22 Apr, 2020 4 commits
  11. 21 Apr, 2020 3 commits
  12. 20 Apr, 2020 2 commits
  13. 19 Apr, 2020 3 commits
  14. 18 Apr, 2020 4 commits