Introduction

Rulesets are the core characteristic of AirMap's Contextual Airspace. If you aren't familiar with the concept of Contextual Airspace, check out the Contextual Airspace Overview.

Rulesets, whether of type Required, Optional, or Pick One, are tied to a particular jurisdiction (ex. United States) and are therefore dependent on the geographic location of a flight. As the name suggests, each ruleset contains a set of rules that a pilot may be operating under for their particular flight. For example, the "FAA Part 107 Certified" ruleset within the US includes individual rules pertaining to each type of controlled airspace in the flight area.

Rulesets also serve as one component of Airspace Advisories, which are generated by applying a ruleset's individual rules to a pilot's flight plan.

Identifying Applicable Rulesets

The first step to interacting with Contextual Airspace is to identify which rulesets are available for a flight area. As an example, we will check the airspace around a park in Los Angeles:

Using the Rules API, pass in the flight area geometry:

curl -H "content-type: application/json" -H "x-api-key: $APIKEY" --data-binary '{"geometry":{"type": "Polygon","coordinates":[[[-118.6578369140625,34.11180455556899],[-118.43261718749999,33.694637550483186],[-117.97393798828125,33.62376800118811],[-117.88330078125,33.80197351806589],[-118.6578369140625,34.11180455556899]]]}}' 'https://api.airmap.com/rules/v1/'
import requests

url = "https://api.airmap.com/rules/v1/"
apikey = "YOUR_API_KEY"

headers = {
    'accept': "application/json",
    'x-api-key': apikey,
    'content-type': "application/json"
    }

body = {
    "geometry": {
        "type": "Polygon",
        "coordinates": [[[-118.6578369140625,34.11180455556899],[-118.43261718749999,33.694637550483186],[-117.97393798828125,33.62376800118811],[-117.88330078125,33.80197351806589],[-118.6578369140625,34.11180455556899]]]
    }
}

response = requests.request("POST", url, json=body, headers=headers)

print(response.content)

The response data includes multiple rulesets that apply to the airspace around the park, including those that are are of type Required, Optional, and Pick One (pick1).

The response below is truncated for brevity

๐Ÿ“˜

Note

Some rules may not have a description, so please do not rely on this field. You should instead rely on the short_text.

