Airspace Services

Airspace services consist of methods that determine when an object flying a route or an object flying within a defined cylindrical region will cross into an airspace. Supported airspace categories include Controlled airspace (classes B, C, D, E0), Local Altitude Authorization and Notification Capability (LAANC) airspaces, National Parks and Wildlife areas, Restriced Military & Special Use Area airspaces and all Airports.

You can choose which category of airspace you'd like to check for, as well defining search criteria for airspace by name or region. You may also require that the airspaces under consideration touch the surface of the Earth.

When determining airspace crossings, you can specify whether you would like the times at which the object crosses the airspace boundary, or the times when it comes within some distance of the boundary. This latter feature is called a proximity warning and is explained in more detail in the text below.

Airspace data is sourced from the US Federal Aviation Administration (FAA). See their site for more information.

Airspace crossings for flights on a route

This service determines which airspace regions are entered by an object following a route. The simple flight, great arc or point to point routes are supported.

The service returns airspace identifying information, the times and positions of entry and exit and optionally, the object's path while in the airspace. Both airspace intersections and airspace proximity results can be returned, see the settings below.

API Paths
airspace/pointToPoint
airspace/simpleFlight
airspace/greatArc
HTTP Method
POST
Input Format
{
    "Path": {},
    "IncludePath": true,
    "AirspaceOptions": {options defined here},
    "UseHorizontalProximity": true,
    "HorizontalProximityThreshold": 2000,
    "UseVerticalProximity": true,
    "VerticalProximityThreshold": 30
}
Notes:
Path
Json object defining the path on which airspace crossings will be calculated. Required.
IncludePath
If true, the results will include the path of the object during the airspace crossing times. Optional, default is false.
AirspaceOptions
Json object representing the options for selecting airspaces to use in this service. Optional, Airspace options defaults are used. See Defining Airspace Options for more information.
UseHorizontalProximity
If true, will return results that apply a proximity boundary around the airspace in the horizontal direction, defined by the HorizontalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
HorizontalProximityThreshold
A distance in meters defining when a horizontal proximity result will be returned. A horizontal proximity result is returned when the path is this close or closer to an airspace in the horizontal direction only. Optional, default is 2000 and the value must be greater than or equal to 0.
UseVerticalProximity
If true, will return results that apply a proximity boundary around the airspace in the vertical direction, defined by the VerticalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
VerticalProximityThreshold
A distance in meters defining when a vertical proximity result will be returned. A vertical proximity result is returned when the path is this close or closer to an airspace in the vertical direction only. Optional, default is 30 and the value must be greater than or equal to 0.
Airspace Intersection Input Sample

This example determines all airspaces entered by a drone following a simple flight path through the state of North Carolina, returning path data in latitude, longitude format. Note that the altitude of 100 meters will cause some airspaces to be entered, but airspaces have varying altitude boundaries. When testing the service, try changing the altitude to see which other airspaces are entered. Only the ControlledAirspace category is used to select airspaces in this example. Try changing thes categories to see how the results change.

{
    "Path": {
        "Start": "2016-09-18T00:00:00",
        "Waypoints": [
            {
                "Latitude": 35.74664809,
                "Longitude": -82.68041262
            },
            {
                "Latitude": 35.18442928,
                "Longitude": -82.42519487
            },
            {
                "Latitude": 34.96250080,
                "Longitude": -80.26139220
            },
            {
                "Latitude": 35.62088862,
                "Longitude": -80.13563273
            },
            {
                "Latitude": 35.29169471,
                "Longitude": -81.70022851
            }
        ],
        "TurningRadius": 15,
        "Speed": 20,
        "Altitude": 100,
        "MeanSeaLevel": true,
        "OutputSettings": {
            "Step": 300,
            "TimeFormat": "UTC",
            "CoordinateFormat": { "Coord": "LLA" }
        }
    },
    "IncludePath": true,
    "AirspaceOptions": {
        "Categories": [ "ControlledAirspace", "Restricted" ]
    }
}
Output Sample

Note that path data is not returned if the amount of time the vehicle spends in the airspace is less than the step in the OutputSettings. The UnrecognizedAirspaceIds array contains airspaceIds that were sent to the service, but not recognized.

