ES2837852T3 - Métodos, dispositivos y software informático para facilitar la búsqueda y la visualización de ubicaciones relevantes para un mapa digital - Google Patents

Métodos, dispositivos y software informático para facilitar la búsqueda y la visualización de ubicaciones relevantes para un mapa digital Download PDF

Info

Publication number
ES2837852T3
ES2837852T3 ES14721268T ES14721268T ES2837852T3 ES 2837852 T3 ES2837852 T3 ES 2837852T3 ES 14721268 T ES14721268 T ES 14721268T ES 14721268 T ES14721268 T ES 14721268T ES 2837852 T3 ES2837852 T3 ES 2837852T3
Authority
ES
Spain
Prior art keywords
search
locations
user
level
digital map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14721268T
Other languages
English (en)
Inventor
Hendrik Sebastian Ziezold
Simone Francine Tertoolen
Mathieu Doorduyn
Marc Viddeleer
Adrian Bogdan
Joost Cornelis Frederik Voogt
Ruud Willemstein
Martin Wolf
Maurits Hol
Boer Michel De
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TomTom Navigation BV
Original Assignee
TomTom Navigation BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TomTom Navigation BV filed Critical TomTom Navigation BV
Application granted granted Critical
Publication of ES2837852T3 publication Critical patent/ES2837852T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
    • G01C21/3682Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities output of POI information on a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)

Abstract

Un dispositivo electrónico portátil (200), que comprende: medios de procesamiento de datos (210); un almacén de datos (230), que contiene datos representativos de un mapa digital; medios de visualización (240); y un medio legible por ordenador, que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos, hacen que el dispositivo electrónico portátil, en relación con los datos representativos de una pluralidad de ubicaciones relevantes para el mapa digital, proporcione, en una representación del mapa digital presentado en los medios de visualización (240), para cada una de las ubicaciones, uno de una pluralidad de diferentes elementos de la interfaz gráfica de usuario (GUI) caracterizados por diferentes niveles de importancia para indicar las ubicaciones, en donde el nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra el mapa digital y la relevancia considerada de esa ubicación para una consulta de búsqueda de usuario, caracterizado por que los elementos de la GUI en niveles de mayor importancia proporcionan una mayor funcionalidad de la interfaz de usuario que permite la interacción del usuario con los mismos.

Description

