code: def within_airport(
          self,
          start: timelike,
          stop: timelike,
          airport: Union[Airport, str],
          count: bool = False,
      ) -> Optional[pd.DataFrame]:
          
  
          start = to_datetime(start)
          stop = to_datetime(stop)
  
          before_hour = round_time(start, how="before")
          after_hour = round_time(stop, how="after")
  
          if isinstance(airport, str):
              from traffic.data import airports
  
              airport = cast(Airport, airports[airport])
  
          other_params = (
              "and lat<={airport_latmax} and lat>={airport_latmin} "
              "and lon<={airport_lonmax} and lon>={airport_lonmin} "
              "and baroaltitude<=1000 "
              "group by icao24, callsign"
          ).format(
              airport_latmax=airport.lat + 0.1,
              airport_latmin=airport.lat - 0.1,
              airport_lonmax=airport.lon + 0.1,
              airport_lonmin=airport.lon - 0.1,
          )
  
          columns = "icao24, callsign"
          other_tables = ""
          if count is True:
              columns = "count(*) as count, s.ITEM as serial, " + columns
              other_tables += ", state_vectors_data4.serials s"
              other_params += ", s.ITEM"
  
          request = self.basic_request.format(
              columns=columns,
              before_time=start.timestamp(),
              after_time=stop.timestamp(),
              before_hour=before_hour.timestamp(),
              after_hour=after_hour.timestamp(),
              other_tables=other_tables,
              other_params=other_params,
          )
  
          df = self._impala(request, columns="count, serial, icao24, callsign")
  
          if (
              df is not None
              and "callsign" in df.columns
              and df.callsign.dtype == object
          ):
              df = df[df.callsign != "callsign"]
  
          return df
docs: EXPERIMENTAL.