{
    "UnrecognizedAirspaceIds": [],
    "AirspacesAccessed": [
        {
            "Entry": {
                "Position": {
                    "Latitude": 35.515029993326849,
                    "Longitude": -82.575052140074362,
                    "Altitude": 68.638402520037
                },
                "SensorStates": [],
                "Time": "2016-09-18T00:22:50.6729292Z"
            },
            "Exit": {
                "Position": {
                    "Latitude": 35.358665042199775,
                    "Longitude": -82.504096839793419,
                    "Altitude": 68.270678092177533
                },
                "SensorStates": [],
                "Time": "2016-09-18T00:38:15.9818757Z"
            },
            "Path": [
                {
                    "Position": {
                        "Latitude": 35.493175676002181,
                        "Longitude": -82.5651267206106,
                        "Altitude": 68.613741283207077
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:25:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.442479911758674,
                        "Longitude": -82.542113067989462,
                        "Altitude": 68.485032261219331
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:30:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.391783720961726,
                        "Longitude": -82.5191138400917,
                        "Altitude": 68.355610467664746
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:35:00.0000000Z"
                }
            ],
            "AirspaceId": "ASHEVILLE CLASS C",
            "Name": "ASHEVILLE CLASS C",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "Entry": {
                "Position": {
                    "Latitude": 35.325897653757607,
                    "Longitude": -80.192106635819826,
                    "Altitude": 68.303955910569215
                },
                "SensorStates": [],
                "Time": "2016-09-18T04:15:11.1430085Z"
            },
            "Exit": {
                "Position": {
                    "Latitude": 35.513424687251117,
                    "Longitude": -80.1562299190182,
                    "Altitude": 68.303441622419044
                },
                "SensorStates": [],
                "Time": "2016-09-18T04:32:44.1125684Z"
            },
            "Path": [
                {
                    "Position": {
                        "Latitude": 35.377341786828325,
                        "Longitude": -80.182272986769718,
                        "Altitude": 68.308154698253063
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:20:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.430769975070369,
                        "Longitude": -80.172053383238833,
                        "Altitude": 68.316114202102355
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:25:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.484197689614604,
                        "Longitude": -80.161827027557109,
                        "Altitude": 68.32774408860071
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:30:00.0000000Z"
                }
            ],
            "AirspaceId": "ALBEMARLE CLASS D",
            "Name": "ALBEMARLE CLASS D",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        }
    ]
}
Airspace Proximity Input Sample

This example determines when the drone is within a certain distance (proximity) of an airspace. The horizontal proximity distance threshold is set to 2 kilometers, and the vertical proximity distance is set to 30 meters. Instead of querying all airspaces about a possible proximity warning, only airspaces that are in the ControlledAirspace category and are within a 300 kilometer circular radius of the drone's starting position are assessed.

{
    "Path": {
        "Start": "2016-09-18T00:00:00",
        "Waypoints": [
            {
                "Latitude": 35.74664809,
                "Longitude": -82.68041262
            },
            {
                "Latitude": 35.18442928,
                "Longitude": -82.42519487
            },
            {
                "Latitude": 34.96250080,
                "Longitude": -80.26139220
            },
            {
                "Latitude": 35.62088862,
                "Longitude": -80.13563273
            },
            {
                "Latitude": 35.29169471,
                "Longitude": -81.70022851
            }
        ],
        "TurningRadius": 15,
        "Speed": 20,
        "Altitude": 100,
        "MeanSeaLevel": true,
        "OutputSettings": {
            "Step": 300,
            "TimeFormat": "UTC",
            "CoordinateFormat": { "Coord": "LLA" }
        }
    },
    "IncludePath": true,
    "AirspaceOptions": {
        "Categories": [ "ControlledAirspace" ],
        "UseRegionalAirspaceQuery": true,
        "RegionRadius": 300000,
        "RegionCenter": {
            "Latitude": 35.74664809,
            "Longitude": -82.68041262
        }
    },
    "UseHorizontalProximity": true,
    "HorizontalProximityThreshold": 2000,
    "UseVerticalProximity": true,
    "VerticalProximityThreshold": 30

}
Proximity Output Sample
{
    "UnrecognizedAirspaceIds": [],
    "AirspacesAccessed": [
        {
            "Entry": {
                "Position": {
                    "Latitude": 35.531572032163865,
                    "Longitude": -82.58256673254283,
                    "Altitude": 68.645590122260884
                },
                "SensorStates": [],
                "Time": "2016-09-18T00:21:12.7819625Z"
            },
            "Exit": {
                "Position": {
                    "Latitude": 35.342198227424781,
                    "Longitude": -82.496632606251154,
                    "Altitude": 68.227364759191858
                },
                "SensorStates": [],
                "Time": "2016-09-18T00:39:53.4248927Z"
            },
            "Path": [
                {
                    "Position": {
                        "Latitude": 35.493175676002181,
                        "Longitude": -82.5651267206106,
                        "Altitude": 68.613741283207077
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:25:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.442479911758674,
                        "Longitude": -82.542113067989462,
                        "Altitude": 68.485032261219331
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:30:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.391783720961726,
                        "Longitude": -82.5191138400917,
                        "Altitude": 68.355610467664746
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T00:35:00.0000000Z"
                }
            ],
            "AirspaceId": "ASHEVILLE CLASS C",
            "Name": "ASHEVILLE CLASS C",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "Entry": {
                "Position": {
                    "Latitude": 35.308140286522857,
                    "Longitude": -80.195499526047755,
                    "Altitude": 68.303295234953225
                },
                "SensorStates": [],
                "Time": "2016-09-18T04:13:31.4365901Z"
            },
            "Exit": {
                "Position": {
                    "Latitude": 35.531502151927995,
                    "Longitude": -80.152766969922865,
                    "Altitude": 68.2656428823735
                },
                "SensorStates": [],
                "Time": "2016-09-18T04:34:25.6197725Z"
            },
            "Path": [
                {
                    "Position": {
                        "Latitude": 35.323913125190323,
                        "Longitude": -80.192485855895484,
                        "Altitude": 68.30386199197369
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:15:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.377341786828325,
                        "Longitude": -80.182272986769718,
                        "Altitude": 68.308154698253063
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:20:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.430769975070369,
                        "Longitude": -80.172053383238833,
                        "Altitude": 68.316114202102355
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:25:00.0000000Z"
                },
                {
                    "Position": {
                        "Latitude": 35.484197689614604,
                        "Longitude": -80.161827027557109,
                        "Altitude": 68.32774408860071
                    },
                    "SensorStates": [],
                    "Time": "2016-09-18T04:30:00.0000000Z"
                }
            ],
            "AirspaceId": "ALBEMARLE CLASS D",
            "Name": "ALBEMARLE CLASS D",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        }
    ]
}

Airspace crossing for flights in a cylindrical region

This service determines which airspace regions are crossed by a cylinder defining a region a vehicle is in. Since no specific route is followed, If any part of the defined cylinder crosses an airspace or is contained within an airspace, it is returned by this service.

API Paths
airspace/pointFlight
HTTP Method
POST
Input Format
{
    "Center": {"Latitude":35.54519,"Longitude":-82.54936},
    "Radius": 100,
    "MaxAltitude": 2300,
    "MinAltitude": 0,
    "AirspaceOptions": {options defined here},
    "UseHorizontalProximity": true,
    "HorizontalProximityThreshold": 2000,
    "UseVerticalProximity": true,
    "VerticalProximityThreshold": 30
}
Notes:
Center
The latitude and longitude of the center of the cylinder's bottom circle.
Radius
The radius of the cylinder, in meters. Optional, must be > 0 and less than 800, default value is 100.
MaxAltitude
The maximum altitude of the point flight, defining the top of the cylinder. Optional, default value is 3000.
MinAltitude
The minimum altitude of the point flight, defining the bottom of the cylinder. Optional, default value is 0.
AirspaceOptions
Json object representing the options for selecting airspaces to use in this service. Optional, Airspace options defaults are used. See Defining Airspace Options for more information.
MeanSeaLevel
The reference for the MinAltitude and MaxAltitude values. If true, the altitudes must be referenced to mean sea level. If false, they must be referenced to the WGS-84 ellipsoid. Optional, default value is true.
UseHorizontalProximity
If true, will return results that apply a proximity boundary around the airspace in the horizontal direction, defined by the HorizontalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
HorizontalProximityThreshold
A distance in meters defining when a horizontal proximity result will be returned. A horizontal proximity result is returned when the path is this close or closer to an airspace in the horizontal direction only. Optional, default is 2000 and the value must be greater than or equal to 0.
UseVerticalProximity
If true, will return results that apply a proximity boundary around the airspace in the vertical direction, defined by the VerticalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
VerticalProximityThreshold
A distance in meters defining when a vertical proximity result will be returned. A vertical proximity result is returned when the path is this close or closer to an airspace in the vertical direction only. Optional, default is 30 and the value must be greater than or equal to 0.
Input Sample

Determines all airspaces crossed by a drone flying in a point flight cylinder, with radius 500 meters, at 1400 meters above sea level. See Airspace Crossings for additional examples using other parameters.

{
    "Center": {
        "Latitude": 35.54519,
        "Longitude": -82.54936
    },
    "Radius": 500,
    "MaxAltitude": 1400
}
Output Sample

{
    "UnrecognizedAirspaceIds": [],
    "AirspacesAccessed": [
        {
            "AirspaceId": "MISSION HOSPITALS",
            "Name": "MISSION HOSPITALS",
            "Properties": {
                "Category": "Airport",
                "Phone": "No phone provided"
            }
        },
        {
            "AirspaceId": "ASHEVILLE CLASS C1",
            "Name": "ASHEVILLE CLASS C",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        }
    ]
}

Select Airspaces

This service will return airspaceIds for airspaces defined by the input options

API Paths
airspace/selectAirspaces
HTTP Method
POST
Input Format

See Defining Airspace Options.

Input Sample

Find all airspaces in several categories within a 1 kilometer radius of the specified latitude and longitude

Note that the categories specified are the same ones that would be used if the categories object was left off of the input data. This is the default set of categories.

{
    "Categories": [ "ControlledAirspace", "Airport", "Restricted", "SpecialUseArea", "Parks" ],
    "RegionCenter": {
        "Latitude": 38.890903,
        "Longitude": -77.036035,
        "Altitude": 0
    },
    "MeanSeaLevel": true,
    "UseRegionalAirspaceQuery": true,
    "RegionRadius": 1000
}
Output Sample
{
    "AirspaceIds": [
        {
            "AirspaceId": "RONALD REAGAN WASHINGTON NATIONAL",
            "Name": "RONALD REAGAN WASHINGTON NATIONAL",
            "Properties": {
                "Category": "Airport",
                "Phone": "703-417-8050"
            }
        },
        {
            "AirspaceId": "WHC",
            "Name": "WHC",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-877-7000"
            }
        },
        {
            "AirspaceId": "CHILDREN'S HOSPITAL",
            "Name": "CHILDREN'S HOSPITAL",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-476-5433"
            }
        },
        {
            "AirspaceId": "WASHINGTON POST",
            "Name": "WASHINGTON POST",
            "Properties": {
                "Category": "Airport",
                "Phone": "No phone provided"
            }
        },
        {
            "AirspaceId": "US PARK POLICE EAGLE'S NEST",
            "Name": "US PARK POLICE EAGLE'S NEST",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-690-0738"
            }
        },
        {
            "AirspaceId": "MPD 3RD DISTRICT",
            "Name": "MPD 3RD DISTRICT",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-727-4368"
            }
        },
        {
            "AirspaceId": "SPIRIT OF WASHINGTON",
            "Name": "SPIRIT OF WASHINGTON",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-484-2320"
            }
        },
        {
            "AirspaceId": "BOLLING AFB",
            "Name": "BOLLING AFB",
            "Properties": {
                "Category": "Airport",
                "Phone": "No phone provided"
            }
        },
        {
            "AirspaceId": "MPD 2ND",
            "Name": "MPD 2ND",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-727-4368"
            }
        },
        {
            "AirspaceId": "MPD 5TH",
            "Name": "MPD 5TH",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-727-4368"
            }
        },
        {
            "AirspaceId": "GEORGETOWN UNIV HOSP HELISTOP",
            "Name": "GEORGETOWN UNIV HOSP HELISTOP",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-444-3836"
            }
        },
        {
            "AirspaceId": "PENTAGON AHP",
            "Name": "PENTAGON AHP",
            "Properties": {
                "Category": "Airport",
                "Phone": "No phone provided"
            }
        },
        {
            "AirspaceId": "SOUTH CAPITOL STREET",
            "Name": "SOUTH CAPITOL STREET",
            "Properties": {
                "Category": "Airport",
                "Phone": "202-484-8616"
            }
        },
        {
            "AirspaceId": "WASHINGTON-TRI AREA CLASS B AREA A2",
            "Name": "WASHINGTON-TRI AREA CLASS B AREA A",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "AirspaceId": "WASHINGTON-TRI AREA CLASS B AREA B",
            "Name": "WASHINGTON-TRI AREA CLASS B AREA B",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "AirspaceId": "WASHINGTON-TRI AREA CLASS B AREA C1",
            "Name": "WASHINGTON-TRI AREA CLASS B AREA C",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "AirspaceId": "P-56A DISTRICT OF COLUMBIA",
            "Name": "P-56A DISTRICT OF COLUMBIA",
            "Properties": {
                "Category": "SpecialUseArea",
                "Type": "PA"
            }
        },
        {
            "AirspaceId": "East Potomac Park Hains Point",
            "Name": "East Potomac Park Hains Point",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Lafayette Square",
            "Name": "Lafayette Square",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Pan American Annex",
            "Name": "Pan American Annex",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Park",
            "Name": "Park",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Pennsylvania Avenue NHS",
            "Name": "Pennsylvania Avenue NHS",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Rawlins Park",
            "Name": "Rawlins Park",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "The Mall, Agricultural Grounds",
            "Name": "The Mall, Agricultural Grounds",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "The Mall, Smithsonian Grounds",
            "Name": "The Mall, Smithsonian Grounds",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Triangle Park",
            "Name": "Triangle Park",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Triangle Park (BOLIVAR [SIMON] STATUE)",
            "Name": "Triangle Park (BOLIVAR [SIMON] STATUE)",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Washinton Monument",
            "Name": "Washinton Monument",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "West Potomac Park",
            "Name": "West Potomac Park",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "White House",
            "Name": "White House",
            "Properties": {
                "Category": "Parks"
            }
        },
        {
            "AirspaceId": "Whitman (Walt) Park",
            "Name": "Whitman (Walt) Park",
            "Properties": {
                "Category": "Parks"
            }
        }
    ]
}

