def test_zeros(): distance = cuspatial.haversine_distance( cudf.Series([0.0]), cudf.Series([0.0]), cudf.Series([0.0]), cudf.Series([0.0]), ) assert cudf.Series(distance)[0] == 0
def get_nearest_node(gdf, point, x='x', y='y', osmid='osmid'): gdf = gdf gdf['point_y'] = point[0] gdf['point_x'] = point[1] gdf['distance'] = cuspatial.haversine_distance( gdf[y], gdf[x], gdf['point_y'], gdf['point_x'] ) mask = gdf['distance'] == gdf['distance'].min() nearest_node = gdf[mask][osmid].values[0] gdf.drop(['point_y', 'point_x', 'distance'], axis=1, inplace=True) return nearest_node
def test_triple(): cities = cudf.DataFrame({ "New York": [-74.0060, 40.7128], "Paris": [2.3522, 48.8566], "Sydney": [151.2093, -33.8688], }) cities.index = ["lat", "lon"] pnt_x1 = [] pnt_y1 = [] pnt_x2 = [] pnt_y2 = [] for i in cities: for j in cities: pnt_x1.append(cities[i][0]) pnt_y1.append(cities[i][1]) pnt_x2.append(cities[j][0]) pnt_y2.append(cities[j][1]) distance = cuspatial.haversine_distance( cudf.Series(pnt_x1), cudf.Series(pnt_y1), cudf.Series(pnt_x2), cudf.Series(pnt_y2), ) assert np.allclose( distance.to_array(), [[ 0.0, 5.83724090e03, 1.59887555e04, 5.83724090e03, 0.0, 1.69604974e04, 1.59887555e04, 1.69604974e04, 0.0, ]], )
from cudf import Series, read_csv import cuspatial start = time.time() # data dowloaded from # https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2009-01.csv df = read_csv("data/yellow_tripdata_2009-01.csv") end = time.time() print("data ingesting time (from SSD) in ms={}".format((end - start) * 1000)) df.head().to_pandas().columns start = time.time() x1 = Series(df["Start_Lon"]) y1 = Series(df["Start_Lat"]) x2 = Series(df["End_Lon"]) y2 = Series(df["End_Lat"]) end = time.time() print( "data frame to column conversion time in ms={}".format( (end - start) * 1000 ) ) start = time.time() h_dist = cuspatial.haversine_distance(x1, y1, x2, y2) end = time.time() print("python computing distance time in ms={}".format((end - start) * 1000)) # h_dist.data.to_array()
def test_empty_y2(): with pytest.raises(RuntimeError): distance = cuspatial.haversine_distance( # noqa: F841 cudf.Series([0]), cudf.Series([0]), cudf.Series([0]), cudf.Series())