tree: 6fb49916b5f0ada72d860ea8cf6a770e67466324 [path history] [tgz]
  1. tools/
  2. README.md
android/README.md

This directory contains Android's additions to timezone-boundary-builder project.

Directories:

android_inputs/

  • Files downloaded from upstream to seed android_downloads/

android_downloads/

  • The .json files used to generate the output. Equivalent to upstream's downloads/ directory.

android_dist/

  • The generated output files. Equivalent to upstream's dist/ directory.

tools/

  • Scripts used to execute the timezone-boundary-builder generation process.

Android initially intends to use the time zone boundary file, combined.json, released by upstream. Therefore, this copy of timezone-boundary-builder may be unnecessary until / unless Android wants to make local modifications.


The combined.json generation process:

Execute android/tools/host/clear_android_data_files.sh to clear out most working files and reset the local environment.

Before running the generation process, decide if you want to use the same input files as have been used by upstream.

Upstream make the files used available in a file called input-files.zip, which can be downloaded and unpacked into the android/android_downloads/ directory using android/tools/host/download_input_files.sh.

When not using upstream's input files, the generation process will first download boundary data from OpenStreetMap, which is slow. Because OpenStreetMap is constantly evolving, the latest features downloaded will usually have issues that need to be fixed before proceeding. The script can be restarted multiple times and will usually restart downloads from where it failed last time.

Local edits to input files may be necessary to make adjustments needed for Android in future.

timezone-boundary-builder requires the nodejs runtime for execution with various dependencies, so Android's android/tools/host/run_tzbb.sh uses a Docker container to setup the runtime environment in a repeatable manner.

Execute android/tools/host/run_tzbb.sh --help to see options.

The following can be used to speed up generation times:

      --skip_analyze_diffs  Skip analysis of diffs between versions    [boolean]
      --skip_shapefile      Skip shapefile creation                    [boolean]
      --skip_validation     Skip validation                            [boolean]

After executing android/tools/host/run_tzdbb.sh, in android/android_dist/ there will be many .json files alongside (a newly generated) input-files.zip and combined.json that constitute the main output files.

The contents of android/android_downloads/ and android/android_dist/ can be committed to form a full record of how the latest output file was generated.

The combined.json and input-files.zip can be passed to the new step of the reference data generation pipeline, which is held in a separate git project.