Airspaces In Real Time

This service checks to see if the supplied location point is within any airspaces. If this service is called in real time during a flight, to allow the service to perform best you should supply it with only a few airspaces to assess. These can be retrieved from the Select Airspaces service above, and then supplied to this service using the AirspaceId parameter in the airspace options. See Defining Airspace Options.

API Paths
airspace/realtime
HTTP Method
POST
Input Format
{
    "Location":{"Latitude":37.05542,"Longitude":-76.45794, "Altitude":40},
    "MeanSeaLevel": true,
    "AirspaceOptions": {options defined here},
    "UseHorizontalProximity": true,
    "HorizontalProximityThreshold": 2000,
    "UseVerticalProximity": true,
    "VerticalProximityThreshold": 30,
}
Notes:
Location
The location to use when evaluating whether the object is inside an airspace.
MeanSeaLevel
The reference for the MinAltitude and MaxAltitude values. If true, the altitudes must be referenced to mean sea level. If false, they must be referenced to the WGS-84 ellipsoid. Optional, default value is true.
AirspaceOptions
Json object representing the options for selecting airspaces to use in this service. Optional, Airspace options defaults are used. See Defining Airspace Options for more information.
UseHorizontalProximity
If true, will return results that apply a proximity boundary around the airspace in the horizontal direction, defined by the HorizontalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
HorizontalProximityThreshold
A distance in meters defining when a horizontal proximity result will be returned. A horizontal proximity result is returned when the path is this close or closer to an airspace in the horizontal direction only. Optional, default is 2000 and the value must be greater than or equal to 0.
UseVerticalProximity
If true, will return results that apply a proximity boundary around the airspace in the vertical direction, defined by the VerticalProximityThreshold parameter. When false, the results reflect actual airspace intersections. Optional, default is false.
VerticalProximityThreshold
A distance in meters defining when a vertical proximity result will be returned. A vertical proximity result is returned when the path is this close or closer to an airspace in the vertical direction only. Optional, default is 30 and the value must be greater than or equal to 0.
Input Sample

