This repository provides a convenient mechanism for generating TopoJSON files for Eurocontrol region
Before you can make any TopoJSON files, you’ll need to install Node.js and GDAL. Here’s how to do that using Homebrew on Mac OS X:
brew install node gdalThen, clone this repository and install its dependencies:
git clone https://github.com/euctrl-pru/eurocontrol-atlas.git
cd eurocontrol-atlas
npm installOnce you have everything installed, you can make various targets defined in the Makefile.
make helpEach FAB has been assigned a unique ID, see data/fab-id-name.csv. This is the file that can
be used for example in D3 to associate the id to the name.
Given all the FIRs for Eurocontrol as from euctrl target, the following jq
filter will return the list of unique FLs, i.e. the slices to consider when
merging the relevant set of FIRs:
$ jq "[.objects.firs.geometries| .[].properties | .minfl , .maxfl] | unique" firs.json
[
0,
195,
245,
275,
285,
999
]Select all the FIRs whose minfl is equal to 285:
$ jq ".objects.firs.geometries| .[].properties | select(.minfl| . == 285)" firs.json
{
"id": "EFINUIR",
"icao": "EF",
"name": "FINLAND UIR",
"minfl": 285,
"maxfl": 999
}
{
"id": "LYBAUIR",
"icao": "LY",
"name": "BEOGRAD UIR",
"minfl": 285,
"maxfl": 999
}The FIRs that exist at FL245 are (these are the ones to be merged when considering State or Fab aggregation):
$ jq ".objects.firs.geometries| .[].properties | select(. | .minfl <= 245 and .maxfl > 245) | .id" firs.json
"LJLAFIR"
"EISNUIR"
"LFFFUIR"
"LZBBFIR"
"LHCCFIR"
"LTBBFIR"
"EETTFIR"
"ENORFIR"
"EPWWFIR"
"LPPOFIR"
"UDDDFIR"
"EHAAFIR"
"EKDKFIR"
"LIRRUIR"
"UKLVFIR"
"LOVVFIR"
"EDVVUIR"
"LUUUFIR"
"LDZOFIR"
"LIMMUIR"
"LAAAFIR"
"UKFVFIR"
"EBURUIR"
"EFINFIR"
"LYBAFIR"
"ESAAFIR"
"EGGXFIR"
"ENOBFIR"
"EGPXUIR"
"LECBUIR"
"LMMMUIR"
"LCCCUIR"
"LTAAFIR"
"LPPCFIR"
"GCCCUIR"
"LBSRFIR"
"EGTTUIR"
"LWSSFIR"
"UGGGUIR"
"LKAAFIR"
"LQSBUIR"
"LSASUIR"
"LECMUIR"
"LRBBFIR"
"UKDVFIR"
"LIBBUIR"
"EYVLUIR"
"EVRRFIR"
"UKBVFIR"
"EDUUUIR"
"LGGGUIR"
"UKOVFIR"