Initial fork commit
This commit is contained in:
52
scripts/geodata/metro_stations/reverse_geocode.py
Normal file
52
scripts/geodata/metro_stations/reverse_geocode.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import argparse
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import six
|
||||
|
||||
this_dir = os.path.realpath(os.path.dirname(__file__))
|
||||
sys.path.append(os.path.realpath(os.path.join(os.pardir, os.pardir)))
|
||||
|
||||
from geodata.address_expansions.abbreviations import abbreviate
|
||||
from geodata.coordinates.conversion import latlon_to_decimal
|
||||
from geodata.math.floats import isclose
|
||||
from geodata.osm.extract import parse_osm
|
||||
from geodata.places.reverse_geocode import PlaceReverseGeocoder
|
||||
from geodata.encoding import safe_decode
|
||||
|
||||
|
||||
class MetroStationReverseGeocoder(PlaceReverseGeocoder):
|
||||
GEOHASH_PRECISION = 7
|
||||
|
||||
include_property_patterns = PlaceReverseGeocoder.include_property_patterns | set([
|
||||
'operator',
|
||||
'network',
|
||||
'station',
|
||||
])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Handle argument parsing here
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
parser.add_argument('-m', '--osm-metro-stations-file',
|
||||
help='Path to OSM metro stations file')
|
||||
|
||||
parser.add_argument('-p', '--precision',
|
||||
type=int,
|
||||
default=MetroStationReverseGeocoder.GEOHASH_PRECISION,
|
||||
help='Geohash precision')
|
||||
|
||||
parser.add_argument('-o', '--out-dir',
|
||||
default=os.getcwd(),
|
||||
help='Output directory')
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
args = parser.parse_args()
|
||||
if args.osm_metro_stations_file:
|
||||
index = MetroStationReverseGeocoder.create_from_osm_file(args.osm_metro_stations_file, args.out_dir, precision=args.precision)
|
||||
else:
|
||||
parser.error('Must specify metro stations file')
|
||||
|
||||
index.save()
|
||||
Reference in New Issue
Block a user