Obtenga los nombres de ciudades, estados y países de latitud y longitud usando Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *