32 lines
925 B
Python
32 lines
925 B
Python
"""Convert BNG values in OpenTOID data to latitude/longitude"""
|
|
import csv
|
|
import glob
|
|
import os
|
|
import sys
|
|
from convertbng.cutil import convert_lonlat
|
|
from pandas import read_csv
|
|
|
|
|
|
csv.field_size_limit(sys.maxsize)
|
|
|
|
|
|
def main(opentoid_path):
|
|
ot_paths = sorted(glob.glob(os.path.join(opentoid_path, "*.csv")))
|
|
for ot_path in ot_paths:
|
|
convert_opentoid_coordinates(ot_path)
|
|
|
|
|
|
def convert_opentoid_coordinates(ot_path):
|
|
"""Overwrite the input csv, adding the longitute/latitude from eastings/northings"""
|
|
output_path = str(ot_path).replace(".csv", "_converted.csv")
|
|
ot_data = read_csv(ot_path)
|
|
ot_data['longitude'], ot_data['latitude'] = convert_lonlat(ot_data['EASTING'], ot_data['NORTHING'])
|
|
ot_data.to_csv(ot_path)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if len(sys.argv) != 2:
|
|
print("Usage: convert_opentoid_bng_latlon.py ./path/to/opentoid/dir")
|
|
exit(-1)
|
|
main(sys.argv[1])
|