Si entiendo su pregunta y sus comentarios son correctos, tiene una lista de ciudades (nombres) y desea eliminar las que están en un radio de 50 millas de su hogar.
¡Escribamos algo de pitón!
Primero instale geopy
escribiendo
pip install geopy
- Cómo calcular el volumen de un prisma trapezoidal
- ¿Por qué es constante la razón de la circunferencia de un círculo a su diámetro?
- Programación por computadora: ¿Cuál es la solución más óptima para encontrar un rectángulo de límite mínimo para formas dadas en geometría 2D?
- Dados tres vectores que forman un triángulo equilátero, ¿son iguales los productos de puntos mutuos?
- ¿La similitud de los triángulos es diferente de la similitud de los polígonos?
en la terminal
El codigo es:
de geopy.geocoders importan Nominatim
de geopy.distance import vincenty
home = ‘Leuven’ # Su domicilio
# lista de ciudades
ciudades = ” ‘Roeselare
Kortrijk
Namur
Charleroi
Bruselas ” ‘
radius_to_remove = 50 # en millas
geolocalizador = Nominatim ()
home_position = geolocator.geocode (inicio)
home_location = (home_position.latitude, home_position.longitude)
ciudades = ciudades.split (‘\ n’)
filtrado = []
para ciudad en ciudades:
city_position = geolocator.geocode (ciudad)
city_location = (city_position.latitude, city_position.longitude)
distancia = vincenty (home_location, city_location) .miles
if (distancia> radius_to_remove):
filter.append (ciudad)
imprimir ‘AGREGADO’,
print city, city_location, ‘distance (miles) =’, distancia
imprimir ‘—FILTERADO—-‘
print ‘\ n’.join (filtrado)
Para ejecutar el código, escriba
python filename.py
en la terminal
Con estas ciudades (que están en Bélgica), obtendría una salida como esta:
AÑADIDO Roeselare (50.94630475, 3.13129870686686) distancia (millas) = 68.4442108791
AÑADIDO Kortrijk (50.81788085, 3.27841539037433) distancia (millas) = 62.1071168809
Namur (50.4665284, 4.8661892) distancia (millas) 29.6430159789
Charleroi (50.4583717, 4.42992577349544) distancia (millas) = 31.4486039098
Bruselas (50.84404145, 4.36720169448285) distancia (millas) = 14.5335288976
-FILTRADO–
Roeselare
Kortrijk
Las ciudades ‘filtradas’ son las ciudades que están más allá de 50 millas.
Cambie el home
y las cities
a su domicilio y las ciudades para obtener su respuesta.
Espero que esto responda tu pregunta. Si tiene problemas, pregúnteles en los comentarios o envíeme un mensaje.