def test_posFromLonLat_viceversa(lons, lats, zooms): for lon in lons: for lat in lats: for zoom in zooms: tx, ty = posFromLonLat(lon, lat, zoom, 256) refTx, refTy = posFromLonLat(lon, lat, zoom, 256) assert tx == refTx assert ty == refTy ll = lonLatFromPos(tx, ty, zoom, 256) assert abs(ll[0] - lon) < 1e-13 assert abs(ll[1] - lat) < 1e-13
def test_posFromLonLat_viceversa_array(lons, lats, zooms): latitude = np.tile(lats, lons.size) longitude = np.repeat(lons, lats.size) for zoom in zooms: tx, ty = posFromLonLat(longitude, latitude, zoom, 256) refTx, refTy = posFromLonLat(longitude, latitude, zoom, 256) assert np.nanmax(np.abs(tx - refTx)) < 1e-12 assert np.nanmax(np.abs(ty - refTy)) < 1e-12 ll = lonLatFromPos(tx, ty, zoom, 256) assert np.nanmax(np.abs(ll[0] - longitude)) < 1e-12 assert np.nanmax(np.abs(ll[1] - latitude)) < 1e-12