es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error KeyError al utilizar el servicio de POIs en openrouteservice.org.

Recibo un error al utilizar el servicio de POIs de openrouteservice.org. El siguiente código funciona bien, pero cuando cambio las coordenadas, ocurre el error ‘KeyError:’ osm_tags ”.

Mis coordenadas: coordenadas = [34.798282, 48.514728]

En mis coordenadas, [ ‘name’] no está en inglés, sino en persa. ¿Podría ser este un problema?

¿Cómo puedo solucionar este problema?

Agradecido.

Código titulado “POIS – LUGARES DE INTERÉS” al fondo de esta página.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución para el error KeyError: ‘osm_tags’ en el servicio de POIs de openrouteservice

    El error KeyError: ‘osm_tags’ ocurre cuando el servicio de POIs de openrouteservice.org no puede encontrar ‘osm_tags’ en los datos de OSM para las coordenadas dadas.

    Una razón para este error podría ser que el nombre en las coordenadas esté en persa, lo cual no es reconocido por los datos de OSM.

    Para resolver este problema, puede intentar cambiar el nombre a inglés o usar un término de búsqueda diferente que sea reconocido en los datos de OSM.

    Alternativamente, también puede intentar utilizar otros servicios o APIs de POI que admitan nombres en persa.

    Aquí hay un código de ejemplo para usar geopy y nominatim para buscar POIs:

    import geopy
    from geopy.geocoders import Nominatim
    
    # Inicializar la API de Nominatim
    geolocator = Nominatim(user_agent="myapp")
    
    # Buscar POIs cerca de las coordenadas dadas
    location = geolocator.reverse("34.798282, 48.514728")
    
    # Imprimir los datos de POI
    print(location.raw)
    

    Este código debería devolver los datos de POI para las coordenadas dadas, incluyendo el nombre en persa.

    Tenga en cuenta que este código utiliza la API gratuita de Nominatim, que tiene algunos límites de uso y puede no ser adecuada para aplicaciones a gran escala. Es posible que necesite utilizar una API o servicio de pago para uso en producción.

Comments are closed.