docs: def get_osm_filter(network_type):
      """
      Create a filter to query OSM for the specified network type.
  
      Parameters
      ----------
      network_type : string
          {'walk', 'bike', 'drive', 'drive_service', 'all', 'all_private', 'none'}
          what type of street or other network to get
  
      Returns
      -------
      string
      """
      filters = {}
  
      # driving: filter out un-drivable roads, service roads, private ways, and
      # anything specifying motor=no. also filter out any non-service roads that
      # are tagged as providing parking, driveway, private, or emergency-access
      # services
      filters['drive'] = ('["area"!~"yes"]["highway"!~"cycleway|footway|path|pedestrian|steps|track|corridor|'
                          'proposed|construction|bridleway|abandoned|platform|raceway|service"]'
                          '["motor_vehicle"!~"no"]["motorcar"!~"no"]{}'
                          '["service"!~"parking|parking_aisle|driveway|private|emergency_access"]').format(settings.default_access)
  
      # drive+service: allow ways tagged 'service' but filter out certain types of
      # service ways
      filters['drive_service'] = ('["area"!~"yes"]["highway"!~"cycleway|footway|path|pedestrian|steps|track|corridor|'
                                  'proposed|construction|bridleway|abandoned|platform|raceway"]'
                                  '["motor_vehicle"!~"no"]["motorcar"!~"no"]{}'
                                  '["service"!~"parking|parking_aisle|private|emergency_access"]').format(settings.default_access)
  
      # walking: filter out cycle ways, motor ways, private ways, and anything
      # specifying foot=no. allow service roads, permitting things like parking
      # lot lanes, alleys, etc that you *can* walk on even if they're not exactly
      # pleasant walks. some cycleways may allow pedestrians, but this filter ignores
      # such cycleways.
      filters['walk'] = ('["area"!~"yes"]["highway"!~"cycleway|motor|proposed|construction|abandoned|platform|raceway"]'
                         '["foot"!~"no"]["service"!~"private"]{}').format(settings.default_access)
  
      # biking: filter out foot ways, motor ways, private ways, and anything
      # specifying biking=no
      filters['bike'] = ('["area"!~"yes"]["highway"!~"footway|steps|corridor|motor|proposed|construction|abandoned|platform|raceway"]'
                         '["bicycle"!~"no"]["service"!~"private"]{}').format(settings.default_access)
  
      # to download all ways, just filter out everything not currently in use or
      # that is private-access only
      filters['all'] = ('["area"!~"yes"]["highway"!~"proposed|construction|abandoned|platform|raceway"]'
                        '["service"!~"private"]{}').format(settings.default_access)
  
      # to download all ways, including private-access ones, just filter out
      # everything not currently in use
      filters['all_private'] = '["area"!~"yes"]["highway"!~"proposed|construction|abandoned|platform|raceway"]'
  
      # no filter, needed for infrastructures other than "highway"
      filters['none'] = ''
  
      if network_type in filters:
          osm_filter = filters[network_type]
      else:
          raise UnknownNetworkType('unknown network_type "{}"'.format(network_type))
  
      return osm_filter