def xyp2latlon(x, y, panel, rotate_lat=RLAT, rotate_lon=RLON, R=1): xyz = xyp2xyz(x, y, panel) xr, yr, zr = xyz_rotate_reverse(xyz, rotate_lat, rotate_lon) lat, lon = xyz2latlon(xr, yr, zr, R) """ print 'x=%.18f, y=%.18f'%(x,y) print 'x=%.18f, y=%.18f, z=%.18f'%xyz print 'xr=%.18f, yr=%.18f, zr=%.18f'%(xr,yr,zr) print 'lat=%.18f, lon=%.18f'%(lat,lon) """ return (lat, lon)
def test_latlon2xyz_xyz2latlon(): """ latlon2xyz() -> xyz2latlon() : check consistency, repeat 1000 times """ from cart_ll import latlon2xyz, xyz2latlon N = 1000 for i in range(N): lat = pi * rand() - pi / 2 lon = 2 * pi * rand() X, Y, Z = latlon2xyz(lat, lon) lat2, lon2 = xyz2latlon(X, Y, Z) aa_equal((lat, lon), (lat2, lon2), 15)