13 votos

Calcular la distancia de un punto dentro de un polígono a su borde

Digamos que tenemos el siguiente punto y polígono:

poly = Polygon([(0, 0), (2,8), (14, 10), (6,1)])
point = Point(4,4)

Porque point se encuentra dentro de poly la distancia de la primera a la segunda será cero ( poly.distance(point) devolverá 0.0 ).

¿Hay alguna manera de calcular la distancia al borde más cercano?

Nota: Es efectivamente la misma pregunta que este pero deseo una solución en Python, idealmente con Shapely.

18voto

Antonio Haley Puntos 2588

Compara el punto con el anillo exterior del polígono:

poly.exterior.distance(point)

0 votos

Estoy trabajando en un problema similar. ¿Qué importaciones se necesitan para obtener Polygon y Point ?

4 votos

@brad from shapely.geometry import Point, Polygon

0 votos

Pero esto sólo funciona después de convertir las coordenadas a coordenadas cartesianas, ¿no es así? No funcionará en Point(lat, lon)

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