sign0 / OpenAIP2GeoJSON

CLI tool to convert OpenAIP datas to GeoJSON

Home Page:https://knudian.github.io/OpenAIP2GeoJSON/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenAIP2GeoJSON

JavaScript Cli for convert .aip files from OpenAIP to GeoJSON files.

Quickstart

yarn install &&\
node index.js --input PATH/TO/DIRECTORY/OF/AIP/FILES --output PATH/TO/DIRECTORY/OF/GEOJSON/FILES

Example

node index.js --input example_files/input --output example_files/output

Data structures

Following the RFC 7946, all files are following the GeoJSON structure defined by IETF.

All datas are divided into separate files :

  • airports.geojson,
  • airspaces.geojson,
  • hotspots.geojson,
  • navaids.geojson,
  • runways.geojson

Each of those is a FeatureCollection, containing the datas. Actually, apart from airspaces, all datas are Points (airspaces are Polygons).

Even if not in used at the moment, a guid property is given for each geographical information.

Units

  • Coordinates ([longitude, latitude]) in decimal degrees,
  • Elevation (elev) in decimal meters,
  • Frequencies in MHz (MegaHertz).

Sample : airports.geojson

// Example from France OpenAIP for Abbeville airport.
{
    "type":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "geometry":{
                "type":"Point",
                "coordinates":[1.831389,50.101667]
            },
            "properties":{
                "guid":"",
                "aeronautical":"airport",
                "name":"ABBEVILLE",
                "type":"HELI_CIVIL",
                "country":"FR",
                "icao":"",
                "radios":[
                    {
                        "category":"COMMUNICATION",
                        "frequency":134.825,
                        "type":"FIS",
                        "spec":"",
                        "description":"LILLE Information"
                    }
                ],
                "elev":24.9936
            }
        },
        ...
    ]
}

Sample : airspace.geojson

// Example from France OpenAIP for Bourg-St-Maurice airspace.
{
    "type":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "geometry":{
                "type":"Polygon",
                "coordinates":[
                    [
                        [6.6333333333333,45.659166666667],
                        [6.7127777777778,45.697777777778],
                        [6.745,45.673888888889],
                        [6.7525,45.614444444444],
                        [6.75,45.613333333333],
                        [6.7205555555556,45.610833333333],
                        [6.6333333333333,45.659166666667]
                    ]
                ]
            },
            "properties":{
                "guid":"",
                "aeronautical":"airspace",
                "category":"DANGER",
                "version":"d10ba4b78e487033c62696d9776893c21f17479f",
                "id":"117703",
                "country":"FR",
                "name":"7 D 187 BourgStMaurice",
                "alt_limits":{
                    "top":{"ref":"STD","value":"FL 55"},
                    "bottom":{"ref":"GND","value":"F 0"}
                }
            }
        },
        ...
    ]
}

Sample : hotspots.geojson

// Example from France OpenAIP for Beynes hotspot.
{
    "type":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "geometry":{
                "type":"Point",
                "coordinates":[6.24768066413,43.968807501452]
            },
            "properties":{
                "guid":"",
                "aeronautical":"hotspot",
                "type":"NATURAL",
                "country":"FR",
                "name":"Beynes",
                "elev":1573,
                "reliability":0.65,
                "occurrence":"IRREGULAR_INTERVAL",
                "conditions":[
                    {
                        "type":"FAVORABLE",
                        "timeofday":["NOON/AFTERNOON","AFTERNOON/LATE_AFTERNOON"],
                        "wind":[]
                    }
                ]
            }
        },
        ...
    ]
}

Sample : navaids.geojson

// Example from France OpenAIP for Abbeville navaid.
{
    "type":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "geometry":{
                "type":"Point",
                "coordinates":[1.8547222222222,50.135277777778]
            },
            "properties":{
                "guid":"",
                "aeronautical":"navaid",
                "type":"VOR-DME",
                "country":"FR",
                "id":"ABB",
                "elev":68,
                "radios":[
                    {"frequency":108.45,"channel":"21Y"}
                ],
                "params":{
                    "range":60,
                    "declination":-0.31475,
                    "alignedtotruenorth":false
                }
            }
        },
        ...
    ]
}

Sample : runways.geojson

// Example from France OpenAIP for one of Abbeville's airport runways.
{
    "type":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "geometry":{
                "type":"Point",
                "coordinates":[1.8325,50.143056]
            },
            "properties":{
                "guid":"",
                "aeronautical":"runway",
                "operations":"ACTIVE",
                "airport":"ABBEVILLE",
                "name":"02/20",
                "sfc":"ASPH",
                "elev":67.056,
                "length":1249.9848,
                "width":22.86,
                "directions":["024","204"]
            }
        },
        ...
    ]
}

Dependencies

This parser uses :

Disclaimer

Since this little parser is just a parser, and is not providing any datas - examples are just examples, don't trust those -, the datas are not qualified to be use instead of official sources (following aeronautical rules, you must have datas provided officially).

About

CLI tool to convert OpenAIP datas to GeoJSON

https://knudian.github.io/OpenAIP2GeoJSON/


Languages

Language:JavaScript 100.0%