Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

208
Vistas
Cómo verificar si se coordina dentro de cierta área Python

Digamos que tengo 2 tipos de coordenadas, primero llamado center_point y segundo llamado test_point . Quiero saber si la coordenada test_point está cerca o no de la coordenada center_point aplicando un umbral de radius . Si lo escribo, es como:

 center_point = [{'lat': -7.7940023, 'lng': 110.3656535}] test_point = [{'lat': -7.79457, 'lng': 110.36563}] radius = 5 # in kilometer

¿Cómo verificar si test_point dentro o fuera del radio desde center_point en Python? ¿Cómo realizo esta amable tarea en Python?

El resultado esperado dirá que test_point dentro o fuera del radius desde la coordenada center_point .

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

de la recomendación de @ usuario1753919 en su comentario, obtuve la respuesta aquí: fórmula Haversine en Python (rumbo y distancia entre dos puntos GPS)

codigo final:

 from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): """ Calculate the great circle distance between two points on the earth (specified in decimal degrees) """ # convert decimal degrees to radians lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # haversine formula dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) r = 6371 # Radius of earth in kilometers. Use 3956 for miles return c * r center_point = [{'lat': -7.7940023, 'lng': 110.3656535}] test_point = [{'lat': -7.79457, 'lng': 110.36563}] lat1 = center_point[0]['lat'] lon1 = center_point[0]['lng'] lat2 = test_point[0]['lat'] lon2 = test_point[0]['lng'] radius = 1.00 # in kilometer a = haversine(lon1, lat1, lon2, lat2) print('Distance (km) : ', a) if a <= radius: print('Inside the area') else: print('Outside the area')

Gracias

over 4 years ago · Santiago Trujillo Denunciar

0

GeoPy puede manejarlo con gracia:

 from geopy import distance center_point = [{'lat': -7.7940023, 'lng': 110.3656535}] test_point = [{'lat': -7.79457, 'lng': 110.36563}] radius = 5 # in kilometer center_point_tuple = tuple(center_point[0].values()) # (-7.7940023, 110.3656535) test_point_tuple = tuple(test_point[0].values()) # (-7.79457, 110.36563) dis = distance.distance(center_point_tuple, test_point_tuple).km print("Distance: {}".format(dis)) # Distance: 0.0628380925748918 if dis <= radius: print("{} point is inside the {} km radius from {} coordinate".format(test_point_tuple, radius, center_point_tuple)) else: print("{} point is outside the {} km radius from {} coordinate".format(test_point_tuple, radius, center_point_tuple))

o si necesita saber la distancia del gran círculo:

 dis = distance.great_circle(center_point_tuple, test_point_tuple).km print("Distance: {}".format(dis)) # Distance: 0.0631785164583489
over 4 years ago · Santiago Trujillo Denunciar

0

from math import sqrt a = center_point[0]['lat'] - test_point[0]['lat'] b = center_point[0]['lng'] - test_point[0]['lng'] c = sqrt(a * a + b * b) if (c < radius): print("inside") else: print("outside")
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda