def util_lon_lat(orig_lon, orig_lat, x, y): """ Transform x, y [km] to decimal degree in reference to orig_lon and orig_lat >>> util_lon_lat(12.0, 48.0, 0.0, 0.0) (12.0, 48.0) >>> lon, lat = util_lon_lat(12.0, 48.0, 73.9041, 111.1908) >>> print("%.4f, %.4f" % (lon, lat)) 13.0000, 49.0000 :param orig_lon: Longitude of reference origin :param orig_lat: Latitude of reference origin :param x: value [km] to calculate relative coordinate in degree :param y: value [km] to calculate relative coordinate in degree :return: lon, lat coordinate in degree (absolute) """ # 2009-10-11 Moritz clibsignal.utl_lonlat.argtypes = [ C.c_double, C.c_double, C.c_double, C.c_double, C.POINTER(C.c_double), C.POINTER(C.c_double) ] clibsignal.utl_lonlat.restype = C.c_void_p lon = C.c_double() lat = C.c_double() clibsignal.utl_lonlat(orig_lon, orig_lat, x, y, C.byref(lon), C.byref(lat)) return lon.value, lat.value
def util_lon_lat(orig_lon, orig_lat, x, y): """ Transform x, y [km] to decimal degree in reference to orig_lon and orig_lat >>> util_lon_lat(12.0, 48.0, 0.0, 0.0) (12.0, 48.0) >>> lon, lat = util_lon_lat(12.0, 48.0, 73.9041, 111.1908) >>> print("%.4f, %.4f" % (lon, lat)) 13.0000, 49.0000 :param orig_lon: Longitude of reference origin :param orig_lat: Latitude of reference origin :param x: value [km] to calculate relative coordinate in degree :param y: value [km] to calculate relative coordinate in degree :return: lon, lat coordinate in degree (absolute) """ # 2009-10-11 Moritz clibsignal.utl_lonlat.argtypes = [C.c_double, C.c_double, C.c_double, C.c_double, C.POINTER(C.c_double), C.POINTER(C.c_double)] clibsignal.utl_lonlat.restype = C.c_void_p lon = C.c_double() lat = C.c_double() clibsignal.utl_lonlat(orig_lon, orig_lat, x, y, C.byref(lon), C.byref(lat)) return lon.value, lat.value