{
  "status": "success",
  "data": [
    {
      "id": "usa_part_107",
      "name": "FAA Part 107 Certified",
      "short_name": "FAA-107",
      "selection_type": "pick1",
      "description": "Guidelines for commercial/recreational drone use in the USA under Part 107",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "non_geo",
        "laanc",
        "controlled_airspace"
      ],
      "flight_features": [
        {
          "flight_feature": "uav_weight",
          "description": "What is the weight of the drone?",
          "input_type": "float",
          "measurement_type": "weight",
          "measurement_unit": "kilograms"
        },
        {
          "flight_feature": "uav_registered",
          "description": "Is the drone registered?",
          "input_type": "bool",
          "measurement_type": null,
          "measurement_unit": null
        },
        {
          "flight_feature": "uav_nav_lights",
          "description": "Does the drone have anti-collision lighting?",
          "input_type": "bool",
          "measurement_type": null,
          "measurement_unit": null
        }
      ],
      "rules": [
        {
          "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
          "short_text": "Do not fly in Class B controlled airspace without ATC authorization",
          "display_order": 120
        },
        {
          "description": "Operations in Class B, C, D and E airspace are allowed with the required ATC permission. ",
          "short_text": "Do not fly in Class C controlled airspace without ATC authorization",
          "display_order": 120
        },
        {
          "description": "Maximum altitude of 400 feet above ground level (AGL) or, if higher than 400 feet AGL, remain within 400 feet of a structure. ",
          "short_text": "Do not fly over 400 ft AGL",
          "display_order": 100,
          "flight_features": [
            {
              "flight_feature": "flight_max_altitude_agl",
              "description": "What is the maximum height of the flight?",
              "input_type": "float",
              "measurement_type": "distance",
              "measurement_unit": "meters"
            }
          ]
        }
      ]
    },
    {
      "id": "usa_sec_336",
      "name": "Fly for Fun (Part 336/101E)",
      "short_name": "Fly for Fun",
      "selection_type": "pick1",
      "description": "Guidelines for recreational drone use in the USA",
      "default": true,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "airport",
        "heliport",
        "non_geo"
      ],
      "flight_features": [
        {
          "flight_feature": "uav_registered",
          "description": "Is the drone registered?",
          "input_type": "bool",
          "measurement_type": null,
          "measurement_unit": null
        },
        {
          "flight_feature": "flight_max_altitude_agl",
          "description": "What is the maximum height of the flight?",
          "input_type": "float",
          "measurement_type": "distance",
          "measurement_unit": "meters"
        }
      ],
      "rules": [
        {
          "description": "Provide prior notification to the airport and air traffic control tower, if one is present, when flying within 5 miles of an airport ",
          "short_text": "Give notice for flights within 5 miles of an airport",
          "display_order": 120
        },
        {
          "description": "Provide prior notification to the airport and air traffic control tower, if one is present, when flying within 5 miles of an airport ",
          "short_text": "Give notice for flights within 5 miles of a heliport",
          "display_order": 120
        }
      ]
    },
    {
      "id": "usa_sec_91",
      "name": "Restricted and Special Use Airspace",
      "short_name": "Restricted",
      "selection_type": "required",
      "description": "There are many types of airspace restrictions in the United States. Restrictions that commonly affect UAS flights include: Security Sensitive Airspace Restrictions, TFRs, Restricted or Special Use Airspace, Stadiums and Sporting Events, Wildfires, and NOTAMs restricting airspace use.",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "notam",
        "tfr",
        "fire",
        "wildfire",
        "special_use_airspace",
        "emergency"
      ],
      "flight_features": [],
      "rules": [
        {
          "description": "Temporary Flight Restrictions (TFRs) define a certain area of airspace where air travel is limited because of a temporary hazardous condition, such as a wildfire or chemical spill; a security-related event, such as the United Nations General Assembly; or other special situations. ",
          "short_text": "Do not fly in an active FAA Temporary Flight Restriction (TFR) zone",
          "display_order": 20
        },
        {
          "description": "It is illegal to fly your UAS in or around a wildfire firefighting operation.",
          "short_text": "Do not fly over a wildfire",
          "display_order": 50
        }
      ]
    },
    {
      "id": "usa_sec_333",
      "name": "FAA Section 333 Exemption Holder",
      "short_name": "FAA-333",
      "selection_type": "pick1",
      "description": "Guidelines for Section 333 exemption holders",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "airport",
        "non_geo",
        "heliport"
      ],
      "flight_features": [
        {
          "flight_feature": "uav_weight",
          "description": "What is the weight of the drone?",
          "input_type": "float",
          "measurement_type": "weight",
          "measurement_unit": "kilograms"
        },
        {
          "flight_feature": "flight_max_altitude_agl",
          "description": "What is the maximum height of the flight?",
          "input_type": "float",
          "measurement_type": "distance",
          "measurement_unit": "meters"
        }
      ],
      "rules": [
        {
          "description": "Beyond the following distances from the airport reference point (ARP) of a public use airport, heliport, gliderport, or seaport listed in the Airport/Facility Directory, Alaska Supplement, or Pacific Chart Supplement of the U.S. Government Flight Information Publications. a) 5 nautical miles (NM) from an airport having an operational control tower; or b) 3 NM from an airport having a published instrument flight procedure, but not having an operational control tower; or c) 2 NM from an airport not having a published instrument flight procedure or an operational control tower; or d) 2 NM from a heliport ",
          "short_text": "Do not fly within 5 nautical miles of an airport with a control tower",
          "display_order": 190
        }
      ]
    },
    {
      "id": "usa_ama",
      "name": "AMA Club Fields",
      "short_name": "AMA",
      "selection_type": "required",
      "description": "The Academy of Model Aeronautics (AMA) is a world-class association of modelers organized for the purpose of promotion, development, education, advancement, and safeguarding of modeling activities.",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "ama_field"
      ],
      "flight_features": [],
      "rules": [
        {
          "description": "To fly on AMA club fields, you must be an AMA member or have permission from the AMA",
          "short_text": "To fly on AMA club fields, you must be an AMA member or have permission from the AMA",
          "display_order": null
        }
      ]
    },
    {
      "id": "usa_airmap_rules",
      "name": "AIRMAP Recommended Guidelines",
      "short_name": "AirMap",
      "selection_type": "optional",
      "description": "These are advisory rules set by AirMap for US drone flights",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "prison",
        "school",
        "hospital",
        "power_plant"
      ],
      "flight_features": [],
      "rules": [
        {
          "description": "AirMap recommends avoiding schools when planning your flight",
          "short_text": "AirMap recommends avoiding schools when planning your flight",
          "display_order": null
        }
      ]
    },
    {
      "id": "usa_national_marine_sanctuary",
      "name": "National Marine Sanctuary Program Rules",
      "short_name": "NMSP",
      "selection_type": "required",
      "description": "NATIONAL MARINE SANCTUARY PROGRAM REGULATIONS",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "park"
      ],
      "flight_features": [],
      "rules": [
        {
          "description": "Do not fly over marine protected areas",
          "short_text": "Do not fly over marine protected areas",
          "display_order": null
        }
      ]
    },
    {
      "id": "usa_national_park",
      "name": "National Parks Public Use Limits",
      "short_name": "NPS",
      "selection_type": "required",
      "description": "Policy Memorandum 14-05 There has been dramatic growth throughout the United States in the numbers and use of unmanned aircraft during recent years. The likely increase in the use of these devices in units of the National Park System will undoubtedly impact park resources, staff, and visitors in ways that have yet to be identified. Recent use of unmanned aircraft in several park areas has generated a number of questions by park managers regarding concerns about their compatibility with the National Park Service (NPS) mission.   As used in this Policy Memorandum and its exhibits, the term โ€œparkโ€ means any unit of the National Park System.   Purpose   The purpose of this Policy Memorandum is to ensure that the use of unmanned aircraft is addressed in a consistent manner by the NPS before a significant level of such use occurs within the National Park System. Accordingly, I direct each superintendent to use the authority under 36 CFR 1.5 to close units of the National Park System to launching, landing, or operating unmanned aircraft, subject to the conditions and exceptions described below. This action must be taken by superintendents no later than August 20, 2014.   For purposes of this Policy Memorandum, the term \"unmanned aircraft\" means a device that is used or intended to be used for flight in the air without the possibility of direct human intervention from within or on the device, and the associated operational elements and components that are required for the pilot or system operator in command to operate or control the device (such as cameras, sensors, communication links). This term includes all types of devices that meet this definition (e.g., model airplanes, quadcopters, drones) that are used for any purpose, including for recreation or commerce.",
      "default": false,
      "jurisdiction": {
        "id": 1,
        "name": "United States",
        "region": "federal"
      },
      "airspace_types": [
        "park"
      ],
      "flight_features": [],
      "rules": [
        {
          "description": "Do not fly over US national parks",
          "short_text": "Do not fly over US national parks",
          "display_order": null
        }
      ]
    }
  ]
}

Each ruleset consists of the rules that it contains, the airspace_types that it affects, and a set of flight_features representing additional input that may be necessary from the pilot to ensure compliance with those rules.

Looking at the selection_type of the returned rulesets, we see that the Required rulesets in this area are:

  • Restricted and Special Use Airspace
  • National Parks
  • National Marine Sanctuary

The pilot is also required to select one of the following rulesets (pick1):

  • Fly for Fun (Part 336/101E)
  • FAA Part 107 Certified
  • FAA Section 333 Exemption Holder

Finally, the pilot has the option to select any optional/recommended ruleset available:

  • AirMap Recommended Guidelines
  • AMA Club Fields

Your application interface should allow the pilot to select (or select for them if known) the appropriate Pick One and Optional rulesets for their mission. Required rulesets should be automatically selected for the pilot. The resulting list of ruleset identifiers will be required as part of the Flight Planning process.

Updated about a year ago


What's Next

Answer questions to ensure rule compliance

Flight Features

Rulesets


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.