2
t1 = Polygon([(4.338074,50.848677), (4.344961,50.833264), (4.366227,50.840809), (4.367945,50.852455), (4.346693,50.858306)])
t = geopandas.GeoSeries(t1)
t.crs = {'init':'espg:4326'}

t2 = geopandas.GeoSeries([Point(4.382617,50.811948)])
t2.crs = {'init':'espg:4326'}

How can I calculate the distance of a point from the polygon respectively find the closest point between the polygon and the point?

2

Geopandas GeoSeries has a method distance which uses Shapely to calculate distances:

from shapely.geometry import Polygon, Point
import geopandas

t1 = Polygon([(4.338074,50.848677), (4.344961,50.833264), (4.366227,50.840809), (4.367945,50.852455), (4.346693,50.858306)])
t = geopandas.GeoSeries(t1)
t.crs = 4326

t2 = geopandas.GeoSeries([Point(4.382617,50.811948)])
t2.crs = 4326

dist = t.distance(t2)
print(dist)

Please notice that shapely assumes coordinates on a cartesian plane. Therefore the Geopandas/Shapely distance function is not useful when using geographic coordinates. You should transform your data to a projected coordinate system before calculating distances using Geopandas/Shapely.

|improve this answer|||||
  • Okay, here I'm confused. How can project the coordinates? I'm already using espg:4326 – Dani Peer Nov 21 '19 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.