Get Distance Between Two Points in GeoPandas

I have two points as below. I need to get the distance between them in meters.

POINT (80.99456 7.86795) POINT (80.97454 7.872174) 

How can this be done via GeoPandas?

1 Answer

Your points are in a lon, lat coordinate system (EPSG:4326 or WGS 84). To calculate a distance in meters, you would need to either use the Great-circle distance or project them in a local coordinate system to approximate the distance with a good precision.

For Sri Lanka, you can use EPSG:5234 and in GeoPandas, you can use the distance function between two GeoDataFrames.

from shapely.geometry import Point import geopandas as gpd pnt1 = Point(80.99456, 7.86795) pnt2 = Point(80.97454, 7.872174) points_df = gpd.GeoDataFrame({'geometry': [pnt1, pnt2]}, crs='EPSG:4326') points_df = points_df.to_crs('EPSG:5234') points_df2 = points_df.shift() #We shift the dataframe by 1 to align pnt1 with pnt2 points_df.distance(points_df2) 

The result should be 2261.92843 m

3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like