[osm] adding airport polygon index
This commit is contained in:
@@ -320,3 +320,8 @@ class OSMCountryPolygonReader(OSMPolygonReader):
|
|||||||
class OSMPostalCodesPolygonReader(OSMPolygonReader):
|
class OSMPostalCodesPolygonReader(OSMPolygonReader):
|
||||||
def include_polygon(self, props):
|
def include_polygon(self, props):
|
||||||
return props.get('boundary') == 'postal_code'
|
return props.get('boundary') == 'postal_code'
|
||||||
|
|
||||||
|
|
||||||
|
class OSMAirportsPolygonReader(OSMPolygonReader):
|
||||||
|
def include_polygon(self, props):
|
||||||
|
return 'aerodrome' in props
|
||||||
|
|||||||
@@ -470,6 +470,14 @@ class OSMPostalCodeReverseGeocoder(OSMReverseGeocoder):
|
|||||||
include_property_patterns = OSMReverseGeocoder.include_property_patterns | set(['postal_code'])
|
include_property_patterns = OSMReverseGeocoder.include_property_patterns | set(['postal_code'])
|
||||||
|
|
||||||
|
|
||||||
|
class OSMAirportReverseGeocoder(OSMReverseGeocoder):
|
||||||
|
persistent_polygons = True
|
||||||
|
cache_size = 10000
|
||||||
|
simplify_polygons = False
|
||||||
|
polygon_reader = OSMAirportsPolygonReader
|
||||||
|
include_property_patterns = OSMReverseGeocoder.include_property_patterns | set(['iata', 'aerodrome', 'aerodrome:type', 'city_served'])
|
||||||
|
|
||||||
|
|
||||||
class OSMCountryReverseGeocoder(OSMReverseGeocoder):
|
class OSMCountryReverseGeocoder(OSMReverseGeocoder):
|
||||||
persistent_polygons = True
|
persistent_polygons = True
|
||||||
cache_size = 10000
|
cache_size = 10000
|
||||||
@@ -537,6 +545,9 @@ if __name__ == '__main__':
|
|||||||
parser.add_argument('-p', '--osm-postal-code-polygons-file',
|
parser.add_argument('-p', '--osm-postal-code-polygons-file',
|
||||||
help='Path to OSM postal code polygons file (with dependencies, .osm format)')
|
help='Path to OSM postal code polygons file (with dependencies, .osm format)')
|
||||||
|
|
||||||
|
parser.add_argument('-r', '--osm-airport-polygons-file',
|
||||||
|
help='Path to OSM airport polygons file (with dependencies, .osm format)')
|
||||||
|
|
||||||
parser.add_argument('-c', '--osm-country-polygons-file',
|
parser.add_argument('-c', '--osm-country-polygons-file',
|
||||||
help='Path to OSM country polygons file (with dependencies, .osm format)')
|
help='Path to OSM country polygons file (with dependencies, .osm format)')
|
||||||
|
|
||||||
@@ -557,6 +568,8 @@ if __name__ == '__main__':
|
|||||||
index = OSMCountryReverseGeocoder.create_from_osm_file(args.osm_country_polygons_file, args.out_dir)
|
index = OSMCountryReverseGeocoder.create_from_osm_file(args.osm_country_polygons_file, args.out_dir)
|
||||||
elif args.osm_postal_code_polygons_file:
|
elif args.osm_postal_code_polygons_file:
|
||||||
index = OSMPostalCodeReverseGeocoder.create_from_osm_file(args.osm_postal_code_polygons_file, args.out_dir)
|
index = OSMPostalCodeReverseGeocoder.create_from_osm_file(args.osm_postal_code_polygons_file, args.out_dir)
|
||||||
|
elif args.osm_airport_polygons_file:
|
||||||
|
index = OSMAirportReverseGeocoder.create_from_osm_file(args.osm_airport_polygons_file, args.out_dir)
|
||||||
elif args.quattroshapes_dir:
|
elif args.quattroshapes_dir:
|
||||||
index = QuattroshapesReverseGeocoder.create_with_quattroshapes(args.quattroshapes_dir, args.out_dir)
|
index = QuattroshapesReverseGeocoder.create_with_quattroshapes(args.quattroshapes_dir, args.out_dir)
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user