DESCRIPCIÓN
Métodos, dispositivos y software informáti
para un mapa digital
Campo de la invención
El presente documento da a conocer métodos, dispositivos y un software informáti
visualización de ubicaciones relevantes para un mapa digital. En particular, el presente documento da a conocer métodos, dispositivos y un software informático para realizar una búsqueda en un almacén de datos de ubicaciones en base a una cadena de búsqueda de texto libre introducida por el usuario. El presente documento da a conocer, asimismo, métodos, dispositivos y un software informático para facilitar al usuario la búsqueda en un almacén de datos de ubicaciones, mediante la generación y la visualización de sugerencias de búsqueda que pueden ser seleccionadas en base a una cadena de búsqueda de texto libre introducida por el usuario. El presente documento da a conocer, asimismo, métodos, dispositivos y un software informático para proporcionar, en una representación de un mapa digital mostrado en la pantalla, elementos de la interfaz gráfica de usuario (GUI - Graphical User Interface, en inglés) de diferentes niveles de importancia para facilitar al usuario la revisión de una pluralidad de ubicaciones que representan, por ejemplo, un conjunto de resultados de una búsqueda de destino, un conjunto de incidentes de tráfico actuales, etc. Los diversos aspectos de la invención encuentran una utilidad concreta en los aparatos de navegación en forma de dispositivos electrónicos portátiles, tales como teléfonos inteligentes, dispositivos de navegación portátiles, los llamados PND (Portable Navigation Devices, en inglés), y aparatos de navegación que forman parte de un sistema de navegación integrado, por ejemplo, un sistema de navegación integrado en un vehículo.
Antecedentes de la invención
Dispositivos electrónicos tales como teléfonos inteligentes, dispositivos portátiles de navegación (PND) y sistemas de navegación integrados que incluyen GNSS (sistemas globales de navegación por satélite - Global Navigation Satellite Systems, en inglés), tales como GPS, recepción de señales y una funcionalidad de procesamiento son ampliamente empleados como sistemas de navegación personales, integrados en un automóvil o en otro vehículo. En términos generales, un dispositivo electrónico conocido que tiene una funcionalidad de navegación comprende un procesador, una memoria (como mínimo una de volátil y no volátil, y, comúnmente, ambas) y datos de mapas digitales almacenados dentro de dicha memoria. El procesador y la memoria colaboran para proporcionar un entorno de ejecución en el que se puede establecer un sistema operativo de software y, además, es habitual que se proporcionen uno o varios programas de software adicionales, para permitir el control de la funcionalidad del PND y para proporcionar diversas funciones adicionales.
Habitualmente, estos dispositivos comprenden, además, una o varias interfaces de entrada, que permiten al usuario interactuar y controlar el dispositivo, y una o varias interfaces de salida, por medio de las cuales se puede transmitir información al usuario. Ejemplos ilustrativos de interfaces de salida incluyen una pantalla de visualización y un altavoz para una salida audible. Ejemplos ilustrativos de interfaces de entrada incluyen uno o varios pulsadores físicos, para controlar la operación de encendido / apagado u otras características del dispositivo (qué pulsadores no tienen que estar necesariamente en el propio dispositivo, sino que podrían estar en el volante si el dispositivo está integrado en un vehículo), y un micrófono, para detectar la voz del usuario. En una disposición particularmente preferida, la pantalla de la interfaz de salida puede estar configurada como una pantalla táctil (por medio de una superposición táctil o de otro modo) para proporcionar adicionalmente una interfaz de entrada mediante la cual un usuario puede accionar el dispositivo mediante el tacto.
Los dispositivos de este tipo también incluirán a menudo una o varias interfaces de conector físico por medio de las cuales se pueden transmitir y recibir señales de alimentación y, opcionalmente, de datos, desde el dispositivo y, opcionalmente, uno o varios transmisores / receptores inalámbricos, para permitir la comunicación a través de telecomunicaciones móviles y de otras redes de señales y datos, por ejemplo, Wi-Fi, Wi-Max, GSM y similares. Los dispositivos PND de este tipo también incluyen una antena de GPS mediante la cual se pueden recibir y procesar posteriormente señales de transmisión por satélite, incluidos datos de ubicación, para determinar la ubicación actual del dispositivo.
El dispositivo PND también puede incluir giroscopios electrónicos y acelerómetros, que producen señales que pueden ser procesadas para determinar la aceleración angular y lineal actual y, a su vez, y junto con la información de ubicación obtenida a partir de la señal de GPS, la velocidad y el desplazamiento relativo del dispositivo y, por tanto, del vehículo en el que está montado. Habitualmente, estas características están dispuestos con mayor frecuencia en los sistemas de navegación integrados en un vehículo, pero también pueden estar dispuestos en los dispositivos PND, si es conveniente hacerlo.
La utilidad de dichos PND se manifiesta principalmente en su capacidad para determinar una ruta entre una primera ubicación (normalmente una ubicación de origen o actual) y una segunda ubicación (habitualmente un destino). En dispositivos conocidos, estas ubicaciones pueden ser introducidas por un usuario del dispositivo, mediante cualquiera de una amplia variedad de métodos diferentes, por ejemplo, mediante código postal, nombre de la calle y número del domicilio, nombre, etc. En algunos dispositivos de navegación conocidos, los destinos de navegación son almacenados localmente en un almacén de datos como librería de registros de datos representativos de ubicaciones relevantes para un mapa digital. Para ubicaciones que representan destinos de navegación, la información de ubicación, tal como latitud y longitud o una distancia a lo largo de un trayecto entre nodos en el mapa digital, puede ser almacenada, para permitir la ubicación del destino y la generación de una ruta navegable hasta esa ubicación.
Habitualmente, los registros de datos de ubicación para destinos de navegación pueden representar direcciones que tienen componentes (o campos de datos) que incluyen el número del domicilio, el nombre de la calle, el nombre del establecimiento, el país y el código postal que, juntos, definen una dirección específica. Los registros de datos de ubicación para destinos también pueden representar puntos de interés (POI - Points of Interest, en inglés) almacenados previamente, proporcionados por el fabricante o generados por el usuario, que pueden ser destinos “bien conocidos” (tales como lugares famosos, lugares municipales (tales como campos deportivos o piscinas) u otros puntos de interés, tales como restaurantes, bares, tiendas, etc. Los registros de datos de POI pueden tener componentes que incluyen uno o varios nombres del POI (por ejemplo, “Museo Británico”), nombre de la marca del POI (por ejemplo, “Starbucks”), nombre de la categoría del POI y/o código de categoría (por ejemplo, “restaurante” y “7315”) y dirección del POI (incluido el número del domicilio, el nombre de la calle, el nombre del establecimiento, el código postal y el país). También se pueden almacenar registros de datos para destinos favoritos o visitados recientemente.
Habitualmente, el PND está habilitado mediante software para calcular una ruta “mejor” u “óptima” entre las ubicaciones de las direcciones de origen y destino a partir de los datos del mapa. Una ruta “mejor” u “óptima” se determina sobre la base de criterios predeterminados y no necesariamente es la ruta más rápida o más corta. La selección de la ruta a lo largo de la cual guiar al conductor puede ser muy sofisticada, y la ruta seleccionada puede tener en cuenta la información existente, prevista y recibida de manera dinámica y/o inalámbrica acerca del tráfico y la carretera, información histórica acerca de la velocidad de la carretera y las propias preferencias del conductor para los factores que determinan la elección de la carretera (por ejemplo, el conductor puede especificar que la ruta no debe incluir autopistas o carreteras de peaje).
Además, el dispositivo puede monitorizar de manera continua las condiciones de la carretera y del tráfico, y ofrecer o elegir cambiar la ruta por la que se realizará el resto del viaje debido a cambios en las condiciones. Los sistemas de monitorización del tráfico en tiempo real, basados en diversas tecnologías (por ejemplo, intercambio de datos de teléfonos móviles, cámaras fijas, rastreo de flotas por GPS) se están utilizando para identificar retrasos en el tráfico y para alimentar la información a los sistemas de notificación.
Los PND de este tipo pueden estar montados habitualmente en el salpicadero o en el parabrisas de un vehículo, pero también pueden estar formados como parte de un ordenador de a bordo de la radio del vehículo o, de hecho, como parte del sistema de control del propio vehículo. El dispositivo de navegación también puede formar parte de un sistema portátil, tal como un PDA (asistente digital portátil - Portable Digital Assistant, en inglés), un reproductor multimedia, un teléfono móvil, un teléfono inteligente o similar, y, en estos casos, la funcionalidad normal del sistema del dispositivo de mano se amplía mediante la instalación de un software en el dispositivo para realizar tanto el cálculo de una ruta como la navegación a lo largo de una ruta calculada.
Es posible que un dispositivo móvil esté en comunicación inalámbrica con un terminal fijo. El almacenamiento y procesamiento de datos requeridos para determinar un destino y una ruta podría ser realizado en el terminal fijo mediante la transmisión por parte del dispositivo móvil de la información introducida por el usuario al terminal fijo, y la recepción de la información para mostrarla a un usuario del dispositivo móvil desde el terminal fijo. Sin embargo, dicha implementación requiere una conexión inalámbrica al dispositivo móvil, así como un ancho de banda mínimo para la transferencia de información, y ninguno de estos puede ser garantizado en todas las ubicaciones.
En consecuencia, cuando un dispositivo de navegación es un dispositivo móvil, se requiere que el dispositivo móvil almacene una gran base de datos de información geográfica y realice la búsqueda en la base de datos utilizando los limitados recursos de procesamiento del dispositivo móvil. En los dispositivos de navegación conocidos, se busca un destino, tal como una dirección o un POI, en una base de datos de información geográfica, en este caso un almacén de datos de registros de datos que representan ubicaciones relevantes para un mapa digital, utilizando una búsqueda guiada.
La búsqueda guiada utiliza preguntas para solicitar tipos específicos de información de un usuario. Las respuestas del usuario a cada pregunta permiten definir un espacio de búsqueda reducido para búsquedas posteriores hasta que se alcance un resultado de búsqueda correspondiente al destino deseado de un usuario. Puesto que cada espacio de búsqueda es más pequeño que toda la base de datos de información geográfica, el dispositivo móvil no experimenta el problema de tener que realizar una búsqueda en toda la base de datos de información geográfica con su limitada capacidad de procesamiento.
La figura 5 muestra un ejemplo de un proceso de búsqueda guiada 500 conocido. El proceso comienza en el punto de decisión 501, donde el dispositivo solicita al usuario que introduzca una selección de si buscar una dirección o un punto de interés (POI). Si el usuario selecciona buscar una dirección, el usuario recibe tres mensajes adicionales para introducir el nombre de una ciudad 502, una calle 503 dentro de la ciudad y un número de domicilio 504. Si, por el contrario, el usuario selecciona buscar un POI, se le solicita al usuario que introduzca el nombre de una ciudad 505 y, a continuación, introduzca una selección 506 de si buscar una categoría de POI 507 o un nombre de POI 508. A continuación, el usuario recibe más mensajes para introducir la categoría del POI y/o el nombre del POI de acuerdo con la selección del usuario. Estas búsquedas reducen iterativamente el espacio de búsqueda mediante la búsqueda de componentes específicos de los registros de datos en relación con los cuales se solicita la introducción por parte del usuario, y el filtrado de aquellos que no tienen un valor de componente que coincide con la información introducida por el usuario.
Los problemas experimentados por las búsquedas guiadas son que la pluralidad de mensajes da como resultado que el dispositivo sea lento y difícil de utilizar. No es suficiente que un usuario proporcione información que defina un destino deseado con una única entrada al dispositivo. Además, es posible que un usuario no pueda encontrar un destino deseado, debido a que tiene información incompleta o que no concuerda exactamente con el registro de datos deseado. Por lo tanto, el usuario no puede realizar fácilmente una búsqueda de manera especulativa en la base de datos de información geográfica, para encontrar un destino deseado.
Una alternativa a realizar una búsqueda guiada es realizar una búsqueda de texto libre. Una búsqueda de texto libre tiene como objetivo determinar el destino deseado de un usuario a partir de una sola entrada de usuario, evitando de este modo la pluralidad de mensajes requeridos para realizar una búsqueda guiada.
Un ejemplo de este tipo de una técnica de búsqueda de texto libre para un dispositivo de navegación se da a conocer en el documento WO2010/119137 A1. La búsqueda se basa en un árbol de datos que asocia nombres de objetos geográficos a conjuntos de mosaicos de mapa. Un mapa digital está dividido en cuatro árboles en una pluralidad de niveles jerárquicos. Con el fin de reducir el espacio de búsqueda de modo que se pueda realizar una búsqueda de manera eficaz en una base de datos grande con los limitados recursos de procesamiento del dispositivo móvil, se realiza una primera búsqueda a un nivel dentro del árbol de datos. Si el número de mosaicos candidatos es mayor que un número predeterminado, el espacio de búsqueda se reduce compactando algunos o todos los mosaicos del conjunto candidato a un mosaico del siguiente nivel. En consecuencia, no es necesario que el dispositivo móvil busque directamente espacios mayores que un tamaño predeterminado.
Sin embargo, un problema con la técnica de búsqueda de texto libre descrita anteriormente es que es necesario que el dispositivo móvil realice el procesamiento requerido para reducir el espacio de búsqueda después de que se han obtenido los resultados de los candidatos. Este procesamiento para cambiar el espacio de búsqueda aumenta las necesidades de procesamiento y ralentiza la recuperación de los resultados de búsqueda.
Es conocido en la técnica de los PND que, además de una vista de tipo lista de los resultados de búsqueda, también proporcionan una vista de tipo mapa, en la que la interfaz gráfica de usuario (GUI) se utiliza para indicar la ubicación de los resultados de una búsqueda de destino, o de eventos meteorológicos o de incidentes de tráfico. Esto puede facilitar a un usuario la visualización contextual de las ubicaciones en relación con un mapa digital. Sin embargo, mostrar estas ubicaciones de una manera que sea especialmente útil y fácilmente comprensible para el usuario es problemático, ya que se puede mostrar demasiada o muy poca información de ubicación, con demasiada o muy poca funcionalidad, lo que puede disminuir la experiencia del usuario y limitar la facilidad de utilización del dispositivo para seleccionar un destino al que dirigirse, o para tener en cuenta de manera efectiva los eventos meteorológicos y de tráfico relevantes.
El documento US 2011/047509 A1 da a conocer un método y un aparato para agrupar puntos de interés (POI) en un mapa mostrado: una pluralidad de POI están categorizados en diferentes agrupamientos de niveles en base a una pluralidad de criterios especificados por el usuario; los diferentes grupos de niveles están asignados respectivamente a una pluralidad de niveles de acercamiento / alejamiento del mapa visualizado; en cada nivel de acercamiento / alejamiento, cada icono que representa un grupo de POI se muestra con una visibilidad determinada asociada con el nivel de acercamiento / alejamiento, y permite al usuario acceder a información adicional acerca del grupo de POI.
El documento US 2011/313649 A1 da a conocer un método y un aparato para proporcionar un acercamiento / alejamiento inteligente de un mapa mostrado: una aplicación de acercamiento / alejamiento personalizado muestra un mapa con una pluralidad de objetos que representan ubicaciones de interés; la relevancia de la pluralidad de objetos se determina basándose en parte en las especificaciones del usuario, así como en un contexto inferido obtenido a partir de consultas de búsqueda anteriores del usuario; la representación de uno o varios de una pluralidad de objetos con, como mínimo, un nivel diferente de visibilidad con respecto a otros objetos, se basa en el grado de relevancia, así como en el nivel de acercamiento / alejamiento.
Compendio de la invención
Las realizaciones de la invención proporcionan métodos, dispositivos y un software informático destinado a resolver, como mínimo, algunas de las limitaciones descritas anteriormente en las herramientas de navegación conocidas.
En particular, el presente documento da a conocer métodos, dispositivos y un software informático para realizar una búsqueda en un almacén de datos de ubicaciones en base a una cadena de búsqueda de texto libre introducida por el usuario. Estos aspectos de la invención se resumirán a continuación como sigue.
Visto desde un cierto aspecto, se proporciona un dispositivo electrónico portátil que comprende: medios de procesamiento de datos; un almacén de datos que contiene: registros de datos representativos de ubicaciones relevantes para un mapa digital o en el mismo; y datos representativos de un índice que asocia las palabras contenidas en los registros de datos con los registros en los que aparecen esas palabras; el dispositivo electrónico portátil también comprende un medio legible por ordenador, que comprende instrucciones que cuando son ejecutadas por los medios de procesamiento de datos hacen que el dispositivo electrónico, en relación con una consulta de búsqueda recibida que incluye una cadena de búsqueda: procese la cadena de búsqueda para proporcionar una o varias palabras de búsqueda; consulte el índice para identificar registros de datos que contienen la palabra de búsqueda o cada una de ellas; y genere un intervalo para cada uno de los uno o varios registros de datos identificados, indicativo de la relevancia de cada registro de datos identificado para la consulta de búsqueda. De acuerdo con este aspecto, el usuario del dispositivo cuenta con una búsqueda flexible que es receptiva y rápida, incluso aunque el dispositivo móvil tiene que realizar una búsqueda en un gran almacén de datos utilizando capacidades de procesamiento relativamente bajas. Además, el usuario puede buscar una gama más amplia de datos de manera más especulativa, sin estar limitado por un procedimiento de búsqueda guiada restrictivo, lo que hace que sea más probable que encuentre un resultado de ubicación deseado.
La consulta de búsqueda puede ser obtenida a partir de la entrada del usuario del dispositivo electrónico.
Además, las instrucciones pueden hacer que el dispositivo muestre los resultados en una pantalla del dispositivo. Las instrucciones pueden hacer que el dispositivo electrónico, al procesar la cadena de búsqueda, realice uno o varios de los siguientes: dividir la cadena de búsqueda en palabras; normalizar las palabras; identificar y tratar palabras especiales.
Normalizar las palabras puede incluir una o varias etapas de procesamiento destinadas a tener en cuenta las irregularidades en el contenido de la cadena de búsqueda, incluyendo, opcionalmente, uno o varios de: convertir todas las letras en minúsculas; quitar los acentos de las letras; reemplazar una secuencia de la misma letra por una sola letra; reemplazar letras individuales por otras letras; reemplazar palabras y abreviaturas con abreviaturas estándar. El índice puede contener versiones normalizadas de las palabras contenidas en los registros de datos, y la cadena de búsqueda puede ser procesada para normalizar las palabras contenidas en la misma utilizando las mismas reglas de normalización utilizadas en la generación del índice.
Mediante la normalización de las palabras, el procedimiento de búsqueda es convertido en más versátil y tolerante con los errores del usuario, tales como errores tipográficos y de memoria, y variaciones en la ortografía. La normalización también reduce el tamaño de los índices que se buscarán, lo que acelera aún más el proceso de búsqueda.
La identificación y el tratamiento de palabras especiales pueden incluir uno o varios de: convertir los nombres y códigos de países en códigos estándar de países; eliminar los números de los domicilios; identificar palabras que correspondan a las categorías de los puntos de interés (POI) y reemplazarlas con un código de categoría del POI. Si la cadena de búsqueda completa es un nombre de categoría de POI o un prefijo de un solo nombre de categoría de POI, la consulta es, preferiblemente, para registros en la categoría del POI. Si la cadena de búsqueda completa incluye más de una palabra y comienza con un nombre de categoría de POI, se producen dos consultas, preferiblemente, de la siguiente manera: una primera consulta en la que el nombre de la categoría del POI es proporcionado como una palabra de búsqueda; una segunda consulta, en la que el nombre de la categoría del POI es reemplazado con un código de categoría de POI.
Además, las instrucciones pueden hacer que el dispositivo electrónico, al consultar el índice para identificar los registros de datos que contienen la palabra de búsqueda o cada palabra de búsqueda: busque cada palabra de búsqueda, encuentre el conjunto de registros coincidentes en el índice; y determine la intersección de los conjuntos de registros para proporcionar los registros en los que coinciden todas las palabras.
Además, las instrucciones pueden hacer que el dispositivo electrónico, al generar un intervalo para cada registro de datos: calcule una puntuación para cada registro; clasifique los registros en base a sus puntuaciones; si dos registros tienen la misma puntuación, resolver el orden de clasificación en base a una distancia desde un centro de búsqueda si está disponible, de lo contrario, el orden de clasificación si los dos registros es aleatorio.
Calcular una puntuación de clasificación para cada registro puede incluir comenzar desde una puntuación inicial y realizar uno o varios de: restar una penalización de la puntuación por cada palabra contenida en la cadena de búsqueda que no coincide exactamente con una palabra contenida en el registro de datos; restar una penalización de la puntuación por una diferencia estructural entre las palabras de búsqueda dispuestas en la cadena de búsqueda y cómo aparecen las palabras en el registro de datos, incluido el orden de palabras incorrecto y los espacios entre palabras; restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda; sumar una bonificación a la puntuación para los registros de datos indicados como coincidencias importantes.
Calcular una puntuación de clasificación para un registro que representa una dirección puede incluir uno o varios de: no clasificar el registro de datos si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en el nombre de la calle del registro de datos; si hay un centro de búsqueda, ajustar una o varias de las penalizaciones para: suprimir penalizaciones por registros de datos relativamente cerca del centro de búsqueda, o aumentar las penalizaciones por registros de datos relativamente distantes del centro de búsqueda, o ambos; sumar una bonificación a la puntuación si hay una coincidencia de palabras con un centro de establecimiento, dependiendo del tamaño del centro de establecimiento y de la distancia del centro de establecimiento desde un centro de búsqueda, si está disponible.
Calcular una puntuación de clasificación para un registro que representa un punto de interés (POI) puede incluir uno o varios de: no clasificar el registro de datos si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en uno de los componentes del registro de datos que representa el nombre del POI, el nombre de marca del POI o la categoría del POI; si hay un centro de búsqueda, no restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda; si no hay un centro de búsqueda, restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente del registro de datos que representa el nombre del POI o el nombre de la marca del POI para el cual hay una palabra que coincide con una palabra de búsqueda; si no hay un centro de búsqueda, restar una penalización de la puntuación si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en el nombre del POI o el nombre de la marca del POI.
Mediante la clasificación de los registros de datos coincidentes, al usuario se le pueden presentar los registros que se consideren más relevantes para la búsqueda en orden de clasificación. Esto ayuda a garantizar que al usuario se le presenten los registros de datos coincidentes más relevantes en primer lugar, es decir, en la parte superior de una lista. Asimismo, facilita la visualización efectiva de los resultados de la búsqueda en una vista del mapa, tal como se describirá con más detalle a continuación.
Los registros de datos (o documentos) pueden representar una dirección o un punto de interés (POI). Los registros de datos pueden contener datos representativos de uno o varios de los siguientes componentes: nombre de la calle; nombre de la plaza; código postal; código de país; nombre de POI; marca de POI; dirección de POI; código de categoría de POI. Los datos representativos de los componentes pueden comprender la propia información relativa a la ubicación, por ejemplo, uno o varios de un nombre de calle, un nombre de plaza, un código postal, un código de país, un nombre de POI, un nombre de marca de POI, una dirección de POI, un código de categoría de POI. Sin embargo, los datos representativos de los componentes pueden comprender una referencia o un puntero a la información relacionada con la ubicación almacenada en un mapa digital. Esto permite que el tamaño de cada registro de datos se mantenga al mínimo, lo cual es beneficioso dadas las limitaciones de memoria que existen habitualmente en los dispositivos móviles.
Cada registro de datos o documento puede comprender un identificador de registro, por ejemplo, permitiendo que cada registro de datos sea identificado de manera única. Además, o alternativamente, cada registro de datos puede comprender una referencia de ubicación. La referencia de la ubicación identifica, preferiblemente, una parte de la zona geográfica representada por el mapa digital, de tal manera que, cuando se realiza una búsqueda de ubicaciones dentro de una región geográfica concreta, solo es necesario buscar los registros de datos en el interior de la región geográfica concreta. La referencia de la ubicación puede ser proporcionada como un código de Morton, permitiendo de este modo representar una región geográfica bidimensional del mapa digital en una dimensión. La referencia de la ubicación puede formar parte del identificador de registro. Por ejemplo, el identificador de registro para cada registro de datos comprende una primera parte y una segunda parte: la primera parte es una referencia de la ubicación, por ejemplo, un código de Morton representativo de una zona geográfica que contiene la ubicación (representada por el registro de datos); y la segunda parte es una referencia o puntero a la información relacionada con la ubicación para el registro de datos almacenado en un mapa digital asociado.
Los registros de datos que representan diferentes tipos de ubicación pueden ser almacenados en bases de datos separadas en el almacén y pueden ser indexadas en índices de texto libre separados. Por ejemplo, direcciones, POI, ubicaciones recientes y ubicaciones favoritas pueden ser almacenadas en bases de datos separadas y tener índices de texto libre separados que necesitan ser consultados por separado durante la búsqueda.
El índice que, preferiblemente, actúa como una tabla de búsqueda inversa, puede incluir tuplas, una para cada palabra del conjunto de palabras contenidas en los componentes, que relacionan cada una de dichas palabras con los identificadores de registro respectivos de todos los registros en los que aparecen esas palabras
La cadena de búsqueda puede ser obtenida a partir de una cadena de texto libre de un solo campo introducida por el usuario mediante una interfaz de usuario del dispositivo.
Visto desde otro aspecto, se da a conocer un método para accionar un dispositivo electrónico portátil que comprende medios de procesamiento de datos, un almacén de datos que contiene registros de datos representativos de ubicaciones relevantes para un mapa digital o dentro del mismo, y datos representativos de un índice que asocia palabras contenidas en los registros de datos con los registros en los que aparecen esas palabras, comprendiendo el método, en relación con una consulta de búsqueda recibida que incluye una cadena de búsqueda: procesar la cadena de búsqueda para proporcionar una o varias palabras de búsqueda; consultar el índice para identificar registros de datos que contienen la palabra de búsqueda o cada una de ellas; y generar una clasificación para cada uno de los uno o varios registros de datos identificados indicativos de la relevancia de cada registro de datos identificado para la consulta de búsqueda.
El método descrito anteriormente puede ser adaptado o incluir, opcionalmente, etapas adicionales, para accionar el dispositivo electrónico portátil de acuerdo con los aspectos descritos anteriormente.
Visto desde otro aspecto, se da a conocer un producto de software informático que comprende instrucciones que, cuando son ejecutadas mediante medios de procesamiento de datos de un dispositivo electrónico portátil, hacen que el dispositivo electrónico se configure para llevar a cabo los métodos descritos anteriormente. El producto de software informático puede estar realizado como un medio legible por ordenador, opcionalmente un medio no transitorio legible por ordenador.
El presente documento da a conocer, asimismo, métodos, dispositivos y software informático para facilitar al usuario la búsqueda de un almacén de datos de ubicaciones, generando y visualizando sugerencias de búsqueda que pueden ser seleccionadas en base a una cadena de búsqueda de texto libre introducida por el usuario. Estos aspectos de la invención se resumirán a continuación como sigue.
Vista desde un cierto aspecto, la presente invención da a conocer un dispositivo electrónico portátil que comprende: medios de procesamiento de datos; un almacén de datos, que contiene registros de datos representativos de ubicaciones relevantes para un mapa digital o dentro del mismo; medios de visualización; y un medio legible por ordenador que comprende instrucciones para facilitar a un usuario la búsqueda de los registros de datos que, cuando son ejecutadas por los medios de procesamiento de datos, hacen que el dispositivo electrónico: monitorice una cadena de búsqueda de texto libre a medida que es introducida por un usuario del dispositivo; en base a la cadena de búsqueda tal como es introducida: consulte el almacén de datos para encontrar los registros coincidentes; y genere sugerencias seleccionables por parte de un usuario para ajustar la búsqueda; muestre como mínimo algunos de los registros coincidentes y sugerencias en la pantalla; y, en respuesta a la recepción de la entrada del usuario que indica una selección de una sugerencia coincidente, ajuste la búsqueda en consecuencia. Al proporcionar sugerencias seleccionables para ajustar los parámetros de una búsqueda de usuario, estando basadas las sugerencias en una cadena de búsqueda de texto libre, se proporciona un grado de retroalimentación al usuario, y el proceso de búsqueda se acelera y se hace más flexible para un usuario.
Las sugerencias de dirección pueden ser generadas en base a los nombres de calles y/o establecimientos de los registros de datos que representan direcciones que coinciden con la cadena de búsqueda. La selección de una sugerencia de dirección que contiene el nombre de un establecimiento puede ajustar el centro de búsqueda para que se corresponda con ese establecimiento. La selección de una sugerencia de dirección que contiene el nombre de una calle puede reemplazar la cadena de búsqueda con el nombre de la calle. Después de seleccionar una sugerencia de dirección que contiene el nombre de la calle y el nombre del establecimiento, se le puede pedir al usuario que introduzca un número de domicilio en la cadena de búsqueda de texto libre.
Se pueden generar sugerencias de puntos de interés (POI) en base a los nombres, categorías y sinónimos de categorías de registros de datos que representan puntos de interés que coinciden con la cadena de búsqueda. La selección de una sugerencia de POI puede filtrar los registros de datos devueltos por la consulta, para incluir solo aquellos que tienen un nombre de POI, una categoría o una categoría de POI sinónima que coincide con la sugerencia de POI.
El almacén de datos puede ser consultado para encontrar registros de datos coincidentes, y se pueden generar sugerencias en respuesta a cada pulsación de tecla, o a otra entrada del usuario para adaptar la cadena de búsqueda o el centro de búsqueda, y con cada selección de una sugerencia, la pantalla se puede actualizar posteriormente para mostrar cualquier registro de datos coincidente y las sugerencias generadas. De esta manera, la búsqueda responde a la entrada del usuario de manera efectiva en tiempo real.
El almacén de datos puede incluir, además, datos representativos de un índice que asocia las palabras contenidas en los registros de datos con los registros en los que aparecen esas palabras; y las instrucciones pueden hacer que el dispositivo electrónico procese la cadena de búsqueda a medida que es introducida, para proporcionar una o varias palabras de búsqueda; en donde, en base a la cadena de búsqueda a medida que es introducida, consultar el almacén de datos para encontrar registros coincidentes puede incluir consultar el índice para identificar registros de datos que contienen la palabra de búsqueda o cada una de ellas.
Además, las instrucciones pueden hacer que el dispositivo electrónico genere una clasificación para cada uno de los registros de datos identificados indicativo de la relevancia de cada registro de datos identificado para la consulta de búsqueda. Los registros de datos coincidentes pueden ser visualizados en una lista ordenada de acuerdo con dicho intervalo.
Además, las instrucciones pueden hacer que el dispositivo electrónico, al procesar la cadena de búsqueda, realice uno o varios de: dividir la cadena de búsqueda en palabras; normalizar las palabras; identificar y tratar las palabras especiales.
Normalizar las palabras puede incluir una o varias etapas de procesamiento destinadas a tener en cuenta las irregularidades en el contenido de la cadena de búsqueda; opcionalmente puede incluir uno o varios de: convertir todas las letras en minúsculas; quitar los acentos de las letras; reemplazar una secuencia de la misma letra por una sola letra; reemplazar letras simples por otras letras; reemplazar palabras y abreviaturas con abreviaturas estándar. El índice puede contener versiones normalizadas de las palabras contenidas en los registros de datos, y la cadena de búsqueda puede ser procesada para normalizar las palabras contenidas en los mismos que utilizan las mismas reglas de normalización utilizadas en la generación del índice.
La identificación y el tratamiento de palabras especiales incluye uno o varios de: convertir nombres y códigos de países en códigos estándar de países; eliminar los números de los domicilios; identificar palabras que corresponden a categorías de puntos de interés (POI) y reemplazarlas con un código de categoría de POI. Si la cadena de búsqueda completa es un nombre de categoría de POI o un prefijo de un solo nombre de categoría de POI, la consulta puede ser para registros en la categoría de POI. Si la cadena de búsqueda completa incluye más de una palabra y comienza con un nombre de categoría de POI, se pueden generar dos consultas de la siguiente manera: una primera consulta, en la que el nombre de la categoría de POI se proporciona como palabra de búsqueda; una segunda consulta, en la que el nombre de la categoría de POI se reemplaza con un código de categoría de POI. Las instrucciones pueden hacer que el dispositivo electrónico, al consultar el índice, identifique registros de datos que contienen la palabra de búsqueda o cada una de ellas, para: para cada palabra de búsqueda, buscar el conjunto de registros coincidentes del índice; y determinar la intersección de los conjuntos de registros, para proporcionar los registros en los que coinciden todas las palabras.
Además, las instrucciones pueden hacer que el dispositivo electrónico, al generar un intervalo para cada registro de datos, calcule una puntuación para cada registro; clasifique los registros en base a sus puntuaciones; si dos registros tienen la misma puntuación, resolver su orden de clasificación en base a la distancia desde un centro de búsqueda si está disponible; de lo contrario, el orden de clasificación si los dos registros es aleatorio.
Calcular una puntuación de clasificación para cada registro puede incluir empezar desde una puntuación de origen y realizar uno o varios de: restar una penalización de la puntuación por cada palabra contenida en la cadena de búsqueda que no coincide exactamente con una palabra contenida en el registro de datos; restar una penalización de la puntuación para una diferencia estructural entre las palabras de búsqueda dispuestas en la cadena de búsqueda y cómo aparecen las palabras en el registro de datos, incluido el orden de palabras incorrecto y los espacios entre palabras; restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda; sumar una bonificación a la puntuación para los registros de datos indicados como coincidencias importantes.
Calcular una puntuación de clasificación para un registro que representa una dirección puede incluir uno o varios de: no clasificar el registro de datos si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en el nombre de la calle del registro de datos; si hay un centro de búsqueda, ajustar una o varias de las penalizaciones para: suprimir las penalizaciones para los registros de datos relativamente cercanos al centro de búsqueda, o aumentar las penalizaciones para los registros de datos relativamente distantes del centro de búsqueda, o ambos; sumar una bonificación a la puntuación si hay una coincidencia de palabras con un centro de establecimiento, dependiendo del tamaño del centro de establecimiento y de la distancia del centro de establecimiento desde un centro de búsqueda, si está disponible.
Calcular una puntuación de clasificación para un registro que representa un punto de interés (POI) puede incluir uno o varios de: no clasificar el registro de datos si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en uno de los componentes del registro de datos que representa el nombre del POI, el nombre de marca del POI o la categoría del POI; si hay un centro de búsqueda, no restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda; si no hay un centro de búsqueda, restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente del registro de datos que representa el nombre del POI o el nombre de la marca del POI para el que hay una palabra que coincide con una palabra de búsqueda; si no hay un centro de búsqueda, restar una penalización de la puntuación si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en el nombre del POI o en el nombre de la marca del POI.
Los registros de datos (o documentos) pueden representar una dirección o un punto de interés (POI). Los registros de datos pueden contener datos representativos de uno o varios de los siguientes componentes: un nombre de calle; un nombre de plaza; un código postal; un código de país; un nombre de POI; una marca de POI; una dirección de POI; un código de categoría de POI. Los datos representativos de los componentes pueden comprender la propia información relacionada con la ubicación, por ejemplo, uno o varios de un nombre de calle, un nombre de plaza, un código postal, un código de país, un nombre de POI, un nombre de marca de POI, una dirección de POI, un código de categoría de POI. Sin embargo, los datos representativos de los componentes pueden comprender una referencia o puntero a la información relacionada con la ubicación almacenada en un mapa digital. Esto permite que el tamaño de cada registro de datos se mantenga al mínimo, lo cual es beneficioso dadas las limitaciones de memoria que normalmente se encuentran en los dispositivos móviles. Los registros de datos coincidentes que representan direcciones pueden ser mostrados en una primera columna y los registros de datos coincidentes que representan puntos de interés pueden ser mostrados en una segunda columna adyacente a la primera columna. El dispositivo electrónico portátil puede comprender, además, medios de entrada de usuario, que incluyen una pantalla táctil superpuesta en dicha pantalla, en la que la selección de un registro mostrado devuelto por la consulta de los registros de datos o de una sugerencia generada puede comprender un toque en relación con el registro o sugerencia mostrado, o un elemento de la GUI representativo del mismo.
Visto desde otro aspecto, se da a conocer un método para accionar un dispositivo electrónico portátil que comprende medios de procesamiento de datos, un almacén de datos que contiene registros de datos representativos de ubicaciones relevantes para un mapa digital o dentro del mismo, y medios de visualización, comprendiendo el método: monitorizar una cadena de búsqueda de texto libre a medida que es introducida por un usuario del dispositivo; en base a la cadena de búsqueda tal como es introducida: consultar el almacén de datos para encontrar registros coincidentes; y generar sugerencias seleccionables por un usuario para ajustar la búsqueda, mostrar como mínimo algunos de los registros coincidentes y sugerencias en la pantalla; y, en respuesta a la recepción de una entrada del usuario que indica una selección de una sugerencia coincidente, ajustar la búsqueda en consecuencia.
El método descrito anteriormente puede ser adaptado opcionalmente o incluir etapas adicionales para accionar el dispositivo electrónico portátil de acuerdo con los aspectos descritos anteriormente.
Visto desde otro aspecto, se da a conocer un producto de software informático que comprende instrucciones que cuando son ejecutadas por los medios de procesamiento de datos de un dispositivo electrónico portátil hacen que el dispositivo electrónico se configure para llevar a cabo los métodos descritos anteriormente. El producto de software informático puede ser incorporado como un medio legible por ordenador, opcionalmente un medio no transitorio legible por ordenador.
El presente documento da a conocer, asimismo, métodos, dispositivos y software informático para proporcionar, en una presentación de un mapa digital desplegado en la pantalla, elementos de la GUI de diferentes niveles de importancia para facilitar a un usuario la revisión de una pluralidad de ubicaciones que representan, por ejemplo, un conjunto de resultados de una búsqueda de destino, un conjunto de incidentes de tráfico actuales, etc. Estos aspectos de la invención se resumirán a continuación como sigue.
Visto desde un aspecto de acuerdo con la presente invención, se da a conocer un dispositivo electrónico portátil que comprende: medios de procesamiento de datos; un almacén de datos que contiene datos representativos de un mapa digital; medios de visualización; un medio legible por ordenador que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos, hacen que el dispositivo electrónico portátil, en relación con los datos representativos de una pluralidad de ubicaciones relevantes para el mapa digital, proporcione, en una representación del mapa digital visualizado en los medios de visualización, para cada una de las ubicaciones, uno de una pluralidad de elementos de la interfaz gráfica de usuario (GUI) diferentes caracterizados por diferentes niveles de importancia para indicar las ubicaciones, en donde el nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra un mapa y una relevancia considerada de esa ubicación para una consulta de búsqueda de usuario, caracterizada por que los elementos de la GUI en niveles de mayor importancia proporcionan una mayor funcionalidad de interfaz de usuario que permite la interacción del usuario con el mismo.
De esta manera, se proporciona al usuario una vista contextual de una pluralidad de ubicaciones consideradas relevantes para una consulta, de tal manera que un gran número de resultados son visible sin que la vista se vuelva desordenada, y de modo que la importancia del indicador para cada ubicación indique la relevancia de la ubicación y dependa del nivel de detalle en el que se muestra el mapa digital.
Los elementos de la GUI en niveles de mayor importancia pueden proporcionar uno o varios de: mayor importancia visual en la pantalla; aumento de la opacidad; mayor información relevante para la ubicación.
A un nivel de detalle determinado, elementos de la GUI que tienen un nivel de importancia relativamente bajo pueden ser utilizados para indicar ubicaciones de la pluralidad de ubicaciones consideradas menos relevantes para la consulta del usuario, mientras que elementos de la GUI tienen un nivel de importancia relativamente alto pueden ser utilizados para indicar ubicaciones de la pluralidad de ubicaciones consideradas más relevantes para la consulta del usuario.
Cuando el nivel de detalle en el que se muestra el mapa digital es aumentado o disminuido, el elemento de la GUI utilizado para indicar una ubicación determinada puede ser cambiado a un nivel de importancia mayor o menor disponible, respectivamente. Por lo tanto, cuando se amplía el mapa, se pueden mostrar más resultados en niveles de importancia más altos, y viceversa.
Para cualquier nivel de detalle determinado, un número mínimo de la pluralidad de ubicaciones puede ser indicado por el elemento de la GUI que tiene el nivel de importancia más alto.
Cuando el mapa digital se muestra con un nivel de detalle relativamente alto, un número relativamente grande de la pluralidad de ubicaciones se puede indicar utilizando elementos de la GUI que tienen niveles de importancia relativamente altos. Cuando el mapa digital se muestra con un nivel de detalle relativamente bajo, se puede indicar un número relativamente grande de la pluralidad de ubicaciones utilizando elementos de la GUI que tienen niveles de importancia relativamente bajos.
Las ubicaciones se pueden dividir en grupos de acuerdo con su relevancia para la consulta del usuario, y cada grupo puede estar asociado con un nivel respectivo de detalle para el mapa digital. El agrupamiento de las ubicaciones y la asignación de los respectivos niveles de detalles asociados a esos grupos pueden ser realizados en base a uno o varios de: el número de las ubicaciones; la distribución de las ubicaciones; la relevancia considerada de las ubicaciones para la consulta del usuario; el nivel de detalle requerido para contener posibles agrupamientos de las ubicaciones en un cuadro delimitador mínimo; el intervalo de niveles de detalle al máximo posible; un número determinado de las ubicaciones en el grupo más relevante; un número determinado de grupos; un número determinado de ubicaciones en cada grupo.
Se puede definir un nivel básico de detalle para el mapa digital en base a un cuadro delimitador mínimo que contiene las ubicaciones del grupo de ubicaciones más relevante. Cada grupo de ubicaciones de relevancia decreciente puede estar asociado con niveles crecientes de detalle en comparación con el nivel básico de detalle. El mapa puede ser mostrado inicialmente en el nivel básico de detalle, y las ubicaciones que pertenecen a grupos asociados con niveles de detalle más altos que el nivel básico de detalle pueden ser indicadas con elementos de la GUI que tienen niveles de importancia progresivamente más bajos para grupos progresivamente menos relevantes.
Cuando el mapa digital es mostrado en un nivel de detalle determinado, las ubicaciones que pertenecen a grupos asociados con niveles de detalle más altos que el nivel de detalle mostrado pueden ser indicadas con elementos de la GUI que tienen niveles de importancia progresivamente más bajos para grupos progresivamente menos relevantes. Las ubicaciones que pertenecen a grupos asociados con niveles de detalle inferiores al nivel de detalle mostrado pueden ser indicadas con el elemento de la GUI que tiene el nivel de importancia más alto.
Cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel de detalle inicial a un nivel final de detalle asociado con el siguiente grupo más relevante, los elementos de la GUI utilizados para indicar las ubicaciones de cada grupo pueden ser aumentadas al siguiente nivel de importancia disponible. Cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel de detalle inicial hasta un nivel de detalle final asociado con el siguiente grupo menos relevante, los elementos de la GUI utilizados para indicar las ubicaciones de cada grupo pueden ser reducidos al siguiente nivel de importancia disponible.
Las ubicaciones pueden ser representativas de: destinos que incluyen una o varias direcciones y puntos de interés; eventos de tráfico que incluyen uno o varios accidentes, retrasos, cierres de carreteras, obras viarias, restricciones, volúmenes de tráfico y carriles cerrados; y/o eventos meteorológicos que incluyen uno o varios de inundaciones, nieve, hielo, niebla, condiciones adversas de la carretera.
El dispositivo electrónico portátil puede comprender, además, un motor de búsqueda, el almacén de datos puede contener registros que representan documentos pertenecientes a destinos, la consulta del usuario puede ser una consulta de búsqueda de destinos para el motor de búsqueda, y los datos representativos de la pluralidad de ubicaciones relevantes para el mapa digital pueden ser producidos por dicho motor de búsqueda, mediante una búsqueda de documentos relevantes para la consulta de la búsqueda, en esos registros. Los resultados de la búsqueda pueden ser clasificados por relevancia para la consulta de la búsqueda, pudiendo ser utilizada la clasificación para dividir las ubicaciones en grupos que se asociarán con niveles crecientes de detalle para una relevancia decreciente. La pluralidad de ubicaciones puede permanecer sin cambios en respuesta a la panorámica o al acercamiento / alejamiento del mapa digital. El número de ubicaciones devueltas por el motor de búsqueda y mostradas en el mapa digital puede ser limitado a un número máximo.
El dispositivo electrónico portátil puede comprender, además, un motor de eventos de tráfico que puede ser accionado para devolver ubicaciones representativas de eventos de tráfico actuales relevantes para una consulta generada por un usuario o dispositivo, en donde la consulta del usuario es una consulta de eventos de tráfico. La consulta de eventos de tráfico es para eventos de tráfico próximos a un centro de búsqueda, una ubicación actual del dispositivo o una ruta, o en una zona especificada por el usuario del mapa digital.
Visto desde otro aspecto de acuerdo con la presente invención, se da a conocer un método para accionar un dispositivo electrónico portátil que comprende medios de procesamiento de datos, un almacén de datos que contiene datos representativos de un mapa digital y medios de visualización, comprendiendo el método, en relación con los datos representativos de una pluralidad de ubicaciones relevantes para el mapa digital: proporcionar, en una representación del mapa digital mostrado en los medios de visualización, para cada una de las ubicaciones, uno de una pluralidad de diferentes elementos de la interfaz gráfica de usuario (GUI) caracterizados por diferentes niveles de importancia, para indicar las ubicaciones, en el que el nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra el mapa digital, y de una relevancia considerada de esa ubicación para una consulta de búsqueda de usuario, caracterizada por que los elementos de la GUI en mayores niveles de importancia proporcionan una mayor la funcionalidad de la interfaz de usuario que permite la interacción del usuario con la misma.
El método descrito anteriormente puede ser adaptado opcionalmente o incluir etapas adicionales para accionar el dispositivo electrónico portátil de acuerdo con los aspectos descritos anteriormente.
Visto desde otro aspecto de acuerdo con la presente invención, se da a conocer un producto de software informático que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos de un dispositivo electrónico portátil, hacen que el dispositivo electrónico portátil se configure para llevar a cabo el método descrito anteriormente. El producto de software informático puede estar incorporado como un medio legible por ordenador, opcionalmente un medio no transitorio legible por ordenador.
Si bien los aspectos y opciones de la invención citados anteriormente se describen por separado, se debe comprender que su provisión en todas las combinaciones posibles está contenida en el alcance de la invención. A este respecto, la presente invención da a conocer métodos, dispositivos electrónicos y software informático que implementan los aspectos de la invención descritos anteriormente en todas las combinaciones posibles. Por ejemplo, se da a conocer un dispositivo electrónico que está configurado por software para proporcionar los resultados de una búsqueda de texto libre realizada tal como se describe en el presente documento, en el que las sugerencias de búsqueda generadas tal como se describe en el presente documento se han utilizado para facilitar la búsqueda y para mostrar esos resultados de la búsqueda en una vista de mapa, en la que se proporcionan elementos de la GUI de diferentes niveles de importancia tal como se describe en el presente documento para indicar las ubicaciones de los resultados de la búsqueda.
Breve descripción de los dibujos
Algunas realizaciones preferidas de la invención se describirán a continuación solo a modo de ejemplo, y haciendo referencia a las figuras 1 a 13 de las cuales:
la figura 1 es una ilustración esquemática de un sistema de posicionamiento global (GPS - Global Posicioning System, en inglés);
la figura 2 es una ilustración esquemática de componentes electrónicos dispuestos para proporcionar un dispositivo de navegación;
la figura 3 es una ilustración esquemática de la manera en que un dispositivo de navegación puede recibir información a través de un canal de comunicación inalámbrica;
la figura 4 son vistas, en perspectiva, ilustrativas de un dispositivo de navegación;
la figura 5 es un diagrama de flujo que ilustra las indicaciones del usuario y las consultas de registros de datos realizadas en una búsqueda de ubicación guiada de la técnica anterior;
la figura 6 es un diagrama de flujo de un método de búsqueda de texto libre, de acuerdo con una realización;
la figura 7 es un diagrama de flujo de un método para generar y mostrar sugerencias de búsqueda que pueden ser seleccionadas en base a una cadena de búsqueda de texto libre introducida por el usuario, de acuerdo con a una realización;
la figura 8 es una descripción general de una interfaz de usuario 800 de ejemplo mostrada durante una operación de búsqueda, de acuerdo con una realización;
la figura 9 es una vista de una entrada de usuario de la interfaz de usuario, que se muestra en una realización;
la figura 10 es una vista de una entrada de usuario de la interfaz de usuario, que se muestra en una realización;
la figura 11 es una vista de una entrada de usuario de la interfaz de usuario, que se muestra en una realización;
la figura 12 es una vista de mapa de resultados navegables de una búsqueda de texto libre, de acuerdo con una realización;
la figura 13 es una ilustración de un proceso de dividir los resultados de una búsqueda de texto libre en grupos, de acuerdo con la relevancia, para una consulta del usuario, y asociar esos grupos con niveles de detalle de un mapa digital, de acuerdo con una realización; y
la figura 14 es una vista de mapa 1401 de la ruta de un usuario y de una serie de incidentes de tráfico cuyas ubicaciones se indican utilizando elementos de la GUI, de acuerdo con una realización.
Descripción detallada de las realizaciones preferidas
La descripción con respecto a las figuras 1 a 4 proporciona información del entorno para facilitar la comprensión de la invención en sus diversas realizaciones. Las realizaciones de la invención se describen haciendo referencia a las figuras 6 a 13.
Las realizaciones preferidas de la presente invención se describirán a continuación haciendo referencia concreta a un PND. Se debe recordar, sin embargo, que las enseñanzas de la presente invención no están limitadas a los PND, sino que son universalmente aplicables a cualquier tipo de dispositivo de procesamiento que esté configurado para ejecutar software de navegación para proporcionar planificación de rutas y funcionalidad de navegación. Por lo tanto, se deduce que, en el contexto del presente documento, un dispositivo de navegación está destinado a incluir (sin limitación) cualquier tipo de dispositivo de planificación y navegación de ruta, independientemente de si ese dispositivo está incorporado como un PND, un dispositivo de navegación integrado en un vehículo o, de hecho un recurso informático (tal como un ordenador personal (PC - Personal Computer, en inglés) portátil, un teléfono móvil, un teléfono inteligente o un asistente digital portátil (PDA)) que ejecuta el software de planificación de rutas y navegación.
También será evidente a partir de lo siguiente que las explicaciones de la presente invención incluso tienen utilidad en circunstancias en las que un usuario no busca instrucciones sobre cómo navegar de un punto a otro, sino que simplemente desea que se le proporcione una vista de una ubicación determinada o información acerca de una ubicación actual o próxima. En dichas circunstancias, la ubicación de “destino” seleccionada por el usuario no necesita tener una ubicación de origen correspondiente desde la cual el usuario desea comenzar a navegar y, como consecuencia, las referencias en el presente documento a la ubicación de “destino” o, de hecho, a una vista de “destino”, no deben ser interpretadas en el sentido de que la generación de una ruta es esencial, que el viaje hacia el “destino” debe ocurrir o, de hecho, que la presencia de un destino requiere la designación de una ubicación de origen correspondiente.
Teniendo en cuenta las condiciones anteriores, la figura 1 ilustra una vista a modo de ejemplo del sistema de posicionamiento global (GPS), que pueden utilizar los dispositivos de navegación. Estos sistemas son conocidos y se utilizan para una variedad de propósitos. En general, el GPS es un sistema de navegación basado en radio por satélite capaz de determinar, de manera continua, la posición, la velocidad, el tiempo y, en algunos casos, información de la dirección, para un número ilimitado de usuarios. Anteriormente conocido como NAVSTAR, el GPS incorpora una pluralidad de satélites que orbitan la Tierra en órbitas extremadamente precisas. En base a estas órbitas precisas, los satélites de GPS pueden transmitir su ubicación a cualquier número de unidades de recepción. El sistema de GPS se implementa cuando un dispositivo, especialmente equipado para recibir datos de GPS, comienza a escanear frecuencias de radio en busca de señales satelitales de GPS. Tras la recepción de una señal de radio de un satélite de GPS, el dispositivo determina la ubicación precisa de ese satélite mediante uno de una pluralidad de métodos convencionales diferentes. El dispositivo continuará escaneando, en la mayoría de los casos, señales, hasta que haya obtenido como mínimo tres señales de satélite diferentes (teniendo en cuenta que la posición no es normal, pero puede ser determinada, solo con dos señales utilizando otras técnicas de triangulación). Mediante la implementación de la triangulación geométrica, el receptor utiliza las tres posiciones conocidas para determinar su propia posición bidimensional con respecto a los satélites. Esto se puede hacer de una manera conocida. Además, la obtención de una cuarta señal de satélite permitirá al dispositivo de recepción calcular su posición tridimensional mediante el mismo cálculo geométrico, de una manera conocida. Los datos de posición y velocidad pueden ser actualizados en tiempo real de manera continua por un número ilimitado de usuarios.
Tal como se muestra en la figura 1, el sistema de GPS se designa, en general, con el número de referencia 100. Una pluralidad de satélites 120 están en órbita alrededor de la Tierra 124. La órbita de cada satélite 120 no es necesariamente síncrona con las órbitas de otros satélites 120 y, de hecho, es probable que sea asíncrona. Se muestra un receptor de GPS 140 recibiendo señales 160 de satélite de GPS de espectro extendido de los diversos satélites 120.
Las señales 160 de espectro extendido, transmitidas de manera continua desde cada satélite 120, utilizan un estándar de frecuencia altamente preciso conseguido con un reloj atómico extremadamente preciso. Cada satélite 120, como parte de su transmisión de señal 160 de datos, transmite un flujo de datos indicativo de ese satélite 120 concreto. Los expertos en la técnica relevante apreciarán que el dispositivo de recepción 140 de GPS, en general, obtiene señales 160 de satélite de GPS de espectro ampliado desde como mínimo tres satélites 120, para que el dispositivo de recepción 140 de GPS calcule su posición bidimensional mediante triangulación. La obtención de una señal adicional, que da como resultado señales 160 de un total de cuatro satélites 120, permite que el dispositivo de recepción 140 de GPS calcule su posición tridimensional de una manera conocida.
La figura 2 es una representación ilustrativa de los componentes electrónicos de un dispositivo de navegación 200, de acuerdo con una realización preferida de la presente invención, en formato de componente de bloque. Cabe señalar que el diagrama de bloques del dispositivo de navegación 200 no incluye todos los componentes del dispositivo de navegación, sino que solo es representativo de muchos componentes a modo de ejemplo.
El dispositivo de navegación 200 está situado en el interior de un alojamiento (no mostrado). El alojamiento incluye un procesador 210, conectado a un dispositivo de entrada 220 y una pantalla de visualización 240. El dispositivo de entrada 220 puede incluir un dispositivo de teclado, un dispositivo de entrada de voz, un panel táctil y/o cualquier otro dispositivo de entrada conocido utilizado para introducir información; y la pantalla de visualización 240 puede incluir cualquier tipo de pantalla de visualización, tal como una pantalla LCD, por ejemplo. En una disposición especialmente preferida, el dispositivo de entrada 220 y la pantalla de visualización 240 están integrados en un dispositivo integrado de entrada y visualización, que incluye un panel táctil o una entrada de pantalla táctil, de modo que un usuario solo necesite tocar una parte de la pantalla de visualización 240 para seleccionar una de una pluralidad de opciones de visualización o para activar uno de una pluralidad de pulsadores virtuales.
El dispositivo de navegación puede incluir un dispositivo de salida 260, por ejemplo, un dispositivo de salida audible (por ejemplo, un altavoz). Puesto que el dispositivo de salida 260 puede producir información audible para un usuario del dispositivo de navegación 200, se debe comprender, asimismo, que el dispositivo de entrada 240 también puede incluir un micrófono y un software para recibir comandos de voz de entrada.
En el dispositivo de navegación 200, el procesador 210 está conectado operativamente y configurado para recibir información de entrada desde el dispositivo de entrada 220 a través de una conexión 225, y conectado operativamente a, como mínimo, una de una pantalla de visualización 240 y un dispositivo de salida 260, a través de las conexiones de salida 245, para enviar información al mismo. Además, el procesador 210 está acoplado operativamente a un recurso de memoria 230 a través de la conexión 235 y, además, está adaptado para recibir / enviar información desde / hacia los puertos de entrada / salida (E/S) 270 a través de la conexión 275, en donde el puerto de E/S 270 puede ser conectado a un dispositivo de E/S 280 externo al dispositivo de navegación 200. El recurso de memoria 230 comprende, por ejemplo, una memoria volátil, tal como una memoria de acceso aleatorio (RAM - Random Access Memory, en inglés) y una memoria no volátil, por ejemplo, una memoria digital, tal como una memoria flash. El dispositivo de E/S 280 externo puede incluir, pero no está limitado a, un dispositivo de escucha externo tal como, por ejemplo, un auricular. La conexión al dispositivo de E/S 280 puede ser, además, una conexión por cable o inalámbrica a cualquier otro dispositivo externo, tal como una unidad estéreo de automóvil, para ser accionada en modo de manos libres y/o para ser accionada mediante activación por voz, por ejemplo, para la conexión a un auricular o auriculares, y/o para la conexión a un teléfono móvil, por ejemplo, en donde la conexión del teléfono móvil puede ser utilizada para establecer una conexión de datos entre el dispositivo de navegación 200 e Internet o cualquier otra red, por ejemplo, y/o para establecer una conexión a un servidor a través de Internet o de alguna otra red, por ejemplo.
La figura 2 ilustra, además, una conexión operativa entre el procesador 210 y una antena / receptor 250 a través de la conexión 255, en la que la antena / receptor 250 puede ser una antena / receptor de GPS, por ejemplo. Se comprenderá que la antena y el receptor designados por el número de referencia 250 están combinados esquemáticamente para su ilustración, pero que la antena y el receptor pueden ser componentes situados por separado, y que la antena puede ser una antena de parche de GPS o una antena helicoidal, por ejemplo.
Además, un experto en la técnica comprenderá que los componentes electrónicos mostrados en la figura 2 son alimentados por fuentes de energía (no mostradas) de una manera convencional. Tal como comprenderá un experto en la técnica, se considera que las diferentes configuraciones de los componentes mostrados en la figura 2 están dentro del alcance del presente documento. Por ejemplo, los componentes mostrados en la figura 2 pueden estar en comunicación entre sí mediante conexiones por cable y/o inalámbricas y similares. Por tanto, el alcance del dispositivo de navegación 200 del presente documento incluye un dispositivo de navegación 200 portátil o de mano. Además, el dispositivo de navegación 200 portátil o de mano de la figura 2 puede ser conectado o “acoplado” de una manera conocida a un vehículo, tal como una bicicleta, una motocicleta, un automóvil o un barco, por ejemplo. Por lo tanto, dicho dispositivo de navegación 200 puede ser retirado de la ubicación acoplada para una utilización de navegación portátil o de mano.
Haciendo referencia a continuación a la figura 3, el dispositivo de navegación 200 puede establecer una conexión de red “móvil” o de telecomunicaciones con un servidor 302 a través de un dispositivo móvil (no mostrado) (tal como un teléfono móvil, una PDA y/o cualquier dispositivo con tecnología de teléfono móvil) estableciendo una conexión digital (tal como una conexión digital a través de la tecnología Bluetooth conocida, por ejemplo). Posteriormente, a través de su proveedor de servicios de red, el dispositivo móvil puede establecer una conexión de red (a través de Internet, por ejemplo) con un servidor 302. De este modo, se establece una conexión de red “móvil” entre el dispositivo de navegación 200 (que puede ser, y muchas veces es, móvil, ya que se desplaza solo, y/o en un vehículo) y el servidor 302, para proporcionar una puerta de enlace “en tiempo real” o, como mínimo, muy “actualizada” para información.
El establecimiento de la conexión de red entre el dispositivo móvil (a través de un proveedor de servicios) y de otro dispositivo tal como el servidor 302, utilizando Internet (tal como la World Wide Web), por ejemplo, puede ser realizado de una manera conocida. Esto puede incluir la utilización del protocolo en capas TCP/IP, por ejemplo. El dispositivo móvil puede utilizar cualquier número de estándares de comunicación tales como CDMA, GSM, WAN, etc.
De este modo, se puede utilizar una conexión a Internet que se consigue a través de una conexión de datos, a través de un teléfono móvil o de una tecnología de teléfono móvil dentro del dispositivo de navegación 200, por ejemplo. Para esta conexión, se establece una conexión a Internet entre el servidor 302 y el dispositivo de navegación 200. Esto se puede hacer, por ejemplo, a través de un teléfono móvil o de otro dispositivo móvil, y de una conexión de GPRS (Servicio general de radio por paquetes - General Packet Radio Service, en inglés) (la conexión de GPRS es una conexión de datos de alta velocidad para dispositivos móviles proporcionada por operadores de telecomunicaciones; GPRS es un método para conectarse a Internet).
El dispositivo de navegación 200 puede completar, además, una conexión de datos con el dispositivo móvil, y, finalmente, con Internet y con el servidor 302, a través de la tecnología Bluetooth existente, por ejemplo, de una manera conocida, en la que el protocolo de datos puede utilizar cualquier número de estándares, tales como el GPRS, el estándar de protocolo de datos para el estándar GSM, por ejemplo.
El dispositivo de navegación 200 puede incluir su propia tecnología de teléfono móvil dentro del dispositivo de navegación 200 (incluyendo una antena, por ejemplo, u, opcionalmente utilizando la antena interna del dispositivo de navegación 200). La tecnología de teléfono móvil dentro del dispositivo de navegación 200 puede incluir componentes internos, tal como se especificó anteriormente, y/o puede incluir una tarjeta insertable (por ejemplo, un módulo de identidad de abonado o tarjeta SIM (Subscriber Identity Module, en inglés), completada con la tecnología de teléfono móvil necesaria y/o con una antena, por ejemplo. De este modo, La tecnología de teléfono móvil dentro del dispositivo de navegación 200 puede establecer de manera similar una conexión de red entre el dispositivo de navegación 200 y el servidor 302, a través de Internet, por ejemplo, de una manera similar a la de cualquier dispositivo móvil.
Para la configuración del teléfono de GPRS, se puede utilizar un dispositivo de navegación con Bluetooth para funcionar correctamente con el siempre cambiante espectro de los modelos de teléfonos móviles, fabricantes, etc., las configuraciones específicas del modelo / fabricante pueden estar almacenadas en el dispositivo de navegación 200, por ejemplo. Los datos almacenados para esta información pueden ser actualizados.
En la figura 3, el dispositivo de navegación 200 está representado en comunicación con el servidor 302 a través del canal de comunicaciones 318 genérico que puede ser implementado mediante cualquiera de diversas disposiciones diferentes. El servidor 302 y un dispositivo de navegación 200 se pueden comunicar cuando se establece una conexión a través del canal de comunicaciones 318 entre el servidor 302 y el dispositivo de navegación 200 (teniendo en cuenta que dicha conexión puede ser una conexión de datos a través de un dispositivo móvil, una conexión directa a través de un ordenador personal, a través de Internet, etc.).
El servidor 302 incluye, además de otros componentes que pueden no estar ilustrados, un procesador 304, conectado operativamente a una memoria 306 y, además, conectado operativamente, a través de una conexión 314 por cable o inalámbrica, a un dispositivo de almacenamiento masivo de datos 312. El procesador 304 está conectado operativamente, además, al transmisor 308 y al receptor 310, para transmitir y enviar información hacia y desde el dispositivo de navegación 200 a través del canal de comunicaciones 318. Las señales enviadas y recibidas pueden incluir datos, comunicación y/u otras señales propagadas. El transmisor 308 y el receptor 310 pueden ser seleccionados o diseñados de acuerdo con los requisitos de comunicación y con la tecnología de comunicación utilizada en el diseño de comunicación para el sistema de navegación 200. Además, cabe señalar que las funciones del transmisor 308 y el receptor 310 pueden ser combinadas en un transceptor de señal.
El servidor 302 está conectado a (o incluye), además, un dispositivo de almacenamiento masivo 312, señalando que el dispositivo de almacenamiento masivo 312 puede ser acoplado al servidor 302 a través del enlace de comunicación 314. El dispositivo de almacenamiento masivo 312 contiene un almacén de datos de navegación e información del mapa, y puede ser de nuevo un dispositivo separado del servidor 302 o puede estar incorporado en el servidor 302.
El dispositivo de navegación 200 está adaptado para comunicarse con el servidor 302 a través del canal de comunicaciones 318, e incluye un procesador, una memoria, etc. descrito con respecto a la figura 2, así como un transmisor 320 y un receptor 322, para enviar y recibir señales y/o datos a través del canal de comunicaciones 318, señalando que estos dispositivos se pueden utilizar, además, para comunicarse con dispositivos distintos al servidor 302. Además, el transmisor 320 y el receptor 322 se seleccionan o diseñan de acuerdo con los requisitos de comunicación y con la tecnología de comunicación utilizada en el diseño de comunicación del dispositivo de navegación 200 y las funciones del transmisor 320 y el receptor 322 pueden ser combinadas en un solo transceptor. El software almacenado en la memoria 306 del servidor proporciona instrucciones para el procesador 304 y permite que el servidor 302 proporcione servicios al dispositivo de navegación 200. Un servicio proporcionado por el servidor 302 implica procesar solicitudes del dispositivo de navegación 200 y transmitir datos de navegación desde el almacén masivo de datos 312 al dispositivo de navegación 200. Otro servicio proporcionado por el servidor 302 incluye procesar los datos de navegación utilizando diversos algoritmos para una aplicación deseada y enviar los resultados de estos cálculos al dispositivo de navegación 200.
El canal de comunicación 318 representa, de manera genérica, el medio de propagación o trayecto que conecta el dispositivo de navegación 200 y el servidor 302. Tanto el servidor 302 como el dispositivo de navegación 200 incluyen un transmisor para transmitir datos a través del canal de comunicación y un receptor para recibir datos que han sido transmitido a través del canal de comunicación.
El canal de comunicación 318 no está limitado a una tecnología de comunicación concreta. Además, el canal de comunicación 318 no está limitado a una sola tecnología de comunicación; es decir, el canal 318 puede incluir diversos enlaces de comunicación que utilizan una variedad de tecnología. Por ejemplo, el canal de comunicación 318 puede ser adaptado para proporcionar un trayecto para comunicaciones eléctricas, ópticas y/o electromagnéticas, etc. De este modo, el canal de comunicación 318 incluye, pero no está limitado a, una o una combinación de los siguientes: circuitos eléctricos, conductores eléctricos tales como alambres y cables coaxiales, cables de fibra óptica, convertidores, ondas de radiofrecuencia (RF), la atmósfera, el espacio vacío, etc. Además, el canal de comunicación 318 puede incluir dispositivos intermedios tales como enrutadores, repetidores, memorias intermedias, transmisores y receptores, por ejemplo.
En una disposición ilustrativa, el canal de comunicación 318 incluye redes telefónicas e informáticas. Además, el canal de comunicación 318 puede ser capaz de alojar comunicación inalámbrica tal como radiofrecuencia, frecuencia de microondas, comunicación por infrarrojos, etc. Además, el canal de comunicación 318 puede alojar la comunicación por satélite.
Las señales de comunicación transmitidas a través del canal de comunicación 318 incluyen, pero no están limitadas a, señales, como puede ser necesario o deseado para una determinada tecnología de comunicación. Por ejemplo, las señales pueden estar adaptadas para ser utilizadas en una tecnología de comunicación móvil, tal como el acceso múltiple por división del tiempo (TDMA - Time Division Multiple Access, en inglés), el acceso múltiple por división de la frecuencia (FDMA - Frequency Division Multiple Access, en inglés), el acceso múltiple por división del código (CDMA - Code Division Multiple Access, en inglés), el sistema global para comunicaciones móviles (GSM - Global System for Mobile communications, en inglés), etc. Se pueden transmitir tanto señales digitales como analógicas a través del canal de comunicación 318. Estas señales pueden ser señales moduladas, cifradas y/o comprimidas, según se desee para la tecnología de comunicación.
El servidor 302 incluye un servidor remoto accesible por parte del dispositivo de navegación 200 a través de un canal inalámbrico. El servidor 302 puede incluir un servidor de red situado en una red de área local (LAN - Local Area NetWork, en inglés), una red de área amplia (WAN - Wide Area NetWork, en inglés), una red privada virtual (VPN - Virtual Private NetWork, en inglés), etc.
El servidor 302 puede incluir un ordenador personal tal como un ordenador de escritorio o portátil, y el canal de comunicación 318 puede ser un cable conectado entre el ordenador personal y el dispositivo de navegación 200. Alternativamente, un ordenador personal puede ser conectado entre el dispositivo de navegación 200 y el servidor 302 para establecer una conexión a Internet entre el servidor 302 y el dispositivo de navegación 200. Alternativamente, un teléfono móvil u otro dispositivo de mano puede establecer una conexión inalámbrica a Internet, para conectar el dispositivo de navegación 200 al servidor 302 a través de Internet.
El dispositivo de navegación 200 puede recibir información del servidor 302 mediante descargas de información, que puede ser actualizada periódicamente de manera automática o cuando un usuario conecta el dispositivo de navegación 200 al servidor 302, y/o puede ser más dinámico, tras una conexión constante o frecuente realizada entre el servidor 302 y el dispositivo de navegación 200 a través de un dispositivo de conexión móvil inalámbrico y de una conexión de TCP/IP, por ejemplo. Para muchos cálculos dinámicos, el procesador 304 en el servidor 302 puede ser utilizado para manejar la mayor parte de las necesidades de procesamiento; no obstante, el procesador 210 del dispositivo de navegación 200 también puede manejar mucho procesamiento y cálculo, a menudo de manera independiente de una conexión a un servidor 302.
Tal como se indicó anteriormente en la figura 2, un dispositivo de navegación 200 incluye un procesador 210, un dispositivo de entrada 220 y una pantalla de visualización 240. El dispositivo de entrada 220 y la pantalla de visualización 240 están integrados en un dispositivo integrado de entrada y visualización para permitir la entrada de información (mediante entrada directa, selección de menú, etc.) y visualización de información a través de una pantalla táctil, por ejemplo. Dicha pantalla puede ser una pantalla LCD de entrada táctil, por ejemplo, como es bien conocido por los expertos en la técnica. Además, el dispositivo de navegación 200 también puede incluir cualquier dispositivo de entrada 220 adicional y/o cualquier dispositivo de salida 241 adicional, tal como dispositivos de entrada / salida de audio, por ejemplo.
La figura 4 es una vista, en perspectiva, de un dispositivo de navegación 200. Tal como se muestra en la figura 4, el dispositivo de navegación 200 puede ser una unidad que incluye un dispositivo integrado de entrada y visualización 290 (una pantalla de panel táctil, por ejemplo) y los otros componentes de la figura 2 (incluidos, entre otros, el receptor 250 de GPS interno, el microprocesador 210, una fuente de alimentación, sistemas de memoria 230, etc.).
El dispositivo de navegación 200 puede ser dispuesto sobre un brazo 292, que a su vez puede ser fijado al salpicadero, ventana, etc., de un vehículo utilizando una ventosa 294. Este brazo 292 es un ejemplo de un puesto de acoplamiento en el que el dispositivo de navegación 200 puede ser acoplado. El dispositivo de navegación 200 puede ser acoplado o conectado de otro modo a un brazo 292 del puesto de acoplamiento conectando a presión el dispositivo de navegación 292 al brazo 292, por ejemplo. Para liberar la conexión entre el dispositivo de navegación 200 y el puesto de acoplamiento, se puede presionar un pulsador en el dispositivo de navegación 200, por ejemplo. Otras disposiciones igualmente adecuadas para acoplar y desacoplar el dispositivo de navegación a una estación de acoplamiento son bien conocidas por los expertos en la técnica.
El dispositivo de navegación 200 puede tener un mapa digital almacenado localmente en el recurso de memoria 230, comprendiendo el mapa digital datos indicativos de una pluralidad de segmentos navegables, siendo los segmentos navegables representativos de una red navegable, por ejemplo, una red de carreteras. El mapa digital puede comprender una pluralidad de ubicaciones que pueden ser seleccionadas como destinos navegables, por ejemplo, a los que se puede generar una ruta navegable compuesta por uno o varios segmentos. Las ubicaciones se pueden almacenar de cualquier manera adecuada, por ejemplo, como coordenadas de latitud y longitud y/o haciendo referencia a un segmento o nodo del mapa digital.
Las ubicaciones dentro del mapa digital pueden representar direcciones y, por lo tanto, tener componentes de información de ubicación asociados que incluyen el número de domicilio, el nombre de la calle, el nombre del establecimiento, el país y el código postal que, en conjunto, definen una dirección específica. Las ubicaciones dentro del mapa digital también pueden representar puntos de interés (POI) previamente almacenados, proporcionados por el fabricante o generados por el usuario, que pueden ser destinos “bien conocidos” (tales como ubicaciones famosas, ubicaciones municipales (tales como campos deportivos o piscinas) u otros puntos de interés, tales como restaurantes, bares, tiendas, etc. Estas ubicaciones de POI pueden tener componentes asociados que incluyen uno o varios nombres de POI (por ejemplo, “Museo Británico”), nombre de marca del POI (por ejemplo, “Starbucks”), nombre de categoría del POI y/o código de categoría (por ejemplo, “restaurante” y “7315”) y dirección del POI (incluido el número de domicilio, el nombre de la calle, el nombre del establecimiento, el código postal y el país).
Los registros de datos de ubicación (o documentos) para uno o varios, y preferiblemente todos, los destinos navegables dentro del mapa digital se almacenan localmente en el recurso de memoria 230 (además de los datos del mapa digital). Cada registro de datos tiene un identificador de registro asociado, lo que permite que cada registro sea identificado de manera única. El identificador de registro puede comprender una primera porción y una segunda porción: siendo la primera porción una referencia de ubicación, que puede tener la forma de un código de Morton, y que identifica una región geográfica del mapa digital que contiene la ubicación; y siendo la segunda porción un puntero o referencia hacia la información asociada con el destino navegable, por ejemplo, nombre de la calle, país, nombre del POI, categoría del POI, etc., que está situado en el mapa digital. Se apreciará, no obstante, que, en lugar de un puntero hacia la información de ubicación asociada con el destino navegable, uno o varios de los registros de datos de ubicación pueden contener la información de ubicación real, por ejemplo, nombre de la calle, país, nombre del POI, categoría del POI, etc., para el destino navegable.
También se pueden almacenar registros de datos para destinos favoritos o visitados recientemente. Los registros de datos que representan diferentes tipos de ubicación pueden ser almacenados en bases de datos separadas en el almacén. Por ejemplo, direcciones, POI, ubicaciones recientes y ubicaciones favoritas pueden ser almacenadas en bases de datos separadas.
Como mínimo algunos de los registros de datos de ubicación almacenados en el recurso de memoria 230 pueden haber sido proporcionados inicialmente por el fabricante del dispositivo de navegación 200, antes de la primera utilización, ya sea por descarga en el dispositivo en o cerca de su punto de utilización después de la venta del dispositivo 200 al usuario, o por descarga en el dispositivo 200 antes de la venta del dispositivo 200 al usuario. Como mínimo algunos de los registros de datos de ubicación almacenados en el recurso de memoria 230 pueden haber sido proporcionados por el fabricante mediante actualizaciones periódicas después de la primera utilización, por ejemplo, mediante descarga de la red. Como mínimo algunos de los registros de datos de ubicación almacenados en el recurso de memoria 230 pueden haber sido proporcionados por el usuario ya sea por especificación o por introducción manual, o por descarga al dispositivo 200 por parte del usuario.
Motor de búsqueda de texto libre
Las realizaciones de aspectos de la invención dan a conocer un dispositivo tal como el dispositivo de navegación 200, y un método y producto de software informático para accionar un dispositivo de navegación 200 para realizar una búsqueda en el almacén de datos de ubicaciones almacenadas en el recurso de memoria 230 en base a una cadena de búsqueda de texto libre introducida por el usuario, para facilitar, de este modo la determinación de un destino deseado del usuario de una sola cadena de entrada. Ventajosamente, las realizaciones evitan presentar al usuario una pluralidad de solicitudes de información que son necesarias para realizar una técnica de búsqueda guiada conocida. La búsqueda de texto libre de acuerdo con las realizaciones se basa en la búsqueda de uno o varios índices predeterminados y, aunque el índice buscado puede cambiar, los propios uno o varios índices no son cambiados. Por lo tanto, las realizaciones también evitan el problema de que se requiera un procesamiento adicional para modificar el espacio de búsqueda, tal como se experimenta cuando se utiliza una implementación de árbol de datos para una búsqueda de texto libre.
Almacenados en la memoria local 230 del dispositivo 200 existen datos representativos de un índice que asocia palabras contenidas en los registros de datos con los registros en los que aparecen esas palabras. El índice puede ser generado localmente en el dispositivo o, de manera remota, en un servidor que a continuación es descargado al dispositivo, o ambos. Cuando el almacén contiene bases de datos separadas de registros de datos, se pueden generar índices separados para cada base de datos. Por lo tanto, se pueden generar índices separados en base a la región geográfica (por ejemplo, para países, estados o similares, en concreto) y/o tipo de ubicación (por ejemplo, dirección, POI, etc.).
El índice es una lista de todas las palabras contenidas en todos los registros de datos de ubicaciones almacenados en el almacén 230. Para cada palabra, tiene entradas de registros de datos que contienen esa palabra. Los registros son almacenados en el índice como tuplas que relacionan la palabra con los ID de documento de los documentos que contienen esa palabra. Los documentos son bien direcciones o bien POI.
Tal como se explicó anteriormente, los registros de datos pueden representar una dirección o un punto de interés (POI) y pueden contener datos representativos de uno o varios de los siguientes componentes: nombre de calle; nombre de plaza; código postal; código de país; nombre del POI; nombre de la marca del POI; dirección del POI; código de categoría del POI.
La Tabla 1 que se incluye a continuación muestra un ejemplo simplificado de registros de datos que representan direcciones.
Tabla 1
Figure imgf000017_0002
El índice de las palabras contenidas en estos documentos (por ejemplo, los componentes del mismo), que forma la base del motor de búsqueda de texto libre, se muestra en la Tabla 2 que se incluye a continuación.
Tabla 2
Figure imgf000017_0001
Tal como se explicó anteriormente, en las realizaciones preferidas, el ID de documento (es decir, el ID de registro) de un registro de datos incluye un código de Morton que, a su vez, proporciona una referencia de ubicación relevante para el mapa digital, por lo que se puede utilizar para localizar la zona / ubicación a la que se refiere el registro de datos. Una segunda porción de cada registro de datos contiene una referencia a los datos relevantes dentro del mapa. De esta manera, se minimiza el tamaño de los archivos para los registros de datos, lo cual es importante a la vista de la limitada capacidad de almacenamiento en los PND típicos. La referencia de la ubicación asociada con cada ID de documento se utiliza cuando se realizan búsquedas alrededor de un llamado “centro de búsqueda” (es decir, una ubicación / ruta utilizada para clasificar los resultados por relevancia para una búsqueda, que se explicará más adelante).
El dispositivo electrónico 200 también tiene almacenado en la memoria 230 un producto de programa informático que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos, hacen que el dispositivo electrónico realice un método 600 de búsqueda de texto libre, explicado haciendo referencia a la figura 6.
Se recibe 601 una consulta de búsqueda, introducida por un usuario en una interfaz de usuario del dispositivo utilizando, por ejemplo, un teclado físico o virtual, o comandos de voz. La consulta de búsqueda incluye una cadena de búsqueda. La cadena de búsqueda es procesada 602 para proporcionar una o varias palabras de búsqueda. El índice es consultado 603 para identificar los registros de datos que contienen la palabra de búsqueda o cada una de ellas. Se genera 604 un intervalo para cada uno de los uno o varios registros de datos identificados indicativos de la relevancia de cada registro de datos identificado para la consulta de búsqueda. Los resultados de la búsqueda pueden ser mostrados 605 en la pantalla en orden de clasificación.
De este modo, determinada una cadena de texto (introducida en el dispositivo 200 por el usuario a través de un teclado físico o virtual, reconocimiento de voz o por otros medios) que puede comprender uno o varios caracteres que puede formar una o varias palabras (palabras que incluyen una cadena de caracteres alfanuméricos delimitada por caracteres de espacio y/o el comienzo y/o el final de la cadena), el motor de búsqueda de texto libre de acuerdo con una realización puede producir uno o varios de los siguientes resultados: direcciones coincidentes; puntos de interés coincidentes (POI); sugerencias de categorías de POI.
El procesamiento de la cadena de búsqueda para proporcionar una o varias palabras de búsqueda se muestra más adelante en la figura 6 El producto de programa informático hace que el dispositivo electrónico, al procesar la cadena de búsqueda, realice uno o varios de los siguientes: dividir la cadena de búsqueda en palabras 602A; normalizar las palabras 602B; identificar y tratar palabras especiales 602C.
Para dividir la cadena de búsqueda en palabras en 602A, todos los caracteres no alfanuméricos son considerados caracteres de separación de palabras. Algunos ejemplos:
1. “Kalverstraat, Amsterdam” es dividido en “Kalverstraat” y “Amsterdam”
2. “s-Gravenhage the Netherlands” es dividido en “s”, “Gravenhage”, “the” y “Netherlands”
Con las palabras individuales se consulta el índice.
Para normalizar las palabras en 602B, se pueden realizar una o varias etapas de procesamiento previstas para tener en cuenta las irregularidades en el contenido de la cadena de búsqueda. Los propósitos de la normalización incluyen: permitir errores ortográficos; y soportar abreviaturas por ejemplo “c.”, “c/” o “cl.” para “calle”.
La búsqueda de palabras en el índice exige que la palabra tenga exactamente la misma ortografía que está almacenada en el índice. Un error de ortografía menor hace que la búsqueda falle. Por lo tanto, si el usuario escribió “Kalverstrat” en lugar de “Kalverstraat” y no se utilizó la normalización, entonces no se encontrarían coincidencias ya que la palabra “Kalverstrat” no está en el índice.
Para permitir errores ortográficos menores, las propias palabras no se almacenan en el índice. En su lugar, se almacena una forma normalizada de las palabras. Para consultar el índice con las palabras de la entrada del usuario, primero se normalizan las palabras. La idea detrás de la normalización es que diferentes errores ortográficos tienen la misma forma normalizada y, por lo tanto, se encuentran documentos coincidentes para estos diferentes errores ortográficos.
Una ventaja adicional de almacenar solo versiones normalizadas de las palabras es que el tamaño del índice es más pequeño que si se hubiera almacenado la versión de texto de entrada de las palabras. Ventajosamente, se requiere menos almacenamiento de datos para el índice y los requisitos de procesamiento para realizar una búsqueda también se reducen por el índice más pequeño. Las reglas de normalización que se utilizan para generar el índice a partir de los registros de datos almacenados son preferiblemente las mismas que se utilizan para procesar la cadena de búsqueda en el dispositivo cuando se recibe la consulta de búsqueda de texto libre.
La normalización puede incluir uno o varios de los siguientes:
• convertir todas las letras a minúsculas, por ejemplo “A” se convierte en “a”;
• eliminar los acentos de las letras, por ejemplo “ü” se convierte en “u”;
• reemplazar una secuencia de la misma letra por una sola letra, por ejemplo, “nn” se convierte en “n” (téngase en cuenta que esto solo afecta a letras, no a dígitos);
• reemplazar letras simples con otras letras (véase a continuación);
• la etapa anterior puede producir secuencias de la misma letra (nuevamente, estas secuencias son reemplazadas por una sola letra);
• reemplazar palabras y abreviaturas con abreviaturas estándar, por ejemplo, “calle” es convertida en “c.”, “c/” o “cl.”.
A continuación, se describe el proceso de reemplazo de secuencias por una sola letra.
Esto se hace con todas las secuencias encontradas desde la posición de la letra 1 en una palabra (la primera letra está en la posición 0). Una secuencia que comienza en la primera letra no se reemplaza. La razón es que el cambio de letras al comienzo de una palabra dará lugar a coincidencias no lógicas.
La posición inicial en la que se reemplazan las secuencias se almacena en el índice.
A continuación, se describe el proceso de eliminación de acentos.
El reemplazo de un carácter no acentuado es la misma letra base que el carácter acentuado. Además, existen algunos casos especiales que oficialmente no son caracteres acentuados, pero que pueden ser tratados como tales. A continuación, se describe el proceso de reemplazo de letras.
Para permitir errores ortográficos de una sola letra, algunas letras son reemplazadas por otras. La razón es que unas letras tienen una pronunciación similar y, por lo tanto, las personas pueden escribir fácilmente la letra incorrecta (téngase en cuenta que la técnica de normalización descrita en el presente documento es independiente del idioma). Por lo tanto, las letras que suenan de manera similar en un idioma pueden no hacerlo en otro idioma. Para la normalización, eso realmente no importa, ya que el objetivo es asignar múltiples ortografías a una sola forma. El algoritmo de clasificación favorecerá la ortografía correcta sobre los errores ortográficos.
Las reglas de reemplazo se basan en los datos del índice. Las reglas de reemplazo se muestran en la Tabla 3.
Tabla 3
Figure imgf000019_0001
El número “empezar desde” es la posición de la letra desde la cual empezar a hacer reemplazos. La primera letra de la palabra está en la posición 0. Las letras antes de la posición “empezar desde” no se cambian. La razón es que letras cambiantes al principio de una palabra conducirán a coincidencias no lógicas.
A continuación, se describe un ejemplo de normalización:
1. La palabra a normalizar es “Oosterdoks straat”
2. Las minúsculas dan lugar a “oosterdoks straat”
3. No hay acentos que eliminar
4. Reemplazar secuencias por letras simples (comenzando desde la posición 1) da lugar a “oosterdokstrat” 5. Reemplazar caracteres individuales utilizando las reglas anteriores da lugar a “oostartakstrat”.
A continuación, se describe el proceso de normalización de abreviaturas.
Algunas palabras pueden estar abreviadas. Una palabra puede estar abreviada en el mapa digital o una palabra puede estar abreviada en la entrada del usuario. Una abreviatura debe tener el mismo efecto que una palabra completa. Por lo tanto, si el usuario escribe una abreviatura, debe coincidir con la palabra completa en el mapa digital o bien, si el usuario escribe una palabra completa, debe coincidir con su abreviatura en el mapa. Ejemplos de abreviaturas:
Tabla 4
Figure imgf000020_0001
Se pueden abreviar varias palabras a una sola abreviatura, por ejemplo, “aan de” se abrevia como “ad” (términos en neerlandés).
Para hacer que las abreviaturas coincidan con las palabras completas, las palabras completas son reemplazadas por las abreviaturas en el índice. En la entrada del usuario, el motor de búsqueda reemplaza las palabras completas con la abreviatura antes de consultar el índice.
Sin embargo, el proceso de reemplazar palabras completas con una abreviatura es más complicado que esto, porque las mismas palabras escritas pueden tener diferentes abreviaturas en diferentes idiomas. Por ejemplo, la palabra “avenue” se abrevia como “ave” en inglés. Pero se abrevia como “av” en francés.
Para resolver este problema, la normalización se realiza a la abreviatura más corta.
Para identificar y tratar palabras especiales en 602C, la entrada se analiza para encontrar palabras especiales que comprendan uno o varios de: códigos / nombres de países; números de domicilio (solo para búsqueda de direcciones); nombres de categorías de POI (solo para búsqueda de POI).
A continuación, estas palabras especiales son tratadas mediante uno o varios de: conversión de nombres y códigos de países en códigos estándar de países; eliminar los números de los domicilios; identificar palabras que corresponden a categorías de puntos de interés (POI); y reemplazar con un código de categoría de POI.
Si la cadena de búsqueda completa es un nombre de categoría de POI o un prefijo de un solo nombre de categoría de POI, la consulta de búsqueda se genera para los registros de la categoría de POI. Si la cadena de búsqueda completa incluye más de una palabra y comienza con un nombre de categoría de POI, se generan dos consultas de búsqueda que se generan de la siguiente manera: una primera consulta, en la que el nombre de la categoría de POI es proporcionado como una palabra de búsqueda; una segunda consulta, en la que el nombre de la categoría de POI es reemplazado por un código de categoría de POI.
Cada una de estas palabras especiales necesita un tratamiento especial, ya que no forman parte del índice. Por ejemplo: en lugar de nombres de categorías de POI, el índice contiene el código numérico de la categoría del POI; los números de los domicilios no están en el índice; y para los países, el código ISO de 3 letras está en el índice, pero el código de 2 letras y los nombres completos también deberían funcionar.
A continuación, se describe el proceso de detección de código / nombre de país.
El motor de búsqueda puede reconocer los códigos y nombres de países solamente al final de la entrada del usuario. La limitación para detectar códigos y nombres de países al final de la entrada del usuario solo se hace para limitar el número de ambigüedades. Lo que parece un código de país o un nombre, puede no ser un código de país o un nombre:
1. El nombre de una calle podría ser el mismo que el nombre de un país
2. Una palabra podría ser la misma que un código de país, por ejemplo “De Pol” es el nombre de un pueblo en Holanda, pero POL es también el código de país de 3 letras para Polonia. “USA Today” podría ser el nombre de un POI, pero “USA” también es un código de país.
Si el final de la entrada del usuario puede ser un nombre / código de país, el motor de búsqueda realiza dos consultas: una vez con la entrada del usuario como es; y, una vez con la entrada del usuario donde el nombre / código del país es reemplazado por el código ISO de 3 letras. Por ejemplo:
1. El usuario introduce “vapiano, germany”
2. El motor de búsqueda ejecuta las siguientes consultas “vapiano germany” y “vapiano deu”
En los ejemplos anteriores no se describió la normalización de la entrada del usuario en aras de la claridad. El motor de búsqueda también estaría configurado para normalizar la entrada del usuario antes de realizar la búsqueda. A continuación, se describe el proceso realizado para los nombres / códigos reconocidos.
El motor de búsqueda reconoce los siguientes nombres y códigos: códigos ISO de 3 letras (por ejemplo, NLD, DEU, FRA); códigos de 2 letras (por ejemplo, NL, DE, FR); y nombres completos en cualquier idioma de la interfaz de usuario (por ejemplo, “The Netherlands”, “Nederland”, “Pays-Bas”, “Holanda”).
Los nombres de los países son reconocidos en todos los nombres de países, independientemente del idioma de la interfaz de usuario. Un usuario puede copiar una dirección de alguna fuente (por ejemplo, una tarjeta de presentación) que muestra el nombre del país en otro idioma que no sea el idioma de la interfaz de usuario.
A continuación, se describe el proceso realizado para los números de domicilio.
Los números de domicilio no se almacenan en el índice de direcciones. Una calle puede tener muchos números de domicilios. El almacenamiento de todos los números de domicilios individuales en el índice aumentaría enormemente el tamaño del índice y la capacidad de procesamiento requerida para realizar una búsqueda en el índice. Por lo tanto, el motor de búsqueda, en primer lugar, elimina un número de domicilio de la entrada del usuario, antes de consultar el índice. A continuación, cuando se encuentran las calles, se resuelven los números de domicilio para esas calles.
Preferiblemente, si un POI tiene una dirección completa que se puede buscar, un número de domicilio con esta dirección completa se almacena en el índice.
Puede haber ambigüedades, y lo que parece un número de domicilio podría no ser un número de domicilio. Por ejemplo, el nombre de una calle puede contener un número, por ejemplo “Calle 42”.
Para detectar números de domicilio, el motor de búsqueda hace lo siguiente:
1. Supone que no hay un número de domicilio en la entrada del usuario y consulta el índice con la entrada completa del usuario.
2. Si no se encuentran coincidencias, verifica si la entrada del usuario contiene una palabra que tiene una parte numérica. Si es así, elimina esta palabra de la entrada y vuelve a consultar el índice.
3. Si encuentra una coincidencia, resuelve el número de domicilio a partir de la entrada del usuario.
Si la entrada del usuario contiene múltiples palabras con números, entonces todas pueden ser posibles candidatos a números de domicilio. Todos estos se prueban uno tras otro, por ejemplo, primero descarta al primer candidato, luego descarta al segundo candidato (sin descartar el primer candidato), y así sucesivamente.
A continuación, se describe el proceso para resolver un número de domicilio:
1. Verificar si el número de domicilio existe en la calle correspondiente. Si no es así, sugerir un número de domicilio cercano (cercano en el sentido numérico)
2. Obtener una coordenada (lat / lon) para el número del domicilio.
A continuación, se describe el proceso para los nombres de las categorías de POI.
El motor de búsqueda reconoce los nombres de las categorías de POI solo al comienzo de la entrada del usuario. Esta limitación se hace para minimizar la complejidad y las ambigüedades. Una (parte) del nombre de una categoría de POI puede no ser un nombre de categoría de POI.
El motor de búsqueda reconoce el nombre principal de una categoría de POI y los sinónimos de estos nombres principales. Los nombres principales y los sinónimos están almacenados en el mapa. Cuando se encuentra una coincidencia en un sinónimo, la sugerencia contendrá tanto el nombre principal de la categoría de POI como el sinónimo.
Un “sinónimo” puede ser cualquier nombre asociado con el nombre de la categoría de POI, por ejemplo “café” está puesto en el mapa como sinónimo de “restaurante”. Cuando el usuario escribe uno de estos nombres asociados, el motor de búsqueda le indicará una sugerencia para buscar la categoría de POI asociada que no es exactamente lo que el usuario pidió, pero es mejor que nada.
Si se encuentra un nombre de categoría de POI, entonces el motor de búsqueda puede hacer varias cosas que incluyen: generar sugerencias; realizar una consulta de ventana de POI; y realizar una consulta de FTS con un código de categoría de POI.
Ahora que se ha procesado la cadena de búsqueda recibida y se ha generado un grupo de una o varias palabras de búsqueda, se consulta 603 el índice para identificar los registros de datos que contienen la palabra de búsqueda o cada una de ellas. Para cada palabra de búsqueda, se encuentra el conjunto de registros coincidentes del índice. A continuación, se determina la intersección de los conjuntos de registros para proporcionar los registros que coinciden con todas las palabras.
Volviendo al ejemplo simplificado que se muestra en la Tabla 1 citada anteriormente, y al índice de las palabras que se muestran en la Tabla 2 (téngase en cuenta que, para simplificar, este índice de ejemplo no ha sido normalizado), para encontrar coincidencias para la entrada del usuario “Kalverstraat, Amsterdam”, la entrada se divide en las palabras “Kalverstraat” y “Amsterdam.
1. “Kalverstraat” coincide con los documentos 1 y 3
2. “Amsterdam” coincide con los documentos 1 y 2
3. La intersección de estas coincidencias es el documento 1, es decir, la dirección “Kalverstraat, Amsterdam, NLD”. De este modo, la consulta del índice devuelve el documento 1. Claramente, este es el resultado correcto.
Tal como se indicó anteriormente, hay un caso especial en el que una cadena de búsqueda contiene un nombre de categoría de POI.
A continuación, se describe el proceso que se realiza cuando la entrada de usuario completa es un nombre de categoría de POI.
Si la entrada de usuario completa es un nombre de categoría de POI o el prefijo de un solo nombre de categoría de POI, se realiza una búsqueda de POI en la categoría de POI. Ejemplos de entrada de usuario a los que se aplica esto son: restaurante; y ferrocarril (el nombre completo de la categoría es “estación de ferrocarril”, pero no hay otros nombres de categoría que comiencen con “estación”).
Si un centro de búsqueda (es decir, una ubicación / ruta utilizada para clasificar los resultados por relevancia para una búsqueda, que se explicará más adelante), se realiza una consulta en la ventana de categoría de POI alrededor del centro de búsqueda.
Si no se define ningún centro de búsqueda, se realiza una consulta con el código de categoría numérico (el índice contiene el código de categoría numérico para un POI).
A continuación, se describe un proceso para una sugerencia de categoría de POI.
Además de consultar el índice, las sugerencias de categoría de POI están creadas para todos los nombres / sinónimos de categoría de POI coincidentes.
A continuación, se describe el proceso que se realiza cuando la entrada del usuario comienza con un nombre de categoría de POI.
Si la entrada del usuario comienza con un nombre de categoría de POI, se realizan dos consultas:
1. Una consulta con la entrada del usuario tal cual
2. Una consulta en la que el nombre de la categoría de POI ha sido reemplazado por su código de categoría numérico.
A continuación, se describe el proceso para realizar una sugerencia de categoría de POI con indicación de dirección. Además de consultar el índice, se crea una sugerencia de categoría de POI. El texto de entrada del usuario que viene después del nombre de la categoría se utiliza como entrada para el motor de búsqueda de direcciones. Si ese texto proporciona uno o varios resultados de direcciones coincidentes, estos resultados de direcciones se convierten en las direcciones para la sugerencia de categoría de POI. Por ejemplo:
1. La entrada es “restaurante paris”.
2. La cadena “paris” se utiliza como entrada para el motor de búsqueda de direcciones.
3. El primer resultado es el centro de la ciudad “París, FRA”.
4. Este resultado se convierte en la primera dirección en la lista de direcciones para la sugerencia de “restaurante”. Si la cadena después del nombre de la categoría no da ningún resultado de dirección coincidente, entonces no se crea ninguna sugerencia. Por ejemplo, la entrada “restaurante vapiano” no da ninguna sugerencia de categoría de POI con una indicación de dirección.
Una vez que se ha consultado el índice con la cadena de búsqueda procesada y se ha identificado un conjunto de registros de datos coincidentes, esos resultados son clasificados 604 por su relevancia. Al generar una clasificación para cada registro de datos, el dispositivo 200:
- calcula una puntuación para cada registro;
- clasifica los registros en base a sus puntuaciones;
- si dos registros tienen la misma puntuación, su orden de clasificación es resuelto en base a la distancia desde un centro de búsqueda, si está disponible, de lo contrario, el orden de clasificación de los dos registros es aleatorio.
Para calcular una puntuación de clasificación para cada registro, el dispositivo 200 comienza con una puntuación inicial (en esta realización, 1000) y realiza una o varias de las siguientes acciones:
- restar una penalización de la puntuación por cada palabra contenida en la cadena de búsqueda que no coincide exactamente con una palabra contenida en el registro de datos;
- restar una penalización de la puntuación por una diferencia estructural entre las palabras de búsqueda dispuestas en la cadena de búsqueda y cómo aparecen las palabras en el registro de datos, incluido el orden incorrecto de las palabras y los espacios entre palabras;
- restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda;
- sumar una bonificación a la puntuación para el registro de datos indicado como coincidencias importantes; - sumar una bonificación / penalización a la puntuación en base a la distancia desde la posición actual del dispositivo, para elevar más resultados locales a niveles más altos en la clasificación (la mayoría de los viajes se realizan dentro del rango de 75 km).
Aquí es importante tener en cuenta que, mientras que las palabras separadas de la cadena de búsqueda se normalizan para realizar consultas para encontrar registros coincidentes utilizando el índice, cuando se clasifican los registros coincidentes, son las palabras separadas sin formato, no normalizadas de la cadena de búsqueda las que se comparan con los componentes sin procesar de cada registro de datos.
A continuación, se describe el proceso para determinar las penalizaciones de palabras.
Para cada palabra en la entrada del usuario, se encuentra una palabra coincidente en el documento coincidente. Si las palabras son idénticas, entonces es una coincidencia perfecta y la palabra no recibe penalización.
Si las palabras no son idénticas, se aplican las penalizaciones. Las penalizaciones por todas las palabras se suman entre sí. Esta es la penalización total por palabra.
A continuación, se describe el proceso para determinar las penalizaciones estructurales.
Una vez calculada la penalización de las palabras, se suma una penalización por desajustes estructurales. Tal como se mencionó anteriormente, las direcciones y los POI consisten en varios componentes que incluyen, por ejemplo: nombre de calle; nombre de plaza; código postal; código de país; nombre de POI; nombre de marca de POI; dirección de POI.
Algunos de estos componentes pueden tener múltiples nombres, por ejemplo, una ciudad puede tener nombres en varios idiomas. El análisis estructural busca con qué componentes coinciden las palabras de la entrada, con qué nombres coinciden y en qué orden. Coincidencias ilógicas reciben penalizaciones. Coincidencias muy ilógicas pueden recibir una penalización máxima, y serán descartadas por completo.
Para cada palabra en la entrada del usuario a partir de la segunda, se hace una comparación con las palabras anteriores. Para cada penalización se da una breve explicación a continuación:
- Saltar hacia adelante y hacia atrás entre componentes
Por ejemplo, si la primera palabra de entrada coincide con una palabra en el nombre de una calle, la segunda palabra de entrada con una palabra en el nombre de la ciudad para esa calle y la tercera palabra vuelve a coincidir con una palabra en el nombre de la calle, las coincidencias saltan de un lado a otro entre los componentes. Dicha coincidencia es descartada por completo.
- Cambiar a otro componente
Si una palabra coincide con una palabra en el nombre de plaza, mientras que la palabra anterior coincide con una palabra en el nombre de calle, entonces eso es un cambio a un nuevo componente. Esto no es incorrecto, pero se penaliza para favorecer las coincidencias que tienen una secuencia más larga de palabras consecutivas dentro de un único componente.
- Cambio de nombre dentro de un componente
Si un componente tiene múltiples nombres, las palabras de la entrada pueden coincidir con estos múltiples nombres. Una coincidencia con múltiples nombres no parece lógica y, por lo tanto, recibe una penalización grande. Una excepción a esta regla son los nombres de zona.
- El orden de las palabras en los nombres de las calles y los nombres de lugares
El orden de las palabras en los nombres de calles y los nombres de plazas es bien conocido, por lo tanto, se filtra completamente
- Falta de coincidencia de orden en otros componentes
El orden de las palabras en otros componentes, por ejemplo, los POI, podría no estar bien definido. A esto se le aplica una penalización por la falta de coincidencia.
- Coincidencia de espacios
Dos palabras subsiguientes coinciden con el mismo componente, pero hay palabras entre ellas que no coinciden. La penalización estructural por cada palabra se suma a la penalización total de palabras.
A continuación, se describe el proceso para una penalización de palabra no coincidente.
Si hay una coincidencia de palabras en un componente, se puede aplicar una penalización si no se dan todas las palabras para ese componente. Esta penalización no se aplica a todas las coincidencias de componentes.
Se puede aplicar una bonificación que sea específica para direcciones y los POI.
A continuación, se describe el proceso de múltiples maneras de hacer coincidir palabras.
Todos los cálculos de penalización implican comparar una palabra de la entrada del usuario con una palabra de un documento. Tanto la entrada del usuario como un documento pueden contener una palabra múltiples veces. Por lo tanto, hay diferentes maneras de hacer coincidir palabras de la entrada del usuario con palabras del documento. El algoritmo de clasificación intenta todas las coincidencias posibles y la que produce la puntuación más alta es la puntuación para la coincidencia.
Cuando el registro coincidente representa una dirección, calcular una puntuación de clasificación para un registro que representa una dirección incluye las siguientes etapas:
- no clasificar el registro de datos si no hay una palabra de búsqueda que coincida con una palabra en el índice contenido en el nombre de la calle del registro de datos;
- si la entrada del usuario contiene un número de domicilio, debe estar delante o detrás del nombre de la calle;
de lo contrario, el registro de datos coincidente no es clasificado;
- si hay un centro de búsqueda, ajustar una o varias de las penalizaciones para: suprimir las penalizaciones por registros de datos relativamente cerca del centro de búsqueda, o aumentar las penalizaciones para los registros de datos relativamente distantes del centro de búsqueda, o ambos. Esto es para dar mayor prioridad a las coincidencias cercanas. Por ejemplo, si un usuario busca “estación central” y está cerca de una calle llamada “estación central Amsterdam” (estación central Amsterdam), es muy poco probable que el usuario busque una coincidencia exacta en Inglaterra donde hay una calle llamada “estación central”. Por lo tanto, es mejor mostrar en primer lugar el resultado de búsqueda más cercano;
- sumar una bonificación a la puntuación si hay una coincidencia de palabras con un centro de establecimiento, dependiendo del tamaño del centro de establecimiento y de la distancia del centro de establecimiento desde un centro de búsqueda, si existe.
Si el registro coincidente representa un punto de interés (POI), el cálculo de una puntuación de clasificación para un registro que representa una dirección incluye las siguientes etapas:
- no clasificar el registro de datos si no hay una palabra de búsqueda que coincide con una palabra en el índice contenido en uno de los componentes del registro de datos que representa el nombre del POI, el nombre de la marca del POI o la categoría del POI;
- si hay un centro de búsqueda, no restar una penalización de la puntuación por cada palabra no coincidente contenida en un componente para el que hay una palabra que coincide con una palabra de búsqueda. De esta manera, la distancia le da un peso importante a la clasificación;
- si no hay un centro de búsqueda, se resta una penalización a la puntuación por cada palabra no coincidente contenida en un componente del registro de datos que representa el nombre del POI o el nombre de la marca del POI para el que hay una palabra que coincide con una palabra de búsqueda. Estas penalizaciones no se suman, sino que el mínimo de ambas se toma como la penalización total de palabras no coincidentes;
- si no hay un centro de búsqueda, restar una penalización de la puntuación, si no hay una palabra de búsqueda que coincida con una palabra en el índice contenido en el nombre del POI o el nombre de la marca del POI. Esto es para asegurarse de que otras coincidencias que tengan una buena coincidencia en el nombre o el nombre de la marca se clasifiquen con una mayor puntuación.
Anteriormente, en el presente documento, se han descrito los procesos que un dispositivo de navegación 200 está configurado para realizar con el fin de determinar la información de destino a partir de una entrada de usuario. La búsqueda de texto libre evita la pluralidad de mensajes que se requieren para una búsqueda guiada. Además, la utilización del índice evita demandas informáticas adicionales que son requeridas por una búsqueda de texto libre basada en árbol de datos.
Cuando se proporcionan una pluralidad de índices, cada base de datos contiene información en relación con tipos concretos de destinos navegables, por ejemplo, direcciones y POI, se apreciará que cada índice debe ser consultado por separado. En algunas realizaciones, ambos índices (y por tanto los registros de datos asociados) se pueden realizar una búsqueda en paralelo. Sin embargo, debido a las restricciones de procesamiento que se encuentran normalmente en los dispositivos móviles, los índices a menudo deberán buscarse en secuencia. En algunas realizaciones, el índice de “dirección” se busca en primer lugar por defecto, y, a continuación, el índice de “POI”; lo que significa que los resultados de la dirección aparecerán primero en el dispositivo, antes de los resultados del POI. Sin embargo, esto se puede revertir en ciertas situaciones, si la heurística indica que el usuario probablemente está buscando un POI en lugar de una dirección.
Para acelerar aún más la búsqueda, y tal como se mencionó brevemente con anterioridad en el presente documento, se pueden crear una pluralidad de índices para regiones geográficas concretas dentro de toda la zona geográfica representada por el mapa digital asociado. Por ejemplo, si el mapa digital representa a Europa, se puede crear un índice para cada país de Europa. De manera similar, si el mapa digital representa a los Estados Unidos de América, se puede crear un índice para cada estado dentro de los EE. UU. Esto puede acelerar la búsqueda porque, por ejemplo, ciertos índices pueden ser excluidos de la búsqueda si no contienen la combinación concreta de letras que se buscan. Por ejemplo, si el usuario escribe “oo” en una cadena de entrada de búsqueda, solo un subconjunto de las bases de datos puede contener entradas que comiencen con esta combinación. Estas bases de datos se pueden marcar y luego, cuando se escribe una tercera letra, solo es necesario realizar una búsqueda en el subconjunto de bases de datos. Se puede almacenar un archivo adicional asociado con cada índice identificando combinaciones concretas de letras que están o no en la base de datos. Se puede realizar una búsqueda, en primer lugar, en este archivo lateral, para incluir o excluir índices concretos de la búsqueda posterior.
Interfaz de usuario de búsqueda de texto libre que incluye sugerencias de búsqueda
Las realizaciones de aspectos de la invención proporcionan un dispositivo electrónico tal como el dispositivo de navegación 200, y un método y un producto de software informático para accionar un dispositivo de navegación 200, para facilitar al usuario la búsqueda en un almacén de datos de ubicaciones mediante la generación y la visualización de sugerencias de búsqueda que pueden ser seleccionadas en base a una cadena de búsqueda de texto libre de entrada de usuario. La búsqueda realizada puede estar utilizando un motor de búsqueda de texto libre de otros aspectos de la invención, tales como las realizaciones a modo de ejemplo descritas anteriormente.
Al proporcionar sugerencias de búsqueda que pueden ser seleccionadas en respuesta a la entrada del usuario durante la generación de una consulta de búsqueda, se realiza una búsqueda rápida y precisa que permite al usuario encontrar fácilmente una ubicación, lugar o dirección utilizando una interfaz de usuario de búsqueda de una sola línea. La experiencia del usuario se mejora, ya que las sugerencias y los resultados de la búsqueda se muestran a medida que se introduce la entrada de usuario.
Haciendo referencia a continuación a la figura 7, la memoria 230 del dispositivo 200 contiene un producto de programa informático que incluye instrucciones para facilitar al usuario la búsqueda de registros de datos, y en el que se realizan las siguientes etapas. Una cadena de búsqueda de texto libre es monitorizada 701 a medida que es introducida por un usuario del dispositivo. A continuación, en base a la cadena de búsqueda tal como es introducida: se consulta 702 el almacén de datos para obtener registros coincidentes; y se generan 703 sugerencias seleccionables por un usuario para ajustar la búsqueda. La consulta del almacén de datos realizada en la etapa 702 puede ser mediante la utilización del motor de búsqueda de texto libre descrito anteriormente en relación con la figura 6. Como mínimo algunos de los registros coincidentes y las sugerencias son mostrados 704 en la pantalla 240. En respuesta a la recepción de una entrada de usuario que indica una selección 705 de una sugerencia coincidente, la búsqueda es ajustada de acuerdo con dicha sugerencia, y la consulta 702 de búsqueda se ejecuta de nuevo. En respuesta a la recepción de la entrada de usuario que indica una selección 706 de un registro coincidente, el proceso finaliza; de lo contrario, en respuesta a la recepción de la entrada del usuario en relación con la cadena de búsqueda de texto libre 707, el proceso vuelve al inicio.
Para habilitar el accionamiento del dispositivo 200 para implementar la funcionalidad de búsqueda citada anteriormente, la memoria 230 comprende instrucciones para proporcionar al usuario una interfaz de usuario. En la figura 8 se muestra una descripción general de una interfaz de usuario 800 a modo de ejemplo mostrada durante una operación de búsqueda de acuerdo con una realización.
Haciendo referencia a la figura 8, la interfaz de usuario comprende una primera vista 810 para recibir la entrada del usuario para la búsqueda, una segunda vista 820 correspondiente a dicha primera vista en la que los resultados de la búsqueda se muestran en una vista completa, y una tercera vista 830 en la que los resultados de la búsqueda se muestran en relación con un mapa digital (una descripción más detallada de la vista 830 del mapa se presenta más adelante en el presente documento).
La vista 810 de entrada de usuario incluye uno o varios de:
- una casilla de introducción 811, para recibir una cadena de búsqueda de texto libre de entrada de usuario que, cuando es seleccionada, muestra un signo de intercalación, o un cursor de introducción de texto;
- un teclado virtual 812 (teclas individuales no mostradas, por sencillez) que aparece cuando la casilla de introducción 801 está seleccionada o activa, de tal manera que la introducción de texto utilizando el teclado virtual 812 se muestra a la izquierda del signo de intercalación. El dispositivo 200 incluye una superposición de pantalla táctil que el usuario puede utilizar para interactuar con el teclado virtual 812 con el fin de escribir caracteres en la casilla de introducción para generar la cadena de búsqueda;
- una primera columna 813, para mostrar elementos de la GUI seleccionables que representan registros de datos clasificados que representan direcciones que coinciden con la consulta de búsqueda actual y sugerencias de búsqueda relacionadas con direcciones en base a la consulta de búsqueda actual;
- una segunda columna 814, para mostrar elementos de la GUI seleccionables que representan registros de datos clasificados que representan POI que coinciden con la consulta de búsqueda actual y sugerencias de búsqueda relacionadas con POI en base a la consulta de búsqueda actual;
- un pulsador 815 seleccionable, que hace que el teclado virtual 812 se cierre / abra de tal manera que la vista cambie a la vista de lista 820, en la que los resultados de la búsqueda y las sugerencias de búsqueda se muestran en su totalidad como una lista desplazable;
- un elemento de la GUI 816 seleccionable, a la derecha de la casilla de introducción 811 del usuario, que muestra una indicación de un centro de búsqueda actual;
- un elemento de la GUI 817 seleccionable, para enviar una consulta a través de una conexión inalámbrica para obtener resultados encontrados por una búsqueda realizada por otro dispositivo. Esta opción solo estaría disponible si el dispositivo de navegación 200 estuviera adecuadamente habilitado para operación inalámbrica, y una conexión inalámbrica estuviera disponible. Los resultados recibidos a través de la conexión inalámbrica se muestran como una nueva vista de lista (es decir, los resultados no se combinan con los resultados integrados en el dispositivo) y se muestran a medida que entran. Al tocar el pulsador Atrás, se mostrarán nuevamente los resultados estáticos (desde el dispositivo integrado).
La primera 813 y la segunda 814 columnas pueden ser desplazadas juntas o por separado, por ejemplo, por el usuario que realiza un deslizamiento o un gesto de arrastre en la pantalla de tal manera que los registros de datos coincidentes y las sugerencias de búsqueda se pueden leer.
La vista de lista 820 incluye muchos de los elementos de la GUI de la vista de entrada 810 y, adicionalmente, un elemento de la GUI 818 seleccionable para cambiar entre la vista de lista 820 y la vista de mapa 830. Al cambiar a la vista de mapa, las ubicaciones de la dirección y los resultados de búsqueda de POI se muestran en la primera 813 y la segunda 814 columnas, que se indicarán en un mapa digital que se mostrará en la pantalla. Tal como se explicará con más detalle a continuación, se utilizan una pluralidad de elementos de la GUI que tienen diferentes niveles de importancia para indicar las ubicaciones de los resultados de la búsqueda. Se puede seleccionar uno o varios de los elementos de la GUI para proporcionar al usuario más información acerca de los resultados.
Cuando la interfaz de usuario 800 se muestra por primera vez en la vista de entrada 810 o en la vista de lista 820, de tal manera que ninguna cadena de búsqueda es introducida en la casilla de introducción 811, los elementos de la GUI que representan los registros de datos correspondientes a direcciones y POI predeterminados (tales como destinos de direcciones recientes, favoritos ordenados por distancia y POI recientes) se muestran en las columnas 813 y 814. La búsqueda monitorizada ‘en tiempo real’ de los registros de datos de ubicación a bordo almacenados en la memoria 230 no puede comenzar hasta que se hayan introducido más de tres caracteres en la casilla de introducción 811. Cuando solo se han introducido uno o dos caracteres, la búsqueda puede ser en relación con las direcciones predeterminadas y POI solo de manera similar a la selección descrita anteriormente.
La selección (por ejemplo, mediante un toque de entrada del usuario en la pantalla táctil) de un elemento de la GUI mostrado en la columna 813 o 814 que representa un registro de datos correspondiente a una dirección o un POI hace que la vista cambie a la vista de mapa 830 con las ubicaciones de los resultados de búsqueda enumerados indicados en un mapa digital. La pantalla se centra en el registro de datos seleccionado con el mapa mostrado en un nivel de detalle correspondiente a un nivel de detalle asociado con el resultado de búsqueda clasificado.
Tal como se ha descrito anteriormente en el presente documento, para ayudar a guiar al usuario hacia un resultado navegable, el dispositivo de navegación 200 proporciona en las columnas 813 y 814 una combinación de resultados y sugerencias seleccionables mientras el usuario introduce texto. Puesto que la cadena de búsqueda de entrada de usuario es monitorizada, y los resultados de la búsqueda y las sugerencias son generados en un proceso de ciclo continuo, los resultados y sugerencias serán adaptados y representados después de cada carácter introducido en la casilla de introducción 811. Por lo tanto, se consulta el almacén de datos para buscar registros de datos coincidentes y se generan sugerencias en respuesta a cada pulsación de tecla o a otra entrada del usuario para adaptar la cadena de búsqueda o el centro de búsqueda, y cada selección de una sugerencia, y la pantalla se actualiza posteriormente para mostrar cualquier registro de datos coincidente y las sugerencias generadas. Los resultados y sugerencias generados pueden ser:
1. Coincidencias de direcciones (estas son coincidencias parciales y completas en el índice del mapa del dispositivo y destinos recientes).
2. Coincidencias de calles agregadas (son más una ayuda de escritura para nombres de calles que son muy comunes, reemplazando el texto parcialmente escrito con el nombre completo de la calle, por ejemplo, High Street, Station Road, Main Street, Church Street, etc.).
3. Coincidencias de POI (son coincidencias parciales y completas en el índice de POI del mapa del dispositivo, favoritos y cualquier conjunto de POI personalizado).
4. Coincidencias de categoría de POI (estas son sugerencias reales que permiten acotar la búsqueda).
5. Coincidencias de sinónimos de categoría de POI (permiten al usuario utilizar palabras de categoría que se ajustan a su modelo mental).
La diferencia clave entre las sugerencias y los resultados es que solo los resultados de las coincidencias del índice de ubicación son navegables.
Las sugerencias de direcciones son obtenidas a partir de coincidencias de direcciones que son devueltas a partir de la búsqueda de entrada en tiempo real. Una sugerencia de dirección es una combinación de nombre de calle y/o de ciudad.
Cuando hay más de tres coincidencias con el mismo nombre de calle, el nombre de la calle se muestra encima del conjunto de nombres de calles idénticos. Al tocar esa sugerencia, se reemplaza la coincidencia parcial con el nombre completo de la calle (ayuda para escribir) y un espacio. (El siguiente o siguientes caracteres introducidos deben reducir la lista de coincidencias de nombres de calles idénticas con ciudades que coinciden con esos caracteres).
Cuando la cadena de búsqueda coincide con el nombre del centro de una ciudad, el centro de la ciudad se muestra como una sugerencia. Tocar esa sugerencia cambia el centro de búsqueda a (en) [centro de la ciudad seleccionada].
Al tocar una coincidencia de dirección, se cambia el centro de búsqueda al centro de la ciudad de la dirección coincidente, se reemplaza cualquier cadena de búsqueda con el nombre de la calle de la dirección coincidente y se coloca un espacio el símbolo de intercalación detrás del nombre de la calle. (Esto depende de la configuración local, por ejemplo, una coincidencia de dirección de EE. UU., Por ejemplo, colocará un espacio antes del nombre de la calle y colocará el signo de intercalación en la primera posición de la casilla de introducción. Por ejemplo, “Oosterdokskade | (en) Amsterdam” o “| Madison avenue (en) New York”).
Cuando el texto sea reemplazado por sugerencias, se utilizarán las mayúsculas y los caracteres especiales presentes en el índice.
Si una dirección no se encuentra en el país actual, se muestra la bandera del país delante de la dirección si hay suficiente estado real. El país actual se determina a partir de los datos de GPS recibidos.
Por lo tanto, las sugerencias de direcciones pueden ser generadas en base a los nombres de calles y/o asentamientos de registros de datos que representan direcciones que coinciden con la cadena de búsqueda. La selección de una sugerencia de dirección que contiene un nombre de asentamiento puede ajustar el centro de búsqueda indicado en el elemento de la GUI 816 para que se corresponda con ese asentamiento, de tal manera que los resultados de la búsqueda se clasifican de acuerdo con ese centro de búsqueda. La selección de una sugerencia de dirección que contenga un nombre de calle puede reemplazar la cadena de búsqueda con el nombre de la calle. Después de seleccionar una sugerencia de dirección que contenga un nombre de calle y un nombre de asentamiento, es posible que se le solicite al usuario que introduzca un número de domicilio en la cadena de búsqueda de texto libre.
La generación de sugerencias de POI a partir de los resultados de POI se describe con más detalle a continuación. Los resultados de POI consisten en coincidencias de índice de POI y coincidencias de categoría de POI. Las coincidencias de POI se pueden encontrar mediante coincidencias de nombre, categoría y dirección. Cuando un resultado de búsqueda devuelve un índice de POI o una coincidencia de categoría, se muestra una sugerencia de categoría de POI en la columna 814.
Puesto que el modelo mental de un usuario puede no estar de acuerdo con la convención de nomenclatura utilizada para las categorías de POI, se añade una lista de sinónimos de categoría de POI de los nombres de categorías principales. Cuando el sistema tiene una coincidencia para un sinónimo, la sugerencia de POI resultante muestra el nombre de la categoría de POI principal con el sinónimo del POI reconocido en la cadena de búsqueda que se muestra entre paréntesis. Esto proporciona un contexto a la sugerencia, ya que en algunos casos el nombre de la categoría difiere bastante (por ejemplo, gas station y petrol station (en inglés) son bastante similares, pero café como sinónimo de restaurante es menos obvio). La sugerencia de sinónimo de POI se comporta de la misma manera que las sugerencias de categoría de POI (padre).
Por lo tanto, se pueden generar sugerencias de POI en base a los nombres, categorías y sinónimos de categorías de registros de datos que representan puntos de interés que coinciden con la cadena de búsqueda. La selección de una sugerencia de POI puede filtrar los registros de datos devueltos por la consulta para incluir solo aquellos que tengan un nombre de POI, una categoría o un sinónimo de categoría de POI que coincida con la sugerencia de POI. La aplicación de un 'filtro' para, por ejemplo, un valor específico para un componente concreto de un registro de datos, tiene el efecto de que la búsqueda solo coincide y devuelve resultados para la clasificación que tienen ese valor específico para ese componente.
Por lo tanto, las sugerencias generadas se pueden utilizar para facilitar el proceso de búsqueda. Las sugerencias ayudan a reducir la consulta de búsqueda, permiten errores de usuario y ajustan la clasificación. De esta manera, el usuario podrá buscar los registros de datos de ubicaciones de manera más amplia, especulativa y de una manera más dirigida, aumentando de este modo la flexibilidad de utilización del dispositivo 200.
La Tabla 5 muestra las operaciones que se pueden realizar cuando se selecciona un resultado / sugerencia.
Tabla 5
Figure imgf000028_0001
Figure imgf000029_0001
A continuación, se describe la visualización de los resultados y sugerencias de acuerdo con una realización.
Preferiblemente, los resultados de búsqueda combinados y las sugerencias generadas en base a la cadena de búsqueda se presentan en la vista de entrada de usuario 810 y la vista de lista 820 de la interfaz de usuario en dos columnas:
1. La columna de direcciones 813 contiene direcciones (calle ciudad del mapa destinos recientes), coincidencias de ciudades y sugerencias de nombres de calles agregadas
2. La columna de POI 814 contiene nombres de POI, direcciones de POI, archivos de POI de terceros (por ejemplo, archivos.ov2 o archivos .csv), favoritos (nombre dirección), sugerencias de categorías de POI Preferiblemente, se debe hacer que un mínimo de cuatro elementos de la GUI que contengan dos líneas de información encaje en el espacio vertical disponible. Algunos pueden quedar ocultos por el teclado que se muestra en la parte inferior en la vista de entrada 810. Los resultados están clasificados en orden de puntuación de clasificación por columna.
Cierre del teclado con el pulsador 815 de alternancia de visualización de la lista / ocultar teclado, estando limitada la lista completa de resultados a 50 resultados navegables (dirección y POI combinados) y otros tipos de sugerencia mezclados.
Haciendo referencia a continuación a la figura 9, a continuación, se describirá un ejemplo específico del funcionamiento del dispositivo a modo de ejemplo, donde una sugerencia de categoría de POI es generada y utilizada en una búsqueda.
En la figura 9 se muestra una vista de entrada de usuario de la interfaz de usuario en la que el usuario ha introducido en la casilla de introducción 911a del usuario la cadena de búsqueda “restaurante amsterdam”. Los resultados de la búsqueda y las sugerencias se muestran debajo de la casilla de introducción 911a del usuario en la columna de dirección 913a y la columna de POI 914a. Una selección de usuario de una sugerencia de categoría de POI “restaurante” 915 generada en base a la cadena de búsqueda hace que la categoría de POI sea añadido como un filtro a la consulta de búsqueda, mostrándose el filtro como un elemento de la GUI 916 a la izquierda de la casilla de introducción 911b de búsqueda. Como resultado de la selección de la sugerencia de categoría de POI, los registros de direcciones son descartados, ya que no corresponden a los POI y, por lo tanto, carecen de un componente o entrada de categoría de POI, por lo que la columna 913b está vacía. La columna 914b, por otro lado, muestra coincidencias de registros de POI dentro de la categoría filtrada.
Haciendo referencia a continuación a la figura 10, a continuación, se describirá un ejemplo específico del funcionamiento del dispositivo a modo de ejemplo donde una sugerencia de ciudad es generada y utilizada en una búsqueda.
En la figura 10, se muestra la vista de entrada de usuario de la interfaz de usuario en la que el usuario ha introducido en la casilla de introducción 1011a del usuario la cadena de búsqueda “Lond”. Los resultados de búsqueda clasificados y las sugerencias se muestran debajo de la casilla de introducción 1011a del usuario en la columna de dirección 1013a y en la columna de POI 1014a. Esto incluye coincidencias parciales de palabras, y la sugerencia de ciudad 1015 para “Londres” es generada en base a la cadena de búsqueda, y aparece en la columna 1013a. Una selección de usuario de la sugerencia de ciudad 1015 hace que se borre la entrada del usuario (como mínimo de la palabra coincidente) de la casilla de introducción 1011b y el centro de búsqueda se cambia de “cerca de mí” como en 1016a a “en Londres” como en 1016b. Como resultado de la selección de la sugerencia de ciudad, la dirección y los registros de puntos de interés que se muestran en las columnas 1013b y 1014b se clasifican de acuerdo con Londres como centro de búsqueda. Como la casilla de introducción 1011b del usuario en la figura 10 está vacía, los registros predeterminados se muestran nuevamente en las columnas 1013b y 1014b, clasificados esta vez con Londres como centro de búsqueda. La entrada de entrada de texto adicional en la casilla de introducción 1011b hace que los registros de direcciones y puntos de interés coincidan con esa entrada y sugerencias en base a qué entrada se mostrará en las columnas 1013b y 1014b clasificadas con Londres como el centro de búsqueda.
Haciendo referencia a continuación a la figura 11, a continuación, se describirá un ejemplo específico del funcionamiento del dispositivo a modo de ejemplo donde una sugerencia de dirección es generada y utilizada en una búsqueda.
En la figura 11, se muestra la vista de entrada de usuario de la interfaz de usuario en la que el usuario ha introducido en la casilla de introducción 1111a del usuario la cadena de búsqueda “oosterd”. Los resultados de búsqueda clasificados y las sugerencias se muestran debajo de la casilla de introducción 1111a del usuario en la columna de dirección 1113a y en la columna de POI 1114a. Esto incluye coincidencias parciales de palabra y sugerencias en base a la cadena de búsqueda. Como la cadena de búsqueda coincide parcialmente con varios registros de direcciones en Oosterdoksstraat en Amsterdam, se genera una sugerencia de dirección parcial 1115 para “Oosterdoksstraat en Amsterdam” en base a la cadena de búsqueda y aparece en la columna 1113a. Una selección de usuario de la sugerencia de dirección parcial 1115 hace que el nombre completo de la calle “Oosterdoksstraat” se inserte en el casilla de introducción 1111b a la izquierda del signo de intercalación para formar parte de la cadena de búsqueda, y el centro de búsqueda se cambie de “cerca de mí”, como en 1116a a “en Amsterdam”, como en 1116b. Preferiblemente, como resultado de la selección de una sugerencia de dirección parcial hasta el nivel de calle específico, las columnas 1113a y 1114a son eliminadas de tal manera que los resultados de búsqueda y las sugerencias ya no se muestran (la razón es que la búsqueda ahora es lo suficientemente específica). En su lugar, el teclado se cambia a disposición numérica para permitir que el usuario introduzca un número de domicilio, y se muestran una serie de sugerencias 1119 específicas de dirección que incluyen “conducir aquí” (es decir, ruta hacia la calle con / sin número de domicilio), “añadir cruce” (útil si, por ejemplo, no se conoce el número del domicilio) y “ver en mapa”. Por otro lado, si la sugerencia de dirección coincide con varias calles, los resultados de la búsqueda y las sugerencias pueden continuar mostrándose en las columnas 1113 y 1114.
Vista de mapa
Las realizaciones de aspectos de la invención proporcionan un dispositivo electrónico tal como el dispositivo de navegación 200, y un método y un producto de software informático para accionar un dispositivo de navegación 200 para proporcionar, en una representación de un mapa digital mostrado en la pantalla, elementos de la GUI de diferentes niveles de importancia para facilitar al usuario la revisión de una pluralidad de ubicaciones. La pluralidad de ubicaciones puede representar, por ejemplo, un conjunto de resultados de una búsqueda de destino tal como la búsqueda de texto libre descrita anteriormente en el presente documento utilizando sugerencias. La pluralidad de ubicaciones también puede representar un conjunto de eventos de tráfico actuales, eventos climáticos, etc.
Mediante la provisión, en una representación de un mapa digital mostrado en la pantalla, de elementos de la GUI de diferentes niveles de importancia para representar una pluralidad de ubicaciones, el usuario se ve facilitado en la revisión de esas ubicaciones en un mapa digital.
En una realización a modo de ejemplo, el dispositivo 200 almacena en la memoria 230 datos representativos de un mapa digital y de un producto de programa informático que hace que el dispositivo electrónico, en relación con los datos representativos de una pluralidad de ubicaciones (como resultados de búsqueda) relevantes para el mapa digital: proporcione, en una representación del mapa digital mostrado en la pantalla, como en la vista de mapa 830, para cada una de las ubicaciones, una de una pluralidad de diferentes elementos de la interfaz gráfica de usuario (GUI) caracterizados por diferentes niveles de importancia, para indicar las ubicaciones. El nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra el mapa digital y de la relevancia considerada de esa ubicación para una consulta de usuario.
La selección de elementos de la GUI para ubicaciones indicadas en base a un nivel de detalle mostrado del mapa digital y a una relevancia considerada de la ubicación para una consulta de usuario mejora en gran medida la capacidad de un usuario para digerir información y comprender la relevancia de las diferentes ubicaciones para su consulta en una vista de mapa. También facilita la capacidad del usuario para interactuar intuitivamente con la vista del mapa de potencialmente una gran cantidad de ubicaciones. En particular, la utilización de niveles de importancia decrecientes permite que se muestren una gran cantidad de resultados de búsqueda en una vista de mapa de una manera no confusa y no congestionada. En la figura 12 se muestra una vista de mapa a modo de ejemplo producida de acuerdo con la realización, en la que los resultados navegables de una búsqueda de texto libre se muestran en la vista de mapa.
En la figura 12, se puede ver que los elementos de la GUI en mayores niveles de importancia proporcionan uno o varios de: mayor importancia visual en la pantalla; aumento de la opacidad; mayor información relevante para la ubicación; mayor funcionalidad de la interfaz de usuario que permite la interacción del usuario con la misma. Por ejemplo, tal como se muestra en la figura 12, un intervalo a modo de ejemplo de elementos de la GUI de menos a más importantes es: punto semitransparente, punto menos transparente, punto opaco, marcador, marcador en negrita. El aumento de los niveles de importancia puede proporcionar niveles cada vez mayores de interactividad. Por ejemplo, un usuario puede seleccionar solo los tres elementos de la GUI más destacados para mostrar más información acerca de los resultados de la búsqueda indicados por ellos, mientras que solo los dos elementos de la GUI más destacados pueden ser seleccionados también para proporcionar funciones seleccionables al usuario.
Las ubicaciones pueden estar divididas en grupos de acuerdo con su relevancia para la consulta del usuario, y cada grupo puede estar asociado con un nivel respectivo de detalle para el mapa digital. El agrupamiento de las ubicaciones y la asignación de los respectivos niveles de detalles asociados a esos grupos se puede realizar en base a uno o varios de: el número de las ubicaciones; la distribución de las ubicaciones; la relevancia considerada de las ubicaciones para la consulta del usuario; el nivel de detalle requerido para contener posibles agrupamientos de las ubicaciones en un cuadro delimitador mínimo; el intervalo de niveles de detalle al máximo posible; un número determinado de ubicaciones en el grupo más relevante; un número determinado de grupos; un número determinado de ubicaciones en cada grupo.
En el ejemplo, cincuenta ubicaciones navegables devueltas por una búsqueda de texto libre están divididas en cinco grupos iguales distribuidos en un intervalo de clasificaciones o puntuaciones. En este caso, cada grupo se elige para que tenga el mismo tamaño, es decir, que contenga diez ubicaciones. No obstante, se puede adoptar otro tamaño de agrupamiento y distribución ventajoso.
Cada grupo, del más relevante al menos relevante, se asocia por lo tanto con niveles de detalle progresivamente más altos. Un nivel básico de detalle para el mapa digital (en el que la vista de mapa 830 se muestra inicialmente al seleccionar el pulsador de alternancia 818) se define en base a un cuadro delimitador mínimo que contiene las ubicaciones del grupo de ubicaciones más relevante. Por tanto, en el ejemplo, el cuadro delimitador que muestra los diez resultados del primer grupo se muestra inicialmente en la vista de mapa 830 y el nivel de detalle correspondiente que se muestra para el nivel de acercamiento / alejamiento del mapa digital para esa vista de mapa se establece como nivel básico de detalle asociado con el grupo más relevante. Para niveles de acercamiento / alejamiento más altos, normalmente, se muestra un nivel más alto de detalle del mapa digital.
Por ejemplo, si el grupo de resultados más relevante consta de diez resultados en una sola calle, el mapa se muestra inicialmente ampliado para delimitar esos diez resultados en esa calle, mostrando el nivel de detalle más alto, siendo mostrados cada uno de los resultados más relevantes en la calle con diez marcadores, y siendo mostrado cualquier otro resultado en la calle como un punto. De manera similar, si el grupo más relevante consistiera en diez resultados repartidos por Europa, entonces el mapa se mostraría inicialmente alejado, delimitando esos resultados en el nivel de detalle más bajo, mostrando los primeros 10 resultados como marcadores y el resto como puntos.
Cada grupo de ubicaciones de relevancia decreciente se asocia con niveles crecientes de detalle en comparación con el nivel básico de detalle. El mapa puede ser mostrado inicialmente en el nivel básico de detalle, y las ubicaciones que pertenecen a grupos asociados con niveles de detalle más altos que el nivel básico de detalle pueden estar indicadas con elementos de la GUI que tienen niveles de importancia progresivamente más bajos para grupos progresivamente menos relevantes.
En el ejemplo, cuando el mapa se muestra en el nivel básico de detalle, los cinco elementos de la GUI diferentes se pueden utilizar para indicar las ubicaciones de los cinco grupos de diez resultados de búsqueda de la siguiente manera:
- Grupo de resultados clasificados de 50 a 41 - punto semi-transparente
- Grupo de resultados clasificados de 40 a 31 - un punto menos transparente
- Grupo de resultados clasificados de 30 a 21 - punto opaco
- Grupo de resultados clasificados de 20 a 11 - marcador
- Grupo de resultados clasificados de 10 a 1 - marcador en negrita
Por lo tanto, para un nivel determinado de detalle, tal como el nivel básico de detalle, los elementos de la GUI que tienen un nivel de importancia relativamente bajo se utilizan para indicar ubicaciones de la pluralidad de ubicaciones consideradas menos relevantes para la consulta del usuario, mientras que los elementos de la GUI que tienen un nivel de importancia relativamente alto se utilizan para indicar ubicaciones de la pluralidad de ubicaciones que se consideran más relevantes para la consulta del usuario.
Asimismo, cuando el mapa digital se muestra en un nivel de detalle determinado, las ubicaciones que pertenecen a grupos asociados con niveles de detalle más altos que el nivel de detalle mostrado se indican con elementos de la GUI que tienen niveles de importancia progresivamente más bajos para grupos cada vez menos relevantes.
Cuando el nivel de detalle en el que se muestra el mapa digital aumenta o disminuye, el elemento de la GUI utilizado para indicar una ubicación determinada puede ser cambiado a un nivel de importancia más alto o más bajo, respectivamente, disponible.
Por ejemplo, cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel de detalle inicial hasta un nivel de detalle final asociado con el siguiente grupo más relevante, los elementos de la GUI utilizados para indicar las ubicaciones de cada grupo pueden ser aumentados al siguiente nivel de importancia disponible. En el ejemplo anterior, realizar un acercamiento / alejamiento en el mapa desde la vista inicial (en el nivel básico de detalle) de modo que el mapa digital se muestre en el nivel de detalle asociado con el grupo de resultados clasificado de 20 a 11, hará que los grupos de ubicaciones se indiquen en el mapa utilizando los elementos de la GUI de la siguiente manera:
- Grupo de resultados clasificados de 50 a 41 - punto menos transparente
- Grupo de resultados clasificados de 40 a 31 - punto opaco
- Grupo de resultados clasificados de 30 a 21 - marcador
- Grupo de resultados clasificados de 20 a 11 - marcador en negrita
- Grupo de resultados clasificados de 10 a 1 - marcador en negrita
Cabe señalar que las ubicaciones que pertenecen a grupos asociados con niveles de detalle inferiores al nivel de detalle mostrado se pueden indicar con el elemento de la GUI que tiene el mayor nivel de importancia. En el ejemplo anterior, los dos grupos de resultados clasificados de 20 a 11 y de 10 a 1 se indican con un marcador en negrita. El resultado es que, a medida que se amplía el mapa y se muestran niveles más altos de detalle, más resultados de búsqueda se indican de manera más destacada. No obstante, esto se mitiga siendo visibles menos resultados de búsqueda. Por supuesto, los resultados de búsqueda no visibles pueden volverse visibles si posteriormente se desplaza el mapa arrastrándolo o deslizándolo en la pantalla táctil. El acercamiento / alejamiento de la vista del mapa no afecta a la consulta de búsqueda ni a los resultados mostrados; estos siguen siendo los mismos.
De manera similar, cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel de detalle inicial hasta un nivel de detalle final asociado con el siguiente grupo menos relevante, los elementos de la GUI utilizados para indicar las ubicaciones de cada grupo pueden ser reducidos al siguiente nivel de importancia disponible. En el ejemplo anterior, al alejar el mapa desde el nivel de detalle asociado con el grupo de resultados de 20 a 11 hasta el nivel básico de detalle, los grupos de ubicaciones se volverían a indicar en el mapa utilizando los elementos de la GUI que estaban utilizado en la vista de mapa inicial.
Para cualquier nivel de detalle determinado, un número mínimo de la pluralidad de ubicaciones puede ser indicado por el elemento de la GUI que tiene el nivel de importancia más alto. Por ejemplo, si el mapa es alejado desde el nivel básico de detalle a un nivel de detalle aún más bajo, el grupo de resultados más relevante aún se puede indicar utilizando el marcador en negrita.
Para una ilustración adicional, la figura 13 muestra una división a modo de ejemplo de una lista clasificada de los 100 resultados 1301 de una búsqueda de texto libre en grupos de 20 de acuerdo con la relevancia para una consulta de usuario y asociando esos grupos con niveles de detalle de un mapa digital. El grupo 1303a con la clasificación más alta está asociado con los niveles básicos de detalle del mapa digital de 14 a 17. El segundo grupo 1303b mejor clasificado está asociado con niveles de detalles del mapa digital de 10 a 13. El tercer grupo 1303b mejor clasificado está asociado con niveles de detalle del mapa digital de 7 a 9. Los grupos cuarto y quinto mejor clasificados se omiten de esta descripción, por brevedad.
La vista 1305a del mapa muestra el mapa en uno de los niveles básicos de detalle (es decir, 14, 15, 16 o 17). En este caso, las ubicaciones de los resultados en el grupo 1303a mejor clasificado se indican con un marcador interactivo, mientras que las ubicaciones de los resultados en el segundo grupo 1303b mejor clasificado se indican con un marcador negro opaco y las ubicaciones de los resultados en el tercer grupo 1303c mejor clasificado se indica con un marcador gris semi-opaco.
La vista 1305b del mapa muestra el mapa ampliado hasta un nivel de detalle asociado con el segundo grupo 1303b mejor clasificado (es decir, 10, 11, 12 o 13). Tal como se puede ver, las ubicaciones de los resultados en el grupo 1303a mejor clasificado y el segundo grupo 1303b mejor clasificado se indican a continuación con un marcador interactivo, mientras que las ubicaciones de los resultados en el grupo 1303b mejor clasificado se indican a continuación con un marcador negro opaco.
La vista 1305c del mapa muestra el mapa ampliado hasta un nivel de detalle asociado con el tercer grupo 1303c mejor clasificado (es decir, 7, 8 o 9). Tal como se puede ver, las ubicaciones de los resultados en el grupo 1303a mejor clasificado, el segundo grupo 1303b mejor clasificado y el tercer grupo 1303c mejor clasificado se indican a continuación con un marcador interactivo.
Por supuesto, el agrupamiento de las ubicaciones no es necesario y la determinación de qué elemento de la GUI utilizar para indicar una ubicación puede ser realizada de cualquier otra manera adecuada en base al nivel de detalle del mapa y a la relevancia de la ubicación para una consulta del usuario.
Las ubicaciones pueden ser representativas de: destinos que incluyen una o varias direcciones y puntos de interés; eventos de tráfico que incluyen uno o varios accidentes, retrasos, cierres de carreteras, obras viarias, restricciones, volúmenes de tráfico y carriles cerrados; y/o eventos climáticos que incluyen uno o varios de inundaciones, nieve, hielo, niebla, condiciones adversas de la carretera.
Tal como se describió anteriormente, el dispositivo 200 comprende un motor de búsqueda de texto libre, y la pluralidad de ubicaciones pueden ser destinos navegables que incluyen una o varias direcciones y puntos de interés devueltos en respuesta al procesamiento de una consulta de búsqueda de texto libre.
El dispositivo 200 puede comprender, además, un motor de eventos de tráfico accionable para devolver ubicaciones representativas de eventos de tráfico actuales relevantes para una consulta generada por un usuario o dispositivo.
La consulta de eventos de tráfico es para eventos de tráfico próximos a un centro de búsqueda, una ubicación actual del dispositivo en una ruta o en una zona especificada por el usuario del mapa digital.
Por ejemplo, cuando una consulta de usuario es para mostrar una vista de mapa mostrando incidentes de tráfico, por ejemplo, que afectan a una ruta de un usuario, la vista del mapa descrita anteriormente puede ser muy valiosa porque la información de tráfico disponible para el dispositivo 200 desde el motor de tráfico puede ser muy densa y rica, lo que de otro modo saturaría la pantalla. Mediante la utilización de elementos de la GUI seleccionados para representar incidentes de tráfico basados en un nivel de detalle en el que se muestra el mapa digital y la relevancia del incidente de tráfico para la consulta del usuario (por ejemplo, el impacto en la ruta del usuario), la visualización de esos datos en la vista del mapa puede ser ordenada, fácil de digerir e intuitiva para que el usuario la comprenda e interactúe.
Haciendo referencia a continuación a la figura 14, se muestra una vista de mapa 1401 de la ruta de un usuario desde una ubicación de origen 1403 hasta un destino 1405, y una serie de incidentes de tráfico cuyas ubicaciones se indican utilizando elementos de la GUI que tienen diferentes niveles de importancia seleccionados dependiendo de la relevancia de cada incidente para la ruta del usuario y el nivel de detalle de la vista del mapa.
Al mirar el mapa, el usuario debe comprender inmediatamente qué incidentes de tráfico son importantes para su ruta. Por lo tanto, los incidentes de tráfico que están afectando a la ruta 1407 (o incluso a una ruta alternativa, 1409) son destacados utilizando elementos de la GUI más destacados para indicar su ubicación: estos incidentes se representan en la parte superior de la ruta y muestran el tiempo de retraso del incidente.
Otros incidentes de tráfico que son relevantes para la ruta, pero que no afectan al usuario, (por ejemplo, en el sentido opuesto) se representan utilizando un elemento de la GUI 1411 menos destacado, que se muestra por debajo de la ruta. Los incidentes de tráfico en cualquier carretera visible en el mapa con un nivel de detalle determinado solo como un único tubo (es decir, sin información de dirección), pero que no afectan a la ruta del usuario, se indican de manera similar utilizando un elemento de la GUI 1413 que se muestra por debajo de la carretera en el lado de la carretera afectado.
Los incidentes de tráfico en carreteras que no son visibles en el nivel de detalle visualizado se indican utilizando elementos de la GUI 1415 aún menos destacados, como puntos opacos sin ningún icono.
Cuando se amplía el mapa hasta niveles más altos de detalle, todos los incidentes de tráfico se convierten en elementos de la GUI más destacados. A medida que las carreteras se vuelven visibles como tubos separados para diferentes direcciones, o se vuelven de un ancho adecuado, los incidentes pueden mostrarse de manera aún más destacada utilizando elementos de la GUI en la carretera para el sentido afectado. Además, incluso los puntos opacos se convierten en elementos de la GUI que se muestran por debajo de las carreteras o en las carreteras a medida que las carreteras se vuelven visibles. Cuando se amplía hasta un nivel de detalle suficientemente alto, se mostrará cualquier retraso asociado con cualquier incidente.
Por el contrario, cuando se reduce hasta niveles de detalle más bajos, sin embargo, todos los incidentes de tráfico cambian progresivamente a elementos de la GUI menos destacados, por ejemplo, a medida que las carreteras se vuelven invisibles en niveles de detalle determinados, hasta que todos los eventos de tráfico se indican con puntos opacos.
Los elementos de la GUI utilizados pueden estar codificados por colores para indicar la categoría del incidente Modificaciones y variaciones
Se pueden realizar una serie de modificaciones y variaciones de la implementación de un dispositivo de navegación 200 descrito en el presente documento, sin apartarse de las realizaciones de la invención tal como está definida en las reivindicaciones adjuntas. Por ejemplo, aunque las realizaciones descritas en la descripción detallada mostrada anteriormente se refieren a un GPS, cabe señalar que el reloj puede utilizar cualquier tipo de tecnología de detección de posición como una alternativa al GPS (o, de hecho, además). Por ejemplo, el dispositivo puede utilizar otros sistemas globales de navegación por satélite, tal como el sistema europeo Galileo. Del mismo modo, no está limitado a los sistemas basados en satélites, sino que podría funcionar fácilmente utilizando balizas terrestres u otro tipo de sistema que permita al reloj determinar su ubicación geográfica.
Se apreciará que, si bien se han descrito diversos aspectos y realizaciones de la presente invención, el alcance de la presente invención no está limitado a las disposiciones concretas establecidas en el presente documento y, por el contrario, se extiende para abarcar todas las disposiciones, modificaciones y alteraciones de las mismas, que caen dentro del alcance de las reivindicaciones adjuntas. Además, no se debe entender que las figuras y descripciones de las mismas en el presente documento prescriben un orden fijo de realización de las etapas del método descritas. Más bien, las etapas del método pueden ser realizadas en cualquier orden que sea factible.

Claims (12)

REIVINDICACIONES
1. Un dispositivo electrónico portátil (200), que comprende:
medios de procesamiento de datos (210);
un almacén de datos (230), que contiene datos representativos de un mapa digital;
medios de visualización (240); y
un medio legible por ordenador, que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos, hacen que el dispositivo electrónico portátil, en relación con los datos representativos de una pluralidad de ubicaciones relevantes para el mapa digital, proporcione, en una representación del mapa digital presentado en los medios de visualización (240), para cada una de las ubicaciones, uno de una pluralidad de diferentes elementos de la interfaz gráfica de usuario (GUI) caracterizados por diferentes niveles de importancia para indicar las ubicaciones, en donde el nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra el mapa digital y la relevancia considerada de esa ubicación para una consulta de búsqueda de usuario,
caracterizado por que los elementos de la GUI en niveles de mayor importancia proporcionan una mayor funcionalidad de la interfaz de usuario que permite la interacción del usuario con los mismos.
2. Un dispositivo electrónico portátil (200) de acuerdo con la reivindicación 1, en el que los elementos de la GUI en niveles de mayor importancia proporcionan, además, uno o varios de:
• mayor importancia visual en la pantalla;
• mayor opacidad;
• mayor información relevante para la ubicación.
3. Un dispositivo electrónico portátil (200) de acuerdo con la reivindicación 1 o 2, en el que, a un nivel de detalle determinado, los elementos de la GUI que tienen un nivel de importancia relativamente bajo se utilizan para indicar ubicaciones de la pluralidad de ubicaciones consideradas menos relevantes para la consulta del usuario, mientras que los elementos de la GUI que tienen un nivel de importancia relativamente alto se utilizan para indicar ubicaciones de la pluralidad de ubicaciones consideradas más relevantes para la consulta del usuario.
4. Un dispositivo electrónico portátil (200) de acuerdo con cualquiera de las reivindicaciones anteriores, en el que, cuando el nivel de detalle en el que se muestra el mapa digital aumenta o disminuye, el elemento de la GUI utilizado para indicar una ubicación determinada se cambia a un nivel de importancia superior o inferior, respectivamente.
5. Dispositivo electrónico portátil (200) de acuerdo con la reivindicación 4, en el que, para cualquier nivel de detalle determinado, el elemento de la GUI indica un número mínimo de la pluralidad de ubicaciones que tiene el nivel de importancia más alto de una pluralidad de niveles de importancia.
6. Un dispositivo electrónico portátil (200) de acuerdo con cualquiera de las reivindicaciones anteriores, en el que las ubicaciones están divididas en grupos de acuerdo con su relevancia para la consulta del usuario, y cada grupo está asociado con un nivel de detalle respectivo para el mapa digital.
7. Un dispositivo electrónico portátil (200) de acuerdo con la reivindicación 6, en el que el agrupamiento de las ubicaciones y la asignación de los respectivos niveles de detalle asociados a esos grupos se realiza en base a uno o varios de:
el número de las ubicaciones;
la distribución de las ubicaciones;
la relevancia considerada de las ubicaciones para la consulta del usuario;
el intervalo de niveles de detalle al máximo posible;
un número determinado de ubicaciones en el grupo más relevante;
un número determinado de grupos;
un número determinado de ubicaciones en cada grupo.
8. Un dispositivo electrónico portátil (200) de acuerdo con la reivindicación 6 o 7, en el que, cuando el mapa digital se muestra en un nivel de detalle determinado, las ubicaciones que pertenecen a grupos asociados con niveles de detalle más altos que el nivel de detalle mostrado se indican con elementos de la GUI que tienen niveles de importancia progresivamente más bajos para grupos progresivamente menos relevantes.
9. Un dispositivo electrónico portátil (200) de acuerdo con cualquiera de las reivindicaciones 6 a 8, en el que, cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel inicial de detalle hasta un nivel final de detalle asociado con el siguiente grupo más relevante, el elemento de la GUI utilizado para indicar las ubicaciones de cada grupo se incrementa al siguiente nivel de importancia disponible.
10. Un dispositivo electrónico portátil (200) de acuerdo con cualquiera de las reivindicaciones 6 a 9, en el que, cuando, en respuesta a la entrada del usuario, el mapa digital se amplía desde un nivel de detalle inicial hasta un nivel final de detalle asociado con el siguiente grupo menos relevante, el elemento de la GUI utilizado para indicar las ubicaciones de cada grupo se reduce al siguiente nivel de importancia disponible.
11. Un método para accionar un dispositivo electrónico portátil (200), que comprende medios de procesamiento de datos (210), un almacén de datos (230) que contiene datos representativos de un mapa digital y medios de visualización (240), comprendiendo el método, en relación con los datos representativos de una pluralidad de ubicaciones relevantes para el mapa digital, proporcionando, en una representación del mapa digital visualizado en los medios de visualización (240), para cada una de las ubicaciones, uno de una pluralidad de diferentes elementos de la interfaz gráfica de usuario (GUI) caracterizados por diferentes niveles de importancia para indicar las ubicaciones, en donde el nivel de importancia del elemento de la GUI utilizado para cada ubicación depende del nivel de detalle en el que se muestra el mapa digital y de una relevancia estimada de esa ubicación para una consulta de búsqueda del usuario,
caracterizado por que
los elementos de la GUI en mayores niveles de importancia proporcionan una mayor funcionalidad de la interfaz de usuario que permite la interacción del usuario con ellos.
12. Producto de software que comprende instrucciones que, cuando son ejecutadas por los medios de procesamiento de datos (210) de un dispositivo electrónico portátil (200), hacen que el dispositivo electrónico portátil realice el procedimiento de la reivindicación 11, opcionalmente incorporado en un medio no transitorio legible por ordenador.
ES14721268T 2013-04-17 2014-04-17 Métodos, dispositivos y software informático para facilitar la búsqueda y la visualización de ubicaciones relevantes para un mapa digital Active ES2837852T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1306944.8A GB201306944D0 (en) 2013-04-17 2013-04-17 Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map
PCT/EP2014/057987 WO2014170473A2 (en) 2013-04-17 2014-04-17 Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map

Publications (1)

Publication Number Publication Date
ES2837852T3 true ES2837852T3 (es) 2021-07-01

Family

ID=48537364

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14721268T Active ES2837852T3 (es) 2013-04-17 2014-04-17 Métodos, dispositivos y software informático para facilitar la búsqueda y la visualización de ubicaciones relevantes para un mapa digital

Country Status (8)

Country Link
US (2) US10281295B2 (es)
EP (1) EP2986947B1 (es)
JP (2) JP6545151B2 (es)
KR (1) KR102196470B1 (es)
CN (1) CN105339762B (es)
ES (1) ES2837852T3 (es)
GB (1) GB201306944D0 (es)
WO (1) WO2014170473A2 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1704387B1 (en) * 2003-12-19 2013-03-27 DeCarta Inc. Geocoding locations near a specified city
US11481091B2 (en) 2013-05-15 2022-10-25 Google Llc Method and apparatus for supporting user interactions with non- designated locations on a digital map
CN106156138B (zh) * 2015-04-10 2019-08-09 高德软件有限公司 兴趣点的空间索引的建立、周边搜索方法和装置
US10002134B2 (en) 2015-12-15 2018-06-19 Costar Realty Information, Inc. Placard-to-pin interaction
KR101821172B1 (ko) 2016-09-23 2018-03-08 주식회사 호갱노노 묶음 핀을 이용한 지도 정보 제공 방법
RU2677379C2 (ru) * 2016-12-06 2019-01-16 Общество С Ограниченной Ответственностью "Яндекс" Способ формирования пользовательского запроса
CN107478243A (zh) * 2017-06-30 2017-12-15 百度在线网络技术(北京)有限公司 导航方法、装置、设备及计算机可读存储介质
US11366866B2 (en) * 2017-12-08 2022-06-21 Apple Inc. Geographical knowledge graph
KR102035552B1 (ko) * 2018-03-20 2019-11-26 (주)더비트 차량 설치형 음성인식 내비게이션 장치
US11821747B2 (en) * 2018-09-06 2023-11-21 Google Llc Displaying personalized landmarks in a mapping application
US20230138909A1 (en) * 2021-11-03 2023-05-04 Rivian Ip Holdings, Llc Creating offroad maps with vehicle data

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428068B2 (ja) 1993-04-30 2003-07-22 オムロン株式会社 文書処理装置および方法,ならびにデータ・ベース検索装置および方法
JP2001134579A (ja) 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> マルチメディア情報検索方法、システム、およびマルチメディア情報検索プログラムを記録した記録媒体
US6587787B1 (en) 2000-03-15 2003-07-01 Alpine Electronics, Inc. Vehicle navigation system apparatus and method providing enhanced information regarding geographic entities
US6564213B1 (en) 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
US6983203B1 (en) * 2000-07-28 2006-01-03 Alpine Electronics, Inc. POI icon display method and navigation system
JP3758958B2 (ja) * 2000-09-08 2006-03-22 株式会社デンソー ナビゲーション装置
US6775666B1 (en) 2001-05-29 2004-08-10 Microsoft Corporation Method and system for searching index databases
JP4133008B2 (ja) * 2002-06-14 2008-08-13 日本信号株式会社 広告料金課金に関する広告情報登録システム
JP2004233711A (ja) * 2003-01-31 2004-08-19 Mitsubishi Electric Corp 地図データ構築装置
US9607092B2 (en) 2003-05-20 2017-03-28 Excalibur Ip, Llc Mapping method and system
US20040243307A1 (en) 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device
US20050060286A1 (en) 2003-09-15 2005-03-17 Microsoft Corporation Free text search within a relational database
JP4153887B2 (ja) 2004-03-19 2008-09-24 株式会社日立製作所 移動体ナビゲーション装置、および、移動体ナビゲーション装置における目的地の検索方法
US7761447B2 (en) 2004-04-08 2010-07-20 Microsoft Corporation Systems and methods that rank search results
JP2005308543A (ja) 2004-04-21 2005-11-04 Denso Corp 地図表示機能を有する電子機器及びプログラム
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US8150617B2 (en) 2004-10-25 2012-04-03 A9.Com, Inc. System and method for displaying location-specific images on a mobile device
JP4791726B2 (ja) * 2004-12-03 2011-10-12 クラリオン株式会社 ナビゲーション装置の交通情報表示方法
US8225195B1 (en) * 2004-12-15 2012-07-17 Amazon Technologies, Inc. Displaying links at varying levels of prominence to reveal emergent paths based on user interaction
DE102005020151A1 (de) 2005-04-29 2006-11-02 Volkswagen Ag Verfahren zum Steuern einer Anzeigevorrichtung in einem Kraftfahrzeug und Anzeigevorrichtung
JP4428321B2 (ja) * 2005-09-07 2010-03-10 ソニー株式会社 記録再生装置、表示制御方法、プログラム
JP2007310734A (ja) 2006-05-19 2007-11-29 Matsushita Electric Ind Co Ltd 検索装置
US7870117B1 (en) 2006-06-01 2011-01-11 Monster Worldwide, Inc. Constructing a search query to execute a contextual personalized search of a knowledge base
JP2008250565A (ja) 2007-03-29 2008-10-16 Aisin Aw Co Ltd ナビゲーション装置
US8290967B2 (en) 2007-04-19 2012-10-16 Barnesandnoble.Com Llc Indexing and search query processing
JP4632096B2 (ja) 2007-06-07 2011-02-16 ソニー株式会社 ナビゲーション装置及び最寄検索方法
KR20090008976A (ko) 2007-07-19 2009-01-22 삼성전자주식회사 네비게이션 단말에서의 지도 스크롤 방법 및 그 네비게이션단말
JP4509153B2 (ja) * 2007-08-31 2010-07-21 三洋電機株式会社 ナビゲーション装置及び方法
JP4428433B2 (ja) 2007-09-25 2010-03-10 株式会社デンソー 気象情報表示装置、プログラム
US8892455B2 (en) * 2007-09-28 2014-11-18 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
JP5087377B2 (ja) 2007-11-29 2012-12-05 日本電信電話株式会社 地理的情報を含む文書群の検索装置、検索方法、検索プログラムおよびそのプログラムを記録した記録媒体
US20090216732A1 (en) 2008-02-27 2009-08-27 Kyte Feng Method and apparatus for navigation system for searching objects based on multiple ranges of desired parameters
JP2009266073A (ja) 2008-04-28 2009-11-12 Pioneer Electronic Corp 住所検索装置、住所検索方法及び住所検索プログラム
CN102084215A (zh) 2008-07-07 2011-06-01 日本先锋公司 信息处理装置、信息生成装置、信息处理方法、信息生成方法、信息处理程序、信息生成程序及记录介质
US9424339B2 (en) 2008-08-15 2016-08-23 Athena A. Smyros Systems and methods utilizing a search engine
JP5302614B2 (ja) 2008-10-09 2013-10-02 株式会社インテック 施設関連情報の検索データベース形成方法および施設関連情報検索システム
US8060510B2 (en) 2009-02-13 2011-11-15 Yahoo! Inc. Best fit map searching
JP2010225035A (ja) 2009-03-25 2010-10-07 Canvas Mapple Co Ltd 情報検索装置、情報検索方法、及び情報検索プログラム
EP2241983B1 (en) * 2009-04-17 2012-12-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for searching objects in a database
JP2010286870A (ja) 2009-06-09 2010-12-24 Aisin Aw Co Ltd 地点検索装置、地点検索方法及びプログラム
US20110004750A1 (en) * 2009-07-03 2011-01-06 Barracuda Networks, Inc Hierarchical skipping method for optimizing data transfer through retrieval and identification of non-redundant components
US8342477B2 (en) * 2009-08-04 2013-01-01 Chrysler Group Llc Hinged clamp bracket
US8335990B2 (en) * 2009-08-18 2012-12-18 Nokia Corporation Method and apparatus for grouping points-of-interest on a map
US9710961B2 (en) * 2009-09-17 2017-07-18 Nokia Technologies Oy Method and apparatus for providing contextual rendering of a map
KR20110070057A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 자연어 기반 여행 추천 장치 및 방법
US8285565B2 (en) 2009-12-21 2012-10-09 Kerr Gordon S Gathering, storing, and retrieving summary electronic healthcare record information from healthcare providers
JP2011145609A (ja) 2010-01-18 2011-07-28 Clarion Co Ltd 地図表示装置および地図表示方法
US20110196602A1 (en) 2010-02-08 2011-08-11 Navteq North America, Llc Destination search in a navigation system using a spatial index structure
US8938436B2 (en) 2010-05-10 2015-01-20 Verizon Patent And Licensing Inc. System for and method of providing reusable software service information based on natural language queries
US8583363B2 (en) * 2010-05-26 2013-11-12 Microsoft Corporation Determining alternative routes
KR101248187B1 (ko) 2010-05-28 2013-03-27 최진근 확장 검색어 선정 시스템 및 확장 검색어 선정 방법
JP5656456B2 (ja) 2010-05-28 2015-01-21 富士通テン株式会社 車載用表示装置および表示方法
US8315791B2 (en) 2010-06-18 2012-11-20 Nokia Coporation Method and apparatus for providing smart zooming of a geographic representation
CA2709116A1 (en) 2010-07-07 2012-01-07 Trapeze Software Inc. Method and system for enabling location entry
EP2420799B1 (en) 2010-08-18 2015-07-22 Harman Becker Automotive Systems GmbH Method and system for displaying points of interest
US9253251B2 (en) 2010-11-03 2016-02-02 Endeavoring, Llc System and method for determining a vehicle proximity to a selected address
CN102914313A (zh) 2011-08-01 2013-02-06 环达电脑(上海)有限公司 导航装置
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
US8738595B2 (en) 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
WO2014066562A2 (en) * 2012-10-25 2014-05-01 Intel Corporation Route optimization including points of interest
KR101510505B1 (ko) * 2012-12-21 2015-04-08 주식회사 포스코 우수한 도금성과 초고강도를 갖는 고망간 용융아연도금강판의 제조방법 및 이에 의해 제조된 고망간 용융아연도금강판
US9443036B2 (en) 2013-01-22 2016-09-13 Yp Llc Geo-aware spellchecking and auto-suggest search engines

Also Published As

Publication number Publication date
EP2986947B1 (en) 2020-12-02
CN105339762A (zh) 2016-02-17
JP2016522399A (ja) 2016-07-28
KR102196470B1 (ko) 2020-12-30
KR20160002942A (ko) 2016-01-08
JP6868663B2 (ja) 2021-05-12
US20160084667A1 (en) 2016-03-24
JP2019197058A (ja) 2019-11-14
EP2986947A2 (en) 2016-02-24
JP6545151B2 (ja) 2019-07-17
GB201306944D0 (en) 2013-05-29
US10281295B2 (en) 2019-05-07
WO2014170473A3 (en) 2015-01-15
US20190285428A1 (en) 2019-09-19
CN105339762B (zh) 2020-01-17
US11391594B2 (en) 2022-07-19
WO2014170473A2 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
ES2837852T3 (es) Métodos, dispositivos y software informático para facilitar la búsqueda y la visualización de ubicaciones relevantes para un mapa digital
KR102193465B1 (ko) 디지털 맵에 관련된 위치들의 탐색 및 디스플레이를 용이하게 하는 방법, 기기 및 컴퓨터 소프트웨어
CN105308595B (zh) 用于促进与数字地图相关的位置的搜索及显示的方法、装置及计算机软件
US20090144268A1 (en) Facility information output device, facility information output method, and computer-readable medium storing facility information output program
JP5240547B2 (ja) 目的地入力装置及び目的地入力用プログラム
JP5013266B2 (ja) 目的地入力装置及び目的地入力用プログラム
JP4636391B2 (ja) 目的地設定支援装置、及び目的地設定支援プログラム
JP2006153866A (ja) 車両用ナビゲーション装置及び記憶媒体
JP2011027420A (ja) ナビゲーション装置、車両、及びナビゲーションプログラム
JP2019158435A (ja) 経路案内装置、経路案内方法および経路案内プログラム
JP2009008505A (ja) ナビゲーション装置、及びナビゲーション用プログラム
JP2010014524A (ja) ナビゲーション装置、車両、及びナビゲーションプログラム