Skip to content

Releases: N129BZ/chartmaker

Chartmaker version 1.58

01 Jul 18:49
a9ccbbf

Choose a tag to compare

Added web server and websocket layers

Chartmaker version 1.57

10 May 17:12

Choose a tag to compare

This release adds a new feature to output charts in grayscale, which is controlled by a new settings value: "outputgrayscale": true

From settings.json:

"outputgrayscale": true,
"tileimagequality" : 40,
"blendpixels" : 30,
"zoomrange" : "0-11",
"centerzoomlevel": "7",
"dbextension": "mbtiles",
"externaldbfolder": "",
"addoverviews": true,
"usecommandline": true,
"timezone": "America/Chicago",
"debug": true,

Note that the WEBP driver in GDAL cannot translate RGB images to grayscale, so the index value setting for tiledriverindex should be set to either 0 (png) or 1 (jpeg) . If the value is left at the default of 2 (webp) then the application will automatically default to 0 (png)

Tile driver index set to png:

"tiledriverindex": 0,
"tiledrivers": [
    "png",
    "jpeg",
    "webp"
]

Chartmaker version 1.56

27 Mar 22:04

Choose a tag to compare

This release fixes a bug when running the docker image and passing an external volume parameter for placing the finished mbtiles database in a local folder.

The docker image at https://hub.docker.com/repository/docker/n129bz/chartmaker/ has also been updated.

Chartmaker version 1.55

27 Mar 16:30

Choose a tag to compare

This release removes multiprocessing in the mergetiles.pl Perl script. This is because parallel processing actually makes the whole process slower, due to multiple threads of disk IO in writing thousands of files to different directories in multiple threads causes disk thrashing.

To try and speed things up a bit more, the mergetiles processing now moves tiles from the source directories to the base directories rather copying them. This also results in much less overall disk space usage, especially with large charts like the full Sectional chart or the Enroute charts.

The docker image at https://hub.docker.com/repository/docker/n129bz/chartmaker/ has also been updated.

Chartmaker version 1.53

09 Mar 23:43

Choose a tag to compare

Release 1.53:
This release fixes a bug when generating mbtiles databases and includes all of the items from release 1.52.

Release 1.52:
This release fixes a bug when processing the Caribbean VFR charts. The FAA added a new planning chart to the zip download file that has no wsgbounds metadata, which this application needs in order to add that metadata to the resultant mbtiles database. For now, that planning chart is ignored and not processed.

This release has added a new timezone setting in settings.json, so that timing log output will be properly formatted to the indicated time zone. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for an exhaustive list of valid time zone values. The default time zone value is "America/Chicago" because I live in the US Central time zone. A few examples of other valid values would be "America/New_York" for Eastern, "America/Denver" for Mountain, "America/Los_Angeles" for Pacific, "America/Alaska", etc. If this value is an empty string, the timing output will be Greenwich Mean Time.

This release has also added a new debug true/false setting, which if set to true, will output STDOUT from the execution of the various GDAL functions. The default value is true.

This release has implemented simple parallel processing in the tile merging process by incorporating Parallel::ForkManager in the mergetiles.pl Perl script, specifically where the process is iterating through all of the zoom levels to merge duplicate tiles.

The Docker image at https://hub.docker.com/repository/docker/n129bz/chartmaker has also been updated with this release.

Chartmaker version 1.52

08 Mar 01:03

Choose a tag to compare

This release fixes a bug when processing the Caribbean VFR charts. The FAA added a new planning chart to the zip download file that has no wsgbounds metadata, which this application needs in order to add that metadata to the resultant mbtiles database. For now, that planning chart is ignored and not processed.

This release has added a new timezone setting in settings.json, so that timing log output will be properly formatted to the indicated time zone. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for an exhaustive list of valid time zone values. The default time zone value is "America/Chicago" because I live in the US Central time zone. A few examples of other valid values would be "America/New_York" for Eastern, "America/Denver" for Mountain, "America/Los_Angeles" for Pacific, "America/Alaska", etc. If this value is an empty string, the timing output will be Greenwich Mean Time.

This release has also added a new debug true/false setting, which if set to true, will output STDOUT from the execution of the various GDAL functions. The default value is true.

This release has implemented simple parallel processing in the tile merging process by incorporating Parallel::ForkManager in the mergetiles.pl Perl script, specifically where the process is iterating through all of the zoom levels to merge duplicate tiles.

The Docker image at https://hub.docker.com/repository/docker/n129bz/chartmaker has also been updated with this release.

Chartmaker version 1.51

02 Mar 19:20

Choose a tag to compare

  • Added a new menu option to generate a geoTIFF from an existing mbtiles database:
Select:
----------------------------------------------------------------
1 = Process a single area VFR chart
2 = Process all 53 area VFR charts individually
3 = Process a single full chart from the full chart list
4 = Process all of the full charts in the full chart list
5 = Generate a GeoTIFF from a mbtiles database
----------------------------------------------------------------
Your selection:
  • Added the Perl module: Parallel:ForkManager to installed Perl modules to add parallel processing capability.
  • Moved iteration of area tile merging from make.js to the mergetiles.pl perl process and added parallel processing, using a user-defined number of process threads via a new settings.json value with a default value of 6 threads. You can tweak this value for your own equipment needs:
"mergethreads": 6,

Chartmaker version 1.42

24 Aug 22:33
1f1876a

Choose a tag to compare

New command line argument processing (see wiki) includes ability to specify a specific area or full chart (see wiki)
Added US VFR Wall Planning Chart processing
Enhanced image processing so zoomed chart is less grainy

Chartmaker version 1.35

13 Aug 19:25

Choose a tag to compare

Added individual chart processing by passed argument or prompt if no argument present
Docker image also available: docker pull n129bz/chartmaker:v1.34

Major release includes ability to process chart databases individually, either by passing a chart number argument, or if no arg is passed, the app will prompt with the following choices:
Press Enter to process all charts in the chartprocessindexes array in settings.json (this corresponds to the same way the app originally worked)
Enter 1 to process a single VFR chart
Enter * to process all 53 area charts individually

If you respond with a "1" you will be prompted with the list of 53 numbered charts and the application expects a response of a single chart number. If you respond with the asterisk "*" then all 53 area charts will be processed as individual mbtiles databases.

To pass a chart number argument, launch the app from a terminal:
node make X where X is the chart number to process. For example, to process Wichita: node make 53

List of chart numbers from settings.json
ChartAreas