8 votos

Cálculo de la distancia de un polígono a un punto

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'}

¿Cómo puedo calcular la distancia de un punto al polígono o encontrar el punto más cercano entre el polígono y el punto?

9voto

Marie Puntos 16

Geopandas GeoSeries tiene un método distancia que utiliza Shapely para calcular distancias:

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)

Tenga en cuenta que shapely asume coordenadas en un plano cartesiano. Por lo tanto, la función de distancia Geopandas/Shapely no es útil cuando se utilizan coordenadas geográficas. Debe transformar sus datos a un sistema de coordenadas proyectadas antes de calcular distancias usando Geopandas/Shapely.

6voto

Try Puntos 23

La suposición en la respuesta es que los puntos están fuera del polígono. Si un punto está dentro del polígono, entonces devuelve 0.

La distancia más cercana entre el punto y el polígono, independientemente de la posición del punto, es: t.boundary.distance(t2)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X