En este artículo, vamos a escribir una secuencia de comandos de Python para obtener los nombres de ciudades, estados y países utilizando la latitud y la longitud con el módulo Geopy. Geopy facilita a los desarrolladores de Python la ubicación de las coordenadas de direcciones, ciudades, países, y puntos de referencia en todo el mundo.
Para instalar el módulo Geopy, ejecute el siguiente comando en su terminal.
pip install geopy
Acercarse:
- Importar el módulo Geopy
- Inicialice la API de Nominatim para obtener la ubicación de la string de entrada.
- Obtenga la ubicación con la función geolocator.reverse().
- Ahora extraiga los datos de la instancia de ubicación
Vamos a implementar con paso a paso:
Paso #1: Importe el módulo.
Python3
# import module from geopy.geocoders import Nominatim
Paso #2: Cree un objeto Nominatim e inicialice la API de Nominatim con el parámetro geoapiExercises.
Python
# initialize Nominatim API geolocator = Nominatim(user_agent="geoapiExercises")
Paso #3: Ahora asigna la latitud y la longitud en un método geolocator.reverse(). Los métodos reverse() requieren la consulta del argumento y también aceptan al menos el argumento exactamente_uno, que es Verdadero de forma predeterminada.
Python3
# Latitude & Longitude input Latitude = "25.594095" Longitude = "85.137566" location = geolocator.reverse(Latitude+","+Longitude) # Display print(location)
Producción:
[Ubicación (Rajendra Nagar, Patna, Patna Rural, Patna, Bihar, 800001, India, (25.594023552508407, 85.13756080147536, 0.0))]
Paso #4: Ahora obtenga la información de la lista dada y analícela en un diccionario con la función sin formato().
Python3
address = location.raw['address'] print(address)
Producción:
{'suburb': 'Rajendra Nagar', 'city': 'Patna', 'country': 'Patna Rural', 'state_district': 'Patna', 'state': 'Bihar', 'postcode': '800001', 'country': 'India', 'country_code': 'in'}
Paso #5: Ahora recorra los nombres de ciudad, estado y país.
Python3
city = address.get('city', '') state = address.get('state', '') country = address.get('country', '') code = address.get('country_code') zipcode = address.get('postcode') print('City : ',city) print('State : ',state) print('Country : ',country) print('Zip Code : ', zipcode)
Producción:
City : Patna State : Bihar Country : India Zip Code : 800001
Plena aplicación:
Python3
# import module from geopy.geocoders import Nominatim # initialize Nominatim API geolocator = Nominatim(user_agent="geoapiExercises") # Latitude & Longitude input Latitude = "25.594095" Longitude = "85.137566" location = geolocator.reverse(Latitude+","+Longitude) address = location.raw['address'] # traverse the data city = address.get('city', '') state = address.get('state', '') country = address.get('country', '') code = address.get('country_code') zipcode = address.get('postcode') print('City : ', city) print('State : ', state) print('Country : ', country) print('Zip Code : ', zipcode)
Producción:
City : Patna State : Bihar Country : India Zip Code : 800001
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA