N129BZ / chartmaker

This application downloads USA VFR and CONUS Enroute IFR digital raster charts and translates them into mbtiles databases
MIT License
13 stars 6 forks source link
aviation faa gdal gis mbtiles node-js vfr-sectionals

chartmaker - Download FAA VFR and IFR digital raster charts and translate into mbtiles databases for other mapping applications

(Check out my chart viewing application https://github.com/n129bz/chartserver - also shows Metars, Pireps, Weather, etc.)

Docker image: docker pull n129bz/chartmaker:latest

To run the image: docker run -it n129bz/chartmaker:latest

To launch chartmaker on the docker image: cd /chartmaker then enter: node make or, for a specific chart: see Wiki for a complete list of possible arguments

Requirements: nodejs + npm, sqlite3, python, perl, cpanminus, pngquant, imagemagick, curl, unzip, build-essential, libgdal-dev, libssl-dev, gdal-bin (v3.6.2 minimum)

Installation:

1.) This node.js application is designed to run on Linux, and also runs well on WSL (Windows Subsystem for Linux) and assumes a pre-existing node js installation
2.) After installing all requirements, clone this repository, change directory to chartmaker, open a terminal and enter npm install
3.) Give execute permissions to perlinstall.sh shell script and run it to install all the perl dependencies
4.) Run the application in a terminal with the command node make or to see command line options, node main --help
5.) If not passing a chart number argument, respond to the prompt for what to process
6.) Go do something else... depending on the number of charts and image quality, the process can take several hours to complete.

Process Control Files

chartdates.json

The FAA publishes charts 20 days before the official chart date, and chartmaker will automatically select the nearest chart date from this file of official FAA chart 56-day release dates, all the way up to the year 2044. If the next chart date is more than 20 days out, chartmaker will get the current chart date.

settings.json

settings.json values

ToDo:

Suggestions welcome!

inspired by https://github.com/jlmcgraw/aviationCharts