Determine whether the Location is within the proximity boundary or within the airspace itself for any of the supplied airspaces. The default ProximityThreshold of 2000 meters will be used. Note that if UseProximity is set to false, this service call returns 0 results.

The AirspaceIds were retrieved using the Select Airspaces service, with RegionCenter set to the same Location used here, and RegionRadius set to 100000.

{
    "Location": {
        "Latitude": 37.05542,
        "Longitude": -76.45794,
        "Altitude": 40
    },
    "UseHorizontalProximity": true,
    "AirspaceOptions": {
        "AirspaceIds": [
            "NORFOLK INTERNATIONAL AIRPORT CLASS C",
            "NORFOLK INTERNATIONAL AIRPORT CLASS C1",
            "NORFOLK INTERNATIONAL AIRPORT CLASS C2",
            "RICHARD EVELYN BYRD INTL AIRPORT CLASS C",
            "RICHARD EVELYN BYRD INTL AIRPORT CLASS C1",
            "ELIZABETH CITY CLASS D",
            "FORT EUSTIS CLASS D",
            "HAMPTON ROADS CLASS D",
            "NEWPORT NEWS CLASS D",
            "NORFOLK NAS CLASS D",
            "OCEANA NAS CLASS D"
        ]
    }
}

Output Sample

Any airspaces for which the Location point is inside, will show up in the AirspacesAccessed list.

{
    "UnrecognizedAirspaceIds": [],
    "AirspacesAccessed": [
        {
            "AirspaceId": "HAMPTON ROADS CLASS D",
            "Name": "HAMPTON ROADS CLASS D",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        },
        {
            "AirspaceId": "NEWPORT NEWS CLASS D",
            "Name": "NEWPORT NEWS CLASS D",
            "Properties": {
                "Category": "ControlledAirspace"
            }
        }
    ]
}