Skip to content

Commit

Permalink
Add Object Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
misterrodg committed Jul 14, 2024
1 parent 2bad71a commit 5e22ecb
Show file tree
Hide file tree
Showing 20 changed files with 492 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,7 @@ airport = c.find_airport("KIAD")
with open("output.json", "w") as json_file:
json.dump(airport.to_dict(), json_file, indent=2)
```

## CIFP Objects

A breakdown of the different objects can be found in the [Docs](./docs/) directory.
41 changes: 41 additions & 0 deletions docs/CIFPAirport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# The CIFPAirport Object

The CIFP airport object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- airport_id: The ICAO code of the airport.
- region: The ICAO region (e.g. `K6` for NE US).
- sub_code: The subsection code, used in parsing.
- iata: The IATA code of the airport.
- cont_rec_no: The continuation record number, used in parsing.
- limit_alt: The speed limit altitude.
- longest: The longest runway length.
- is_ifr: An IFR capability marker.
- longest_surface: The surface type of the longest runway.
- lat: The airport reference point latitude.
- lon: The airport reference point longitude.
- mag_var: The magnetic variation.
- elevation: The field elevation.
- limit: The speed limit.
- rec_vhf: The recommended/associated navaid.
- rec_vhf_region: The region of the recommended/associated navaid.
- transition_alt: The transition altitude.
- transition_level: The transition level.
- usage: The use type (e.g. Civilian or Military).
- time_zone: The time zone.
- daylight_ind: A DST marker.
- mag_true: A marker for magnetic or true heading usage.
- datum_code: The reference system used in surveying.
- airport_name: The name of the airport.
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.

Additionally, the airport object has lists of child objects:

- points: A list of [CIFPWaypoint](./CIFPWaypoint.md) objects.
- loc_gs: A list of [CIFP_LOC_GS](./CIFP_LOC_GS.md) objects.
- departures: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
- arrivals: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
- approaches: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
- runways: A list of [CIFPRunway](./CIFPRunway.md) objects.
15 changes: 15 additions & 0 deletions docs/CIFPAirway.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# The CIFPAirway Object

The CIFP airway object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- airway_id: The ID of the airway.
- six_char: A six character representation, if one exists.
- application: The application type, used in parsing.
- notes: The airway notes.

Additionally, the airway object has lists of child objects:

- points: A list[CIFPAirwayPoint](./CIFPAirwayPoint.md) objects.
36 changes: 36 additions & 0 deletions docs/CIFPAirwayPoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# The CIFPAirwayPoint Object

The CIFP airway point object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- airway_id: The ID of the airway.
- six_char: A six character ID if one exists.
- sequence_number: The sequence number of the point in the airway.
- point_id: The ID of the point along the airway.
- point_region: The region of the point.
- point_sec_code: The section code of the point.
- point_sub_code: The subsection of the point.
- description_code: The description code, used in parsing.
- bound_code: The code of the boundary being crossed.
- route_type: The airway type.
- level: The level of the airway (high, low, or both).
- direct: A one-way restriction in relation to the sequence numbers (forward or backward). Blank if none.
- tc_ind: The cruise table indicator.
- eu_ind: The EU indicator.
- rec_vhf: The ID of the recommended navaid.
- rec_vhf_region: The ICAO region of the recommended navaid.
- rnp: The RNP value.
- theta: The magnetic bearing to the `point_id` from the `rec_vhf`.
- rho: The distance to the `point_id` from the `rec_vhf`.
- out_mag_crs: The outbound magnetic course.
- from_dist: The distance from this point to the next.
- in_mag_crs: The inbound magnetic course.
- min_alt: The minimum altitude.
- min_alt_2: The second minimum altitude.
- max_alt: The maximum altitude.
- fix_radius: The fixed radius transition value.
- sig_point: Some airways are not continuous. This identifier notes if the point is the start (`S`) or end (`E`) point for that section.
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.
29 changes: 29 additions & 0 deletions docs/CIFPControlledAirspace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# The CIFPControlledAirspace Object

The CIFP controlled airspace object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- region: The ICAO region (e.g. `K6` for NE US).
- airspace_type: The airspace type.
- center_id: The airport ID of the center point.
- center_sec_code: The section code of the center point.
- center_sub_code: The subsection code of the center point.
- airspace_class: The class of the airspace.
- application: The application type, used in parsing.
- time_code: The time code.
- notam: A marker for NOTAM-controlled timing.
- time_ind: The time indicator.
- op_time_1: The first operating time slot.
- op_time_2: The second operating time slot.
- op_time_3: The third operating time slot.
- op_time_4: The fourth operating time slot.
- op_time_5: The fifth operating time slot.
- op_time_6: The sixth operating time slot.
- op_time_7: The seventh operating time slot.
- controlling_agency: The controlling agency.

Additionally, the controlled airspace object has lists of child objects:

- segments: A list of [CIFPControlledAirspaceSegment](./CIFPControlledAirspaceSegment.md) objects.
33 changes: 33 additions & 0 deletions docs/CIFPControlledAirspacePoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# The CIFPControlledAirspacePoint Object

The CIFP controlled airspace point object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- region: The ICAO region (e.g. `K6` for NE US).
- airspace_type: The airspace type.
- center_id: The airport ID of the center point.
- center_sec_code: The section code of the center point.
- center_sub_code: The subsection code of the center point.
- airspace_class: The class of the airspace.
- multiple_code: The multiple code, used in parsing.
- sequence_number: The sequence number of the point in the airspace.
- level: The airspace level.
- time_zone: The time zone.
- notam: A marker for NOTAM-controlled timing.
- boundary_via: A marker showing how the boundary is defined.
- lat: The latitude of the point.
- lon: The longitude of the point.
- arc_lat: The latitude of the arc.
- arc_lon: The longitude of the arc.
- arc_dist: The distance from the arc lat/lon point.
- arc_bearing: The starting bearing of the arc.
- rnp: The RNP value.
- lower_limit: The lower limit of the airspace.
- lower_unit: The unit of the lower limit.
- upper_limit The upper limit of the airspace.
- upper_unit: The unit of the upper limit.
- airspace_name: The name of the airspace.
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.
10 changes: 10 additions & 0 deletions docs/CIFPControlledAirspaceSegment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# The CIFPControlledAirspaceSegment Object

The CIFP controlled airspace segment object comprises the following fields:

- multiple_code: The multiple code, used in parsing.
- airspace_name: The name of the airspace.

Additionally, the controlled airspace segment object has lists of child objects:

- points: A list of [CIFPControlledAirspacePoint](./CIFPControlledAirspacePoint.md) objects.
39 changes: 39 additions & 0 deletions docs/CIFPHeliport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# The CIFPHeliport Object

The CIFP heliport object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- heliport_id: The ICAO code of the heliport.
- region: The ICAO region (e.g. `K6` for NE US).
- sub_code: The subsection code, used in parsing.
- iata: The IATA code of the heliport.
- pad_id: The ID of the helipad (similar to a runway ID).
- cont_rec_no: The continuation record number, used in parsing.
- limit_alt: The speed limit altitude.
- datum_code: The reference system used in surveying.
- is_ifr: An IFR capability marker.
- lat: The heliport reference point latitude.
- lon: The heliport reference point longitude.
- mag_var: The magnetic variation.
- elevation: The field elevation.
- limit: The speed limit.
- rec_vhf: The recommended/associated navaid.
- rec_vhf_region: The region of the recommended/associated navaid.
- transition_alt: The transition altitude.
- transition_level: The transition level.
- usage: The use type (e.g. Civilian or Military).
- time_zone: The time zone.
- daylight_ind: A DST marker.
- pad_dimensions: The dimensions of the helipad.
- mag_true: A marker for magnetic or true heading usage.
- heliport_name: The name of the heliport.
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.

Additionally, the heliport object has lists of child objects:

- points: A list of [CIFPWaypoint](./CIFPWaypoint.md) objects.
- departures: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
- arrivals: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
- approaches: A list of [CIFPProcedure](./CIFPProcedure.md) objects.
11 changes: 11 additions & 0 deletions docs/CIFPProcedure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# The CIFPProcedure Object

The CIFP procedure object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- procedure_id: The ID (or computer code) of the procedure.

Additionally, the procedure object has a list of child objects:

- segments: A list of [CIFPProcedureSegment](./CIFPProcedureSegment.md) objects.
52 changes: 52 additions & 0 deletions docs/CIFPProcedurePoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# The CIFPProcedure point Object

The CIFP procedure point object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- fac_id: The ID of the associated facility (airport or heliport ID).
- fac_region: The ICAO region of the associated facility.
- fac_sub_code: The subsection code of the associated facility.
- procedure_id: The ID (or computer code) of the associated procedure.
- route_type: The route type (e.g. SID, STAR, IAP)
- transition_id: The ID (or computer code) of the associated transition.
- sequence_number: The sequence number of the point in the procedure.
- fix_id: The ICAO code of the fix.
- fix_region: The ICAO region of the fix.
- fix_sec_code: The section code of the fix.
- fix_sub_code: The subsection code of the fix.
- description_code: The description code, used in parsing.
- turn_direction: The direction of the turn.
- rnp: The RNP requirement for the leg.
- path_term: The path termination.
- tdv: Turn direction valid marker, used in conjunction with `turn_direction`.
- rec_vhf: The recommended/associated navaid.
- rec_vhf_region: The region of the recommended/associated navaid.
- arc_radius: The arc radius for RTF legs.
- theta: The magnetic bearing to the `fix_id` from the `rec_vhf`.
- rho: The distance to the `fix_id` from the `rec_vhf`.
- course: The course.
- dist: The distance (if a hold, the distance of the hold leg).
- time: The time, if applicable (if a hold, the time of the hold leg).
- rec_vhf_sec_code: The section code of the recommended/associated navaid.
- rec_vhf_sub_code: The subsection code of the recommended/associated navaid.
- alt_desc: The altitude descriptor.
- atc: An ATC override marker.
- altitude: The altitude for the leg.
- flight_level: The flight level for the leg.
- altitude_2: The second altitude for the leg.
- flight_level_2: The second flight level for the leg.
- trans_alt: The transition altitude.
- speed_limit: The speed limit.
- vert_angle: The vertical angle.
- center_fix: The center fix for an RTF leg.
- multiple_code: The multiple code, used in parsing.
- center_fix_region: The center fix region.
- center_fix_sec_code: The center fix section code.
- center_fix_sub_code: The center fix subsection code.
- gns_fms_id: The GNS/FMS ID.
- speed_limit_2: The second speed limit.
- rte_qual_1: The route qualifier (specifies requirements).
- rte_qual_2: The second route qualifier (denotes approach types).
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.
10 changes: 10 additions & 0 deletions docs/CIFPProcedureSegment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# The CIFPProcedureSegment Object

The CIFP procedure segment object comprises the following fields:

- type: The procedure segment type.

Additionally, the procedure segment object has lists of child objects:

- transitions: A list of [CIFPProcedureSubsegment] objects.
- points: A list of [CIFPProcedurePoint] objects.
9 changes: 9 additions & 0 deletions docs/CIFPProcedureSubsegment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# The CIFPProcedureSubsegment Object

The CIFP procedure subsegment object comprises the following fields:

- transition_id: The ID (or computer code) of the transition.

Additionally, the procedure subsegment object has lists of child objects:

- points: A list of [CIFPProcedurePoint](./CIFPProcedurePoint.md) objects.
25 changes: 25 additions & 0 deletions docs/CIFPRestrictiveAirspace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# The CIFPRestrictiveAirspace Object

The CIFP restrictive airspace object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- region: The ICAO region (e.g. `K6` for NE US).
- restrictive_type: The type of restrictive airspace (e.g. MOA, Warning, Alert, etc.).
- restrictive_designation: The restrictive airspace designation (short name).
- restrictive_name: The restrictive airspace name.
- application: The application type, used in parsing.
- time_ind: The time indicator.
- op_time_1: The first operating time slot.
- op_time_2: The second operating time slot.
- op_time_3: The third operating time slot.
- op_time_4: The fourth operating time slot.
- op_time_5: The fifth operating time slot.
- op_time_6: The sixth operating time slot.
- op_time_7: The seventh operating time slot.
- controlling_agency: The controlling agency.

Additionally, the restrictive airspace object has lists of child objects:

- segments: A list of [CIFPRestrictiveAirspaceSegment](./CIFPRestrictiveAirspaceSegment.md) objects.
29 changes: 29 additions & 0 deletions docs/CIFPRestrictiveAirspacePoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# The CIFPRestrictiveAirspacePoint Object

The CIFP restrictive airspace point object comprises the following fields:

- area: The world region (e.g. `USA` or `CAN`).
- sec_code: The section code, used in parsing.
- sub_code: The subsection code, used in parsing.
- region: The ICAO region (e.g. `K6` for NE US).
- restrictive_type: The airspace type.
- restrictive_designation: The airspace designation.
- multiple_code: The multiple code, used in parsing.
- sequence_number: The sequence number of the point in the airspace.
- level: The airspace level.
- time_zone: The time zone.
- notam: A marker for NOTAM-controlled timing.
- boundary_via: A marker showing how the boundary is defined.
- lat: The latitude of the point.
- lon: The longitude of the point.
- arc_lat: The latitude of the arc.
- arc_lon: The longitude of the arc.
- arc_dist: The distance from the arc lat/lon point.
- arc_bearing: The starting bearing of the arc.
- lower_limit: The lower limit of the airspace.
- lower_unit: The unit of the lower limit.
- upper_limit The upper limit of the airspace.
- upper_unit: The unit of the upper limit.
- restrictive_name: The name of the airspace.
- record_number: The CIFP record number.
- cycle_data: The cycle ID of when the record was added/updated.
13 changes: 13 additions & 0 deletions docs/CIFPRestrictiveAirspaceSegment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# The CIFPRestrictiveAirspaceSegment Object

The CIFP restrictive airspace segment object comprises the following fields:

- multiple_code: The multiple code, used in parsing.
- lower_limit: The lower limit of the airspace.
- lower_unit: The unit of the lower limit.
- upper_limit The upper limit of the airspace.
- upper_unit: The unit of the upper limit.

Additionally, the restrictive airspace segment object has lists of child objects:

- points: A list of [CIFPRestrictiveAirspacePoint](./CIFPRestrictiveAirspacePoint.md) objects.
Loading

0 comments on commit 5e22ecb

Please sign in to comment.