Source code for WeatherRoutingTool.utils.formatting

"""Utility functions."""
import datetime
import time
from json import JSONEncoder

import numpy


[docs] def get_line_string(): return '---------------------------------------------------'
[docs] def get_log_step(stepnote, istep=0): step = " " * (istep + 1) + stepnote return step
[docs] def get_point_from_string(point): lat, lon = point.split(',') return float(lat), float(lon)
[docs] def get_bbox_from_string(bbox): if bbox == '-99': return 0., 0., 0., 0. lat_start, lon_start, lat_end, lon_end = bbox.split(',') return float(lat_start), float(lon_start), float(lat_end), float(lon_end)
[docs] class NumpyArrayEncoder(JSONEncoder):
[docs] def default(self, obj): if isinstance(obj, numpy.ndarray): return obj.tolist() if isinstance(obj, (datetime.date, datetime.datetime)): obj_str = obj.strftime("%Y-%m-%d %H:%M:%S") return obj_str if isinstance(obj, numpy.int64): return str(obj) if isinstance(obj, numpy.int32): return str(obj) if isinstance(obj, numpy.float32): return str(obj) return JSONEncoder.default(self, obj)