BR112018015201B1 - Método implementado por computador para calcular uma tarifa parauma viagem - Google Patents

Método implementado por computador para calcular uma tarifa parauma viagem Download PDF

Info

Publication number
BR112018015201B1
BR112018015201B1 BR112018015201-3A BR112018015201A BR112018015201B1 BR 112018015201 B1 BR112018015201 B1 BR 112018015201B1 BR 112018015201 A BR112018015201 A BR 112018015201A BR 112018015201 B1 BR112018015201 B1 BR 112018015201B1
Authority
BR
Brazil
Prior art keywords
gps
route
points
trip
gps points
Prior art date
Application number
BR112018015201-3A
Other languages
English (en)
Other versions
BR112018015201A2 (pt
Inventor
Sophia Cui
Thi Duong Nguyen
Theodore Russell Sumers
Miao Yu
Xingwen Zhang
Original Assignee
Uber Technologies, Inc
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 Uber Technologies, Inc filed Critical Uber Technologies, Inc
Publication of BR112018015201A2 publication Critical patent/BR112018015201A2/pt
Publication of BR112018015201B1 publication Critical patent/BR112018015201B1/pt

Links

Images

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
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/393Trajectory determination or predictive tracking, e.g. Kalman filtering
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/396Determining accuracy or reliability of position or pseudorange measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40Correcting position, velocity or attitude
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/52Determining velocity
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B15/00Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points
    • G07B15/02Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points taking into account a variable factor such as distance or time, e.g. for passenger transport, parking systems or car rental systems
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Traffic Control Systems (AREA)

Abstract

A presente invenção diz respeito a um servidor de rastreamento que recebe dados GPS a partir de um dispositivo de rastreamento de localização localizado em um veículo. Os dados GPS descrevem um trajeto que é representativo de um trajeto do veículo utilizado para completar uma viagem a partir de uma localização inicial até uma localização de destino. O servidor de rastreamento identifica dados GPS ruidosos incluídos nos dados GPS recebidos e revisa uma parte do trajeto cor-respondendo aos dados GPS ruidosos. O servidor de rastreamento atualiza uma base de dados de mapas para incluir um ou mais segmentos de via associados com a parte revisada do trajeto. Adicionalmente, o servidor de rastreamento pode calcular uma tarifa para a viagem baseado no trajeto revisado.

Description

CAMPO TÉCNICO
[001] As concretizações descritas neste documento geralmente se relacionam com associar dados de sistema de posicionamento global (GPS) com segmentos de rodovias para atualizar mapas utilizando os dados de GPS e para calcular distâncias de viagens baseado nos dados de GPS.
ANTECEDENTES
[002] Os sistemas GPS atuais utilizam dados de GPS a partir de um dispositivo de rastreamento de localização localizado em um veículo para executar várias funções tais como cálculos de distância de viagem e de tarifa. Entretanto, os dados de GPS tipicamente incluem ruído, o qual resulta em dados de GPS imprecisos que não são representativos da localização verdadeira do dispositivo de rastreamento de localização. Calcular distâncias de viagem baseado em dados de GPS imprecisos pode resultar em cálculo incorreto de tarifa.
SUMÁRIO
[003] Um operador de um veículo proporciona serviços tal como transportar uma pessoa ou mercadorias para um destino solicitado. Um servidor de rastreamento está em comunicação com um dispositivo de rastreamento de localização que está localizado dentro do veículo e recebe dados de GPS a partir do dispositivo de rastreamento de localização à medida que o veículo move sua posição (por exemplo, se desloca) para completar um serviço de transporte (por exemplo, também referido neste documento como uma viagem) a partir de uma localização inicial até o destino solicitado.
[004] Em alguns casos, alguns dos dados de GPS recebidos a partir do dispositivo de rastreamento de localização podem incluir da dos errôneos devido a um sinal GPS impreciso recebido pelo dispositivo de rastreamento de localização (por exemplo, como resultado de ruído, erros de sinal, etc.). Assim, os dados de GPS recebidos podem não refletir de forma precisa a verdadeira posição do dispositivo de rastreamento de localização, e podem causar erros no processamento após a conclusão da viagem. De modo a atenuar potenciais erros nos dados associados com uma viagem, o servidor de rastreamento pode revisar uma parte de um trajeto da viagem baseado nos dados de GPS recebidos. A parte do trajeto que é revisada pelo servidor de rastrea- mento corresponde aos dados de GPS ruidosos. Por revisar o trajeto que é representativo da viagem, o servidor de rastreamento garante que o trajeto revisado de forma precisa reflita o trajeto real do veículo de transporte durante a viagem.
[005] A parte revisada do trajeto do trajeto da viagem pode incluir um ou mais segmentos de rodovia utilizados pelo veículo para completar a viagem que não estão incluídos em uma base de dados de mapas de segmentos de rodovia conhecidos. O servidor de rastreamento pode revisar a base de dados de mapas para incluir um ou mais segmentos desse modo aprimorando a abrangência dos segmentos de rodovia especificados na base de dados de mapas. Adicionalmente, devido ao trajeto revisado de forma precisa refletir o verdadeiro trajeto do veículo de transporte utilizado para completar a viagem, o servidor de rastreamento também pode calcular uma tarifa mais precisa para a viagem que a pessoa paga em troca do serviço.
[006] Os aspectos e vantagens descritos neste sumário e a des crição detalhada seguinte não abrangem tudo. Vários aspectos e vantagens adicionais serão aparentes para os versados na técnica em vista dos desenhos, do relatório descritivo e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[007] A FIGURA 1 ilustra uma arquitetura de sistema de um sis- tema de mapeamento de acordo com uma concretização.
[008] A FIGURA 2 ilustra uma vista detalhada de um módulo de determinação de trajeto incluído no sistema de mapeamento apresentado na Figura 1 de acordo com uma concretização.
[009] A FIGURA 3 ilustra dados de GPS associados com uma viagem de acordo com uma concretização.
[0010] A FIGURA 4 ilustra um trajeto de percurso associado com mapa e um trajeto de percurso GPS simplificado de acordo com uma concretização.
[0011] A FIGURA 5 ilustra um trajeto de percurso final de acordo com uma concretização.
[0012] A FIGURA 6 ilustra um mapa atualizado baseado no trajeto de percurso GPS simplificado de acordo com uma concretização.
[0013] A FIGURA 7A é um fluxo do método para calcular uma tari fa para uma viagem, de acordo com uma concretização.
[0014] A FIGURA 7B é um fluxo do método para atualizar um ma pa, de acordo com uma concretização.
[0015] A FIGURA 8 ilustra um sistema de computador que imple mentar as concretizações neste documento de acordo com uma concretização.
[0016] A FIGURA 9 ilustra um dispositivo de computação móvel que implementa as concretizações neste documento de acordo com uma concretização.
[0017] As figuras representam várias concretizações somente para propósito de ilustração. Os versados na técnica irão prontamente reconhecer a partir da discussão seguinte que concretizações alternativas das estruturas e métodos ilustrados neste documento podem ser empregadas sem afastamento dos princípios descritos neste documento.
DESCRIÇÃO DETALHADA Vista Geral do Sistema
[0018] A FIGURA 1 ilustra uma arquitetura de sistema de um ser vidor de rastreamento 100 de acordo com uma concretização. Em particular, a FIGURA 1 ilustra uma vista detalhada de módulos dentro de um servidor de rastreamento 100, de um dispositivo de rastreamento de localização 101 e de um dispositivo solicitante de serviço 103 de acordo com uma concretização. Algumas concretizações do servidor de rastreamento 100, do dispositivo de rastreamento 101 e do dispositivo solicitante de serviço 103 possuem módulos diferentes destes descritos neste documento. De forma similar, as funções podem ser distribuídas dentre os módulos de uma maneira diferente da descrita neste documento. Como utilizado neste documento, o termo "módulo" se refere à lógica de programa de computador utilizada para proporcionar a funcionalidade especificada. Assim, um módulo pode ser implementado em hardware, firmware e/ou em software.
[0019] Em uma concretização, o servidor de rastreamento 100 im plementa um serviço de rede, tal como um serviço de disposição, o qual permite que os serviços sejam dispostos entre as partes tal como entre os usuários do dispositivo de rastreamento de localização 101 e do dispositivo solicitante de serviço 103. Como descrito neste documento, um dispositivo de rastreamento de localização 101 pode corresponder a um dispositivo de computação móvel, tal como um smartphone, que é operado por um provedor de serviço, tal como um motorista de um veículo, ou pode corresponder a um sistema de computação incorporado de um veículo. O servidor de rastreamento 100 também pode corresponder a um conjunto de servidores, em alguns exemplos, e pode operar com ou como parte de outro sistema que implementar serviços de rede. Um exemplo dos serviços inclui dispor um serviço de transporte ou um serviço de entrega entre um solicitante de serviço e um provedor de serviço. No contexto da discussão neste documento, um operador de um veículo de transporte (por exemplo, o provedor de serviço) proporciona o serviço de transportar uma pessoa (por exemplo, o solicitante) para um destino solicitado pela pessoa. Em uma concretização, veículos de transporte incluem veículos pessoais tais como carros e motocicletas bem como veículos de transporte públicos tais como trens, bondes, ônibus, etc.
[0020] Em uma concretização, o transporte de uma pessoa a partir de uma localização inicial até uma localização destino é referida como uma viagem. Geralmente, o servidor de rastreamento 100 calcula tarifas para as viagens. Uma tarifa é um pagamento monetário a partir de um solicitante de serviço para um provedor de serviço em troca do provedor de serviço transportar o solicitante de serviço para uma localização destino. Em uma concretização, o servidor de rastreamento 100 também atualiza mapas baseado nos trajetos de percurso feitos pelos veículos de transporte para completar as viagens.
[0021] O servidor de rastreamento 100 recebe dados de GPS bru tos a partir de um dispositivo de rastreamento de localização 101 incluído em um veículo de transporte à medida que o veículo de transporte move sua posição. Os dados de GPS brutos podem incluir ruído, na forma de dados errôneos. Desde que os dados de GPS brutos incluem ruído, os dados de GPS podem não refletir de forma precisa a verdadeira posição do dispositivo de rastreamento de localização 101 na hora em que os dados de GPS foram medidos. O ruído nos dados de GPS pode resultar de uma ausência de um sinal GPS preciso recebido pelo dispositivo de rastreamento de localização devido às construções bloqueando o sinal GPS, por exemplo. O servidor de rastreamento 100 pode comparar os dados de GPS brutos com uma viagem associada com mapa. Em uma concretização, uma viagem associada com mapa é representativa de um trajeto de percurso provável como determinado pelo servidor de rastreamento 100 de acordo com os dados de GPS brutos como será adicionalmente descrito abaixo. O servidor de ras- treamento 100 determina se os dados de GPS brutos correspondem à viagem associada com mapa baseado na comparação.
[0022] Em uma concretização, o servidor de rastreamento 100 pode revisar uma parte da viagem que corresponde aos dados de GPS ruidosos para de forma precisa refletir o verdadeiro trajeto do veículo de transporte durante a viagem. Algumas partes da viagem ainda podem não corresponder à viagem associada com mapa devido ao veículo de transporte não utilizar redes de rodovias conhecidas. O servidor de ras- treamento 100 determina se utiliza a parte revisada da viagem correspondendo aos dados de GPS ruidosos ou à viagem associada com mapa quando calculando a tarifa para a viagem. O servidor de rastreamen- to 100 também pode atualizar redes de rodovias baseado nos dados de GPS do dispositivo de rastreamento de localização 101.
[0023] Como apresentado na FIGURA 1, o servidor de rastrea- mento 100 está em comunicação com o dispositivo de rastreamento de localização 101 e com o dispositivo solicitante de serviço 103 via uma rede 105. Em uma concretização, a rede 105 é a Internet ou qualquer combinação de uma LAN, uma MAN, uma WAN, uma rede móvel, com fios ou sem uso de fios, uma rede privada, ou uma rede privada virtual. Apesar de somente um único dispositivo de rastrea- mento de localização 101 e de um único dispositivo solicitante de serviço 103 serem apresentados na FIGURA 1, vários dispositivos de ras- treamento de localização 101 podem estar em comunicação com o servidor de rastreamento 100.
[0024] Em uma concretização, o dispositivo solicitante de serviço 103 é um dispositivo eletrônico (por exemplo, um smartphone) de uma pessoa que solicitou uma viagem. O dispositivo solicitante de serviço 103 é utilizado pela pessoa para solicitar uma viagem a partir de uma localização inicial até uma localização destino via um aplicativo de serviço 109 incluído no dispositivo solicitante de serviço 103. O aplicativo de serviço 109 permite ao usuário do dispositivo solicitante de serviço 103 submeter uma solicitação de viagem, a qual o servidor de rastre- amento 100 então processa de modo a selecionar um operador de um veículo de transporte.
[0025] De acordo com exemplos, a solicitação de viagem pode in cluir (i) um identificador do usuário (ID), (ii) uma localização de coleta (por exemplo, um identificador de localização da posição atual do dispositivo solicitante de serviço 103 como determinado por um módulo GPS 107A incluído no dispositivo solicitante de serviço 103, (iii) uma localização de destino, e/ou (iv) um tipo de veículo. Por exemplo, o módulo GPS 107A utiliza sensores (por exemplo, um receptor GPS) incluído no dispositivo solicitante de serviço 103 para determinar a posição do dispositivo solicitante de serviço 103 em vários momentos no tempo. Em uma concretização, a posição atual do dispositivo solicitante de serviço 103 é representada por um identificador de localização tal como coordenadas de latitude e de longitude. A posição atual do dispositivo solicitante de serviço 103 também pode ser associada com uma marca de tempo indicando a hora e/ou a data nas quais o módulo GPS 107A mediu a posição atual do dispositivo solicitante de serviço 103. Alternativamente, a localização de coleta do dispositivo solicitante de serviço 103 pode ser manualmente informada no dispositivo solicitante de serviço 103 pelo usuário do dispositivo 103, tal como por selecionar uma localização em um mapa ou na forma de um endereço incluindo pelo menos o número e o nome de uma rua.
[0026] O serviço de disposição, o qual é implementado pelo servi dor de rastreamento 100 e/ou por outros servidores ou sistemas, pode receber a solicitação de viagem através da rede 105 e pode selecionar um operador ou provedor de serviço para o solicitante. Em um exemplo, o serviço de disposição pode (i) identificar um conjunto de provedores de serviço que estão disponíveis para proporcionar o serviço solicitado e satisfazer uma ou mais condições (por exemplo, possuírem o tipo de veículo especificado, e/ou estarem dentro de uma distância predeterminada ou de um tempo de percurso estimado longe a partir da localização de coleta), (ii) selecionar um provedor de serviço a partir do conjunto de provedores de serviço, e (iii) transmitir um convite para o dispositivo de rastreamento de localização 101 do provedor de serviço. O convite pode incluir a localização de coleta, de modo que o provedor de serviço selecionado pode navegar até a localização de coleta para iniciar a viagem para o solicitante. Se o provedor de serviço selecionado aceita o convite por proporcionar entrada no dispositivo de rastreamento de localização 101, o servidor de rastreamento 100 pode por consequência notificar o dispositivo solicitante de serviço 103.
[0027] Em uma concretização, o dispositivo de rastreamento de localização 101 é um dispositivo eletrônico (por exemplo, um smartphone) localizado dentro do veículo de transporte utilizado para completar viagens. O dispositivo de rastreamento de localização 101 inclui um aplicativo de serviço 111. O aplicativo de serviço 111 exibe, no dispositivo de rastreamento de localização 101, informação sobre uma viagem que o provedor de serviço concordou em proporcionar, tal como a localização de coleta, e/ou informação de navegação e/ou de mapeamento instruindo o provedor de serviço para percorrer até a localização de coleta. Como referido neste documento, a localização de coleta pode ser a localização atual do dispositivo solicitante de serviço 103 ou uma localização especificada pelo usuário do dispositivo solicitante de serviço 103. O aplicativo de serviço 111 pode também exibir, no dispositivo de rastreamento de localização 101, o destino da viagem solicitada se proporcionado pelo usuário do aplicativo solicitante de serviço 111.
[0028] O dispositivo de rastreamento de localização 101 inclui um módulo GPS 107B. O módulo GPS 107B utiliza um ou mais sensores do dispositivo de rastreamento de localização 101 para identificar dados de GPS do veículo de transporte à medida que o veículo de transporte se move ao longo de uma ou mais rodovias para completar uma viagem. Os dados de GPS do veículo de transporte são representativos da posição do veículo de transporte em diferentes lugares no tempo durante uma viagem. Por exemplo, no tempo t = T1, o dispositivo de rastreamento de localização 101 pode estar em uma localização GPS particular, identificada por um identificador de localização (por exemplo, coordenadas de latitude e de longitude) e por uma marca de tempo indicativa da hora e/ou da data quando o dispositivo de rastre- amento de localização 101 mediu sua posição atual. Se o veículo de transporte estiver se movendo, no tempo T = T2, o dispositivo de ras- treamento de localização 101 pode estar em uma localização GPS diferente. Desta maneira, o dispositivo de rastreamento de localização 101 periodicamente mede a posição atual do veículo de transporte (por exemplo, a cada três segundos, a cada quatro segundos, etc.) e proporciona dados de GPS que são representativos da posição do veículo de transporte com o passar do tempo para o servidor de rastrea- mento 100. Alternativamente, o dispositivo de rastreamento de localização 101 pode proporcionar dados de GPS sempre que novas medições ou medições atualizadas da posição atual do veículo de transporte forem feitas ou estiverem disponíveis.
[0029] Cada um dos aplicativos de serviço 111 e 109 respectiva mente armazenados no dispositivo de rastreamento de localização 101 e no dispositivo solicitante de serviço 103 pode incluir ou utilizar uma interface de programação de aplicativo (API) para comunicar dados para o servidor de rastreamento 100. A API pode proporcionar acesso ao servidor de rastreamento 100 via canais de acesso seguros através da rede 105 através de vários métodos, tais como formulários basea- dos na Rede, acesso programático via APIs restful ("com capacidade de transferência de estado representacional"), Protocolo Simples de Acesso a Objeto (SOAP), chamadas de procedimento remoto (RPC), acesso por script, etc., enquanto também proporcionando métodos de acesso seguros incluindo acesso baseado em chave para garantir que o sistema de rastreamento 100 permaneça seguro e somente usuários, provedores de serviço, e/ou terceiros autorizados possam obter acesso ao servidor de rastreamento 100.
[0030] Como apresentado na FIGURA 1, o servidor de rastrea- mento 100 compreende uma base de dados de mapas 113. A base de dados de mapas 113 armazena várias bases de dados espaciais de mapas. As bases de dados espaciais de mapas são bases de dados que podem ser consultadas identificando diferentes pontos (por exemplo, possuindo uma latitude e longitude, e/ou um altitude) ao longo de trajetos de viagens que um dado veículo de transporte pode utilizar, e informação sobre como diferentes pontos se conectam com outros pontos. Algumas bases de dados espaciais de mapas comercialmente disponíveis incluem pontos identificando localizações de interesses e pontos de referência terrestres.
[0031] Com respeito aos veículos, uma base de dados de mapas do veículo pode incluir pontos correspondendo às localizações nas pistas, rodovias, vias expressas, etc. A base de dados de mapas do veículo também pode incluir outras informações relacionadas com pistas, tais como cruzamentos, ruas de mão única, como as diferentes rodovias e ruas se conectam umas com as outras, etc. De forma similar, com respeito às aeronaves, uma base de dados espacial do sistema de mapas da aeronave pode incluir pontos correspondendo às localizações ao longo do trajetos aéreos e quais pontos são limites para nenhuma zona de voo, enquanto para trens, uma base de dados espacial do sistema de mapas de um trem pode incluir pontos correspondendo às localizações na via férrea e nas estradas de fero, e onde/ como as vias férreas se conectam. Bases de dados de mapas adicionais podem ser criadas ou modificadas na base de dados de mapas 113 como resultado de atualizações e modificações da vida real.
[0032] A interface de dispositivo 117 gerenciar comunicação entre o servidor de rastreamento 100, o dispositivo de rastreamento de localização 101 e o dispositivo solicitante de serviço 103 através da rede 105. A interface de dispositivo 117 recebe solicitações de viagem a partir do dispositivo solicitante de serviço 103 e transmite convites para o dispositivo de rastreamento de localização 101. Em adição, a interface de dispositivo 117 recebe aceitações de viagem a partir do dispositivo de rastreamento de localização 101 e direciona notificações das aceitações de viagem para o dispositivo solicitante de serviço 103. Em uma concretização, a interface de dispositivo 117 recebe dados de GPS e/ou informação de estado sobre o provedor de serviço ou aplicativo de serviço 111 a partir do dispositivo de rastreamento de localização 101 à medida que o veículo de transporte se move para completar uma viagem e envia os dados de GPS para um módulo de determinação de trajeto 119 incluído no servidor de rastreamento 100.
[0033] A FIGURA 2 ilustra um diagrama de blocos ilustrando os módulos do módulo de determinação de trajeto 119 de acordo com uma concretização. Geralmente, os diferentes módulos incluídos no módulo de determinação de trajeto 119 coletivamente permitem que o módulo de determinação de trajeto 119 determine o trajeto da viagem ao longo de uma ou mais vias que um veículo de transporte está utilizando para completar uma viagem. O módulo de determinação de trajeto 119 determina o trajeto de percurso do veículo de transporte utilizando dados de GPS recebidos a partir de um dispositivo de rastrea- mento de localização 101 incluído no veículo de transporte.
[0034] Como apresentado na FIGURA 2, o módulo de determina- ção de trajeto 119 inclui um módulo de associação de mapa 201. O módulo de associação de mapa 201 determina um trajeto de uma ou mais vias (por exemplo, ruas, vias expressas, e/ou rodovias) que o veículo de transporte utiliza para completar uma viagem. Em outra concretização, o módulo de associação de mapa 201 calcula o trajeto quando da conclusão da viagem ou em momentos intermediários durante a viagem, à vontade do executante. Em uma concretização, o trajeto de percurso do veículo de transporte utilizado para completar uma viagem é considerado o trajeto de percurso associado com mapa do veículo de transporte. À medida que o módulo de associação de mapa 201 recebe dados de GPS em diferentes locais no tempo a partir do dispositivo de rastreamento de localização 101 incluído no veículo de transporte, o módulo de associação de mapa 201 tenta identificar em quais vias o veículo de transporte está percorrendo.
[0035] Em uma concretização, o módulo de associação de mapa 201 consulta a base de dados de mapas 113 por uma base de dados de mapas do veículo. O módulo de associação de mapa 201 utiliza a base de dados de mapas do veículo para identificar um ou mais pontos candidatos da base de dados de mapas do veículo que correspondem a um dado ponto de GPS incluído nos dados de GPS recebidos a partir do dispositivo de rastreamento de localização 101. Um ponto candidato é um ponto possuindo uma latitude e longitude correspondendo a uma localização conhecida na base de dados de mapas do veículo. Por exemplo, na base de dados de mapas do veículo, um ponto candidato pode ser um ponto que corresponde a uma localização em uma rua ou em um cruzamento entre várias ruas. Como resultado, o módulo de associação de mapa 201 pode identificar um ponto candidato que melhor corresponde a cada ponto de GPS incluído nos dados de GPS recebidos.
[0036] Em uma concretização, o módulo de associação de mapa 201 identifica um ou mais pontos candidatos para um dado ponto de GPS devido ao ponto de GPS poder não ser preciso devido ao ruído no sinal GPS recebido a partir do dispositivo de rastreamento de localização 101. O módulo de associação de mapa 201 pode determinar que um ponto de GPS é potencialmente impreciso baseado em uma comparação do ponto de GPS com um ponto correspondente (por exemplo, coordenadas de latitude e longitude) em um trajeto de percurso associado com mapa como é descrito abaixo. Em uma concretização, o ponto a partir do trajeto de percurso associado com mapa que corresponde a um ponto de GPS é um ponto a partir do trajeto de percurso associado com mapa que está mais próximo do ponto de GPS em termos de distância. Desde que os dados de GPS podem ser imprecisos, os dados de GPS recebidos a partir do dispositivo de ras- treamento de localização 101 podem não necessariamente corresponder à posição real do dispositivo de rastreamento de localização 101. Em uma concretização, o módulo de associação de mapa 201 identifica um ou mais pontos candidatos na base de dados de mapas do veículo que estão dentro de uma distância predeterminada do ponto de GPS.
[0037] À medida que o dispositivo de rastreamento de localização 101 se move e proporciona dados de GPS atualizados em diferentes locais no tempo para o módulo de associação de mapa 201 ou na conclusão da viagem, o módulo de associação de mapa 201 continua a identificar pontos candidatos para cada ponto de GPS em cada instância no tempo. Alternativamente, o módulo de associação de mapa 201 pode identificar pontos candidatos para um subconjunto dos pontos de GPS incluídos nos dados de GPS. O módulo de associação de mapa 201 determina o trajeto de percurso mais provável (isto é, o trajeto de percurso associado com mapa) baseado nos pontos candidatos identificados na base de dados de mapas do veículo.
[0038] Em uma concretização, o módulo de associação de mapa 201 seleciona um modelo de associação de mapa para determinar o trajeto de percurso mais provável baseado nos pontos candidatos identificados. Por exemplo, o módulo de associação de mapa 201 pode utilizar um solucionador de modelo de Markov oculto, um mecanismo de direcionamento, um mecanismo de propriedades físicas, ou outros modelos, individualmente ou em combinação, para determinar o trajeto de percurso mais provável do veículo de transporte incluindo o dispositivo de rastreamento de localização 101. Em uma concretização, o trajeto de percurso determinado do veículo de transporte utilizado para completar uma viagem é considerado o trajeto de percurso associado com mapa. O trajeto de percurso determinado é considerado como sendo "associado com mapa" desde que o trajeto de percurso associa segmentos de estrada conhecidos incluídos na base de dados de mapas do veículo.
[0039] O módulo de detecção 203 detecta pontos de GPS incluí dos nos dados de GPS que são candidatos a serem potencialmente imprecisos devido ao ruído no sinal GPS. Se um ponto de GPS for determinado como sendo impreciso, o ponto de GPS não reflete de forma precisa a posição real do dispositivo de rastreamento de localização 101 no momento quando o ponto de GPS foi medido. Em uma concretização, o módulo de detecção 203 detecta pontos de GPS que são candidatos a serem imprecisos baseado no trajeto de percurso associado com mapa determinado pelo módulo de associação de mapa 201.
[0040] Para determinar pontos de GPS que são candidatos a se rem imprecisos, o módulo de detecção 203 compara pontos de GPS a partir dos dados de GPS recebidos com pontos do trajeto de percurso associado com mapa para uma viagem. O módulo de detecção 203 pode declarar um ponto de GPS como sendo um candidato a ser im- preciso baseado na precisão do ponto de GPS comparado com o trajeto de percurso associado com mapa.
[0041] Em uma concretização, a precisão de um ponto de GPS é baseada em um erro de estimativa de posição do ponto de GPS. O erro de estimativa de posição do ponto de GPS descreve o desvio na distância (por exemplo, metros) entre o ponto de GPS e seu ponto correspondente no trajeto de percurso associado com mapa para a viagem. Em uma concretização, um ponto de GPS que está dentro de uma distância limite (por exemplo, 5 metros) a partir de seu ponto correspondente no trajeto de percurso associado com mapa para uma viagem é considerado preciso pelo módulo de detecção 203. Inversamente, um ponto de GPS que está localizado em uma posição maior do que a distância limite a partir de seu ponto correspondente no trajeto de percurso associado com mapa para a viagem é considerado um candidato a ser impreciso. Como resultado da comparação entre pontos de GPS com o trajeto de percurso associado com mapa, o módulo de detecção 203 pode determinar sequências de pontos de GPS que são candidatos a serem imprecisos. Observe que na discussão neste documento, as várias distâncias limite são estabelecidas por um executor do servidor de rastreamento 100.
[0042] A FIGURA 3 ilustra dados de GPS brutos do dispositivo de rastreamento de localização 101 que completou uma viagem de acordo com uma concretização. A FIGURA 3 ilustra somente uma parte de todos os dados de GPS incluídos em uma viagem para facilidade de discussão. Na FIGURA 3, de acordo com os dados de GPS para uma viagem, um veículo de transporte completou uma viagem iniciando na Rua B no tempo t = 0 e terminou na Rua E no tempo t = 260. Cada ponto apresentado na FIGURA 3 representa um ponto de GPS incluído nos dados de GPS para uma viagem e a linha tracejada 301 que conecta os pontos de GPS na FIGURA 3 representa o trajeto de per- curso GPS do veículo de transporte. O trajeto de percurso GPS representa o trajeto de percurso do veículo de transporte de acordo com os dados de GPS brutos recebidos a partir do dispositivo de rastreamento de localização 101 incluindo no veículo de transporte. A FIGURA 3 também ilustra um trajeto de percurso associado com mapa determinado pelo módulo de associação de mapa 201 baseado nos dados de GPS recebidos. O trajeto de percurso associado com mapa é representado por uma linha contínua 303 na FIGURA 3.
[0043] Para cada ponto de GPS apresentado na FIGURA 3, o mó dulo de detecção 203 compara o ponto de GPS com um ponto correspondente a partir do trajeto de percurso associado com mapa para determinar a precisão para cada ponto de GPS. Por exemplo, o módulo de detecção 203 pode determinar que os pontos de GPS entre o tempo t = 0 e o tempo t = 100 e entre o tempo t = 150 e o tempo t = 260 como precisos baseado na comparação. Entretanto, o módulo de de-tecção 203 pode determinar que os pontos de GPS do trajeto de percurso GPS entre o tempo t = 125 e o tempo t = 145 são potencialmente imprecisos. Como mencionado acima, o módulo de detecção 203 pode determinar que um ponto de GPS a partir do trajeto de percurso GPS é potencialmente impreciso baseado em uma magnitude do erro de estimativa de posição do ponto de GPS com respeito ao trajeto de percurso associado com mapa. Por exemplo, o módulo de detecção 203 determina para o ponto de GPS no tempo t = 125 que o ponto de GPS é potencialmente impreciso devido ao seu erro de estimativa de posição "d" com respeito a um ponto correspondente no trajeto de percurso associado com mapa ser maior do que a distância limite. A distância limite representa um desvio máximo na localização entre uma posição de um ponto de GPS no trajeto de percurso GPS e um ponto correspondente no trajeto de percurso associado com mapa antes do ponto de GPS ser considerado como sendo potencialmente impreciso.
[0044] Referindo-se novamente à FIGURA 2, o módulo de deter minação de trajeto 119 também inclui um módulo de criação de trajeto 205. O módulo de criação de trajeto 205 simplifica partes do trajeto de percurso GPS. Em uma concretização, o módulo de criação de trajeto 205 cria um trajeto de percurso simplificado para as partes do trajeto de percurso GPS que correspondem às sequências de pontos de GPS potencialmente imprecisos. Por exemplo, o módulo de criação de trajeto 205 pode criar um trajeto de percurso simplificado para os pontos de GPS entre o tempo t = 125 e o tempo t = 145 apresentados na FIGURA 3. Por simplificar partes do trajeto de percurso GPS que são potencialmente imprecisas, o módulo de criação de trajeto 205 reduz o impacto dos pontos imprecisos sobre o trajeto de percurso reportado pelo dispositivo de rastreamento de localização 101.
[0045] Para simplificar uma parte do trajeto de percurso GPS, o módulo de criação de trajeto 205 pode aplicar um algoritmo para reduzir o número de pontos em uma curva. Em uma concretização, o módulo de criação de trajeto 205 pode aplicar o algoritmo de Ramer - Douglas - Peucker (RDP) convencionalmente conhecido para os pontos de GPS classificados como potencialmente imprecisos. O módulo de criação de trajeto 205 recursivamente divide a linha entre os pontos de GPS classificados como potencialmente imprecisos. Inicialmente, o módulo de criação de trajeto 205 é proporcionado com os pontos entre o primeiro e o último ponto de GPS que requerem simplificação tais como os pontos de GPS entre o tempo t = 125 e o tempo t = 145 apresentados na FIGURA3. O módulo de criação de trajeto 205 automaticamente marca o primeiro ponto de GPS (por exemplo, no tempo t = 125) e o último ponto de GPS (por exemplo, no tempo t = 145) a serem guardados. O módulo de criação de trajeto 205 então identifica o ponto que está mais distante de um segmento de linha reta entre o primeiro e o último ponto. Por exemplo, o módulo de criação de trajeto 205 identifica o ponto de GPS no tempo t = 131 devido ao mesmo estar mais distante de um segmento de linha reta entre o primeiro ponto de GPS em t = 125 e o último ponto de GPS em t = 145. Se o ponto de GPS mais distante identificado estiver mais próximo do que ε (um valor predefinido estabelecido pelo administrador do servidor de rastrea- mento 100 e armazenado no servidor de rastreamento 100) para o segmento de linha entre o primeiro e o último ponto, então quaisquer pontos não atualmente marcados para ser guardado podem ser descartados sem a curva simplificada possuindo uma imprecisão pior do que ε. Se o ponto mais distante a partir do segmento de linha for maior do que ε a partir do segmento de linha, então este ponto de GPS é mantido.
[0046] O módulo de criação de trajeto 205 recursivamente chama o algoritmo RDP com o primeiro ponto e o pior (isto é, mais distante) ponto e então com o pior ponto e o último ponto. Em uma concretização, o módulo de criação de trajeto 205 pode parar a recursão quando o módulo de criação de trajeto 205 determinar que uma sequência de pontos de GPS que foram julgados potencialmente imprecisos representar um grupamento de pontos de GPS resultantes do veículo de transporte estando estacionário. O módulo de criação de trajeto 205 pode determinar que uma sequência de pontos de GPS resulta a partir do veículo de transporte estando estacionário por considerar distribuições prováveis de ruído GPS inerente nos dados de GPS recebidos a partir do disposi-tivo de rastreamento de localização 101. O módulo de criação de trajeto 205 remove pontos cuja distribuição corresponde a estas características de um veículo estacionário mais estreitamente do que um veículo em movimento. Por aplicar o algoritmo RDP para os pontos de GPS classificados como potencialmente imprecisos, o módulo de criação de trajeto 205 cria uma curva similar com menos pontos.
[0047] A FIGURA 4 ilustra um trajeto de percurso GPS simplificado de acordo com uma concretização. Similar à FIGURA 3, o trajeto de percurso associado com mapa é representado por uma linha contínua na FIGURA 4. A linha tracejada apresentada na FIGURA 4 representa o trajeto de percurso GPS simplificado. Em particular, a parte 401 do trajeto de percurso GPS simplificado representa a simplificação do trajeto de percurso GPS do veículo de transporte entre o tempo t = 125 e o tempo t = 145 na FIGURA 3. Como apresentado na FIGURA 4, o módulo de criação de trajeto 205 simplificou o trajeto de percurso GPS do veículo de transporte entre o tempo t = 125 e o tempo t = 145 para ser uma linha relativamente reta 401 apresentada na FIGURA 4.
[0048] Referindo-se novamente à FIGURA 2, o módulo de deter minação de trajeto 119 adicionalmente inclui um módulo de seleção 205. Em uma concretização, o módulo de seleção 205 seleciona uma parte do trajeto de percurso associado com mapa que corresponde aos pontos de GPS potencialmente imprecisos ou a parte simplificada do trajeto de percurso GPS que corresponde aos pontos de GPS potencialmente imprecisos no trajeto de percurso final do veículo de transporte. Por exemplo, com respeito à FIGURA 4, o módulo de seleção 205 seleciona se inclui a parte 401 do trajeto de percurso GPS simplificado ou a parte 403 do trajeto de percurso associado com mapa para incluir no trajeto de percurso final do veículo de transporte. O trajeto de percurso final é representativo do trajeto de percurso do veículo de transporte para completar a viagem.
[0049] O módulo de seleção 205 determinar se seleciona a parte simplificada do trajeto de percurso GPS baseado em um conjunto de regras que governam a utilização da parte simplificada do trajeto de percurso GPS em relação ao trajeto de percurso associado com mapa. Em uma concretização, o módulo de seleção 205 seleciona a parte simplificada do trajeto de percurso GPS se todas as regras descritas abaixo forem satisfeitas. Caso contrário, o trajeto de percurso associa- do com mapa é selecionado pelo módulo de seleção 205.
[0050] Alternativamente, o módulo de seleção 205 seleciona a par te simplificada do trajeto de percurso GPS se um subconjunto das regras descritas abaixo for satisfeito. As regras que estão incluídas no subconjunto equilibram entre a seleção falso positivo da parte simplificada do trajeto de percurso GPS para inclusão no trajeto de percurso final e falsos negativos onde o trajeto de percurso associado com mapa é incorretamente selecionado ao invés da parte simplificada do trajeto de percurso GPS. Se o subconjunto de regras não for satisfeito, o módulo de seleção 205 seleciona o trajeto de percurso associado com mapa.
[0051] Para selecionar o subconjunto de regras, o módulo de sele ção 205 aplica diferentes subconjuntos de regras para avaliação em relação a um conjunto de viagens de treinamento (por exemplo, 10.000 viagens). Ou seja, o módulo de seleção 205 aplica diferentes combinações de subconjuntos de regras descritas abaixo em relação ao conjunto de viagens de treinamento. Cada viagem no conjunto de viagens de treinamento pode representar uma viagem real que ocor-reu. Aplicar cada subconjunto de regras em relação ao conjunto de viagens de treinamento resulta na seleção de uma parte simplificada do trajeto de percurso GPS ou no trajeto de percurso associado com mapa para inclusão em um trajeto de percurso final para cada viagem incluída no conjunto de viagens de treinamento.
[0052] O módulo de seleção 205 determina um ou mais subcon juntos de regras que resultaram na seleção mais precisa de uma parte simplificada do trajeto de percurso GPS ou no trajeto de percurso associado com mapa para inclusão no trajeto de percurso final. Em uma concretização, o módulo de seleção 205 determina uma porcentagem de imprecisão de cada subconjunto de regras sob avaliação e seleciona um número limite de subconjuntos de regras (por exemplo, os 5 principais subconjuntos em relação ao desempenho) para avaliação adicional.
[0053] O módulo de seleção 205 pode aplicar os subconjuntos de regras selecionados para um conjunto de viagens de verificação (por exemplo, outras 10.000 viagens) para verificar que o subconjunto de regras selecionado não é um sobreajuste para o conjunto de viagens de treinamento. Ou seja, o módulo de seleção 205 adicionalmente avalia os subconjuntos de regras selecionados para garantir boa performance através de diferentes viagens. O conjunto de viagens de verificação é distinto do conjunto de viagens de treinamento.
[0054] Após aplicar os subconjuntos de regras selecionados para o conjunto de viagens de verificação, o módulo de seleção 205 determina o subconjunto de regras que resultou na seleção mais precisa de uma parte simplificada do trajeto de percurso GPS ou de um trajeto de percurso associado com mapa para inclusão no trajeto de percurso final para cada uma das viagens incluídas no conjunto de viagens de verificação. O subconjunto de regras com melhor precisão é selecionado para implementação no servidor de rastreamento 100. Um subconjunto de regras ilustrativo que resulta na seleção da parte simplifi-cada do trajeto de percurso GPS enquanto possuindo uma taxa de falso positivo muito baixa (por exemplo, abaixo de 5%) inclui a regra de "vizinho", a regra de "candidato mínimo", a regra de "precisão", as regras baseadas em desvio, as regras baseadas em similaridade, as regras baseadas em distância, a regra de "direção" e a regra de "curva" como descrito abaixo.
[0055] Em uma concretização, o conjunto de regras inclui uma re gra "vizinho" que é baseada nos vizinhos da parte simplificada do trajeto de percurso GPS. Em uma concretização, a regra de vizinho causa que o módulo de seleção 205 selecione a parte simplificada do trajeto de percurso GPS para inclusão no trajeto de percurso final do veículo de transporte se os segmentos do trajeto de percurso GPS que são diretamente adjacentes à parte simplificada do trajeto de percurso GPS forem precisos. Referindo-se novamente à FIGURA 4, a parte 405 e a parte 407 do trajeto de percurso GPS são vizinhas da parte simplificada 401 do trajeto GPS desde que elas são diretamente adjacentes à parte simplificada 401. Para determinar os vizinhos, o módulo de seleção 205 identifica sequências de pontos de GPS sequencialmente ordenados que foram recebidos antes e após os pontos de GPS que são candidatos a potencialmente imprecisos serem recebidos. Por exemplo, o módulo de seleção 205 identifica os pontos de GPS na parte 405 e os pontos de GPS na parte 407 como as sequências de pontos de GPS que foram respectivamente recebidos antes e após os pontos de GPS candidatos serem recebidos.
[0056] O módulo de seleção 205 determina o erro de estimativa de posição mediana dos pontos de GPS incluídos nas partes vizinhas. Se a precisão horizontal mediana for menor do que um valor limite (por exemplo, 15 metros), o módulo de seleção 205 seleciona a parte simplificada do trajeto de percurso GPS para inclusão no trajeto de percurso final do veículo de transporte. O módulo de seleção 205 opera sob a suposição de que se os dados de GPS correspondendo às partes vizinhas do trajeto de percurso GPS forem precisos, é provável que os dados de GPS para a parte simplificada do trajeto de percurso GPS simplificado sejam mais confiáveis do que o trajeto de percurso associado com mapa.
[0057] O conjunto de regras também pode incluir uma regra "candi dato mínimo" requerendo que os pontos de GPS que são candidatos a serem imprecisos antes da simplificação incluam uma quantidade limite de pontos de GPS. Por exemplo, a regra pode especificar que os pontos de GPS devem incluir mais do que dois pontos de GPS que são candidatos a serem imprecisos. O módulo de seleção 205 pode contar quantos pontos de GPS estão incluídos nos candidatos a serem imprecisos e comparar a contagem com um limite. Se o módulo de seleção 205 determinar que a contagem é maior do que o limite, o módulo de seleção 205 determina que a regra de candidato mínimo está satisfeita. Caso contrário, a regra de candidato mínimo não está satisfeita.
[0058] O conjunto de regras também pode incluir uma regra "mar ca de tempo" requerendo que as marcas de tempo associadas com os pontos de GPS não indiquem um intervalo de tempo entre as medições dos pontos de GPS que são maiores do que uma quantidade de tempo limite (por exemplo, 10 segundos). Em uma concretização, cada ponto de GPS é associado com uma marca de tempo que indica quando o ponto de GPS foi medido pelo dispositivo de rastreamento de localização 101. O módulo de seleção 205 pode analisar pares se-quenciais de pontos de GPS para determinar a quantidade de tempo que decorreu desde quando os pontos de GPS foram medidos baseado nas marcas de tempo associadas com os pontos de GPS. Se o módulo de seleção 205 determinar que a quantidade de tempo que decorreu a partir de quando todos os pares sequenciais de pontos de GPS foram medidos é menor do que a quantidade de tempo limite, o módulo de seleção 205 determina que a regra de marca de tempo está satisfeita. Se o módulo de seleção 205 determinar que a quantidade de tempo que decorreu entre as medições de qualquer par de pontos de GPS é maior do que o limite, a regra de marca de tempo não está satisfeita.
[0059] O conjunto de regras também pode incluir uma regra "velo cidade" requerendo que o veículo de transporte estava se movimentando em uma velocidade menor do que uma velocidade limite (por exemplo, 45 metros por segundo) no momento quando os pontos de GPS que são candidatos a serem imprecisos foram medidos pelo dispositivo de rastreamento de localização 101. Se o veículo de transpor te estava viajando em uma velocidade maior do que a velocidade limite, os dados recebidos a partir do dispositivo de rastreamento de localização 101 são prováveis de serem imprecisos resultando em um aumento artificial na velocidade calculada do veículo de transporte.
[0060] O módulo de seleção 205 pode determinar a velocidade de percurso do dispositivo de rastreamento de localização 101 por calcular a distância entre as localizações associadas com qualquer par de pontos de GPS adjacentes incluídos nos pontos de GPS que são candidatos a serem imprecisos. O módulo de seleção 205 também determina o tempo decorrido a partir de quando os pares de pontos de GPS foram medidos baseado nas marcas de tempo associadas com os pares de pontos de GPS. O módulo de seleção 205 determina a velocidade do veículo de transporte por calcular o quociente da distância entre as localizações associadas com os pares de pontos de GPS e o tempo decorrido a partir de quando os pares de pontos de GPS foram medidos. Se a velocidade do veículo de transporte for menor do que a velocidade limite para todos os pares e pontos de GPS, o módulo de seleção 205 determina que a regra de velocidade está satisfeita. Entretanto, se a velocidade do veículo de transporte for maior do que a velocidade limite para qualquer par de pontos de GPS, o módulo de seleção 205 determina que a regra de velocidade não está satisfeita.
[0061] O conjunto de regras também pode incluir uma regra "pre cisão" que requer que os pontos de GPS que são candidatos a serem imprecisos possuam um erro de estimativa de posição mediana que seja menor do que um limite de precisão. Em uma concretização, o limite de precisão é 15 metros. Para determinar o erro de estimativa de posição mediana, o módulo de seleção 205 determina o erro de estimativa de posição para cada ponto de GPS comparado com seu ponto correspondente no trajeto de percurso associado com mapa como an-teriormente descrito acima. O módulo de seleção 205 calcula o erro de estimativa de posição mediana baseado nos erros de estimativa de posição calculados para os pontos de GPS. Se o erro de estimativa de posição mediana for menor do que o limite de precisão, o módulo de seleção 205 determina que a regra de precisão está satisfeita. Entretanto, se o erro de estimativa de posição mediana for maior do que o limite de precisão, o módulo de seleção 205 determina que a regra de precisão não está satisfeita.
[0062] Em outra concretização da regra de precisão, o módulo de seleção 205 compara o erro de estimativa de posição mediana dos pontos de GPS que são candidatos a serem imprecisos com um erro de estimativa de posição mediana ponderado de toda a viagem. Em um exemplo, o erro de estimativa de posição mediana de toda a viagem é ponderado por um fator de dois. Se o módulo de seleção 205 determinar que o erro de estimativa de posição mediana dos pontos de GPS que são candidatos a serem imprecisos é menor do que o erro de estimativa de posição mediana ponderado para toda a viagem, a regra de precisão está satisfeita. Caso contrário, o módulo de seleção 205 determina que a regra de precisão não está satisfeita.
[0063] O conjunto de regras também pode incluir uma ou mais re gras de "desvio". Em uma concretização, as regras de desvio incluem uma regra que requer que o desvio do trajeto de percurso associado com mapa seja maior do que um desvio ponderado da parte simplificada do trajeto de percurso GPS. O peso pode ser estabelecido por um administrador do servidor de rastreamento 100 para qualquer valor tal como 1,25.
[0064] Cada candidato GPS bruto potencialmente impreciso é as sociado com um ponto correspondente no trajeto de percurso associado com mapa e com um ponto correspondente na parte simplificada do trajeto de percurso GPS. O módulo de seleção 205 calcula o desvio do trajeto de percurso associado com mapa por primeiro medir a distância entre cada candidato potencialmente impreciso e seu ponto corresponde no trajeto de percurso associado com mapa. O módulo de seleção 205 então identifica a distância média e associa o desvio do trajeto de percurso associado com mapa com o valor identificado.
[0065] Similarmente, o módulo de seleção 205 calcula o desvio da parte simplificada do trajeto de percurso GPS por primeiro medir a distância entre cada candidato para ser impreciso e seu ponto correspondente na parte simplificada do trajeto de percurso GPS. O módulo de seleção 205 então identifica a distância média e associa o desvio do trajeto de percurso GPS simplificado com o valor identificado. O módulo de seleção 205 multiplica o desvio da parte simplificada do trajeto de percurso GPS pelo fato de ponderação. Finalmente, o módulo de seleção 205 determina se o desvio do trajeto de percurso associado com mapa é maior do que o desvio ponderado da parte simplificada do trajeto de percurso GPS para determinar se a regra está satisfeita.
[0066] As regras de desvio também podem incluir uma regra de desvio médio que requer que o desvio médio da parte simplificada do trajeto de percurso GPS seja menor ou igual a uma distância limite tal como 10 metros. Para determinar se a regra de desvio médio está satisfeita, o módulo de seleção 205 mede a distância entre cada candidato a ser impreciso com seu ponto correspondente na parte simplificada do trajeto de percurso GPS como mencionado acima. O módulo de seleção 205 então calcula a média das distâncias medidas e compara a média com a distância limite. Se a média for menor ou igual à distância limite, o módulo de seleção 205 determina que a regra de desvio médio está satisfeita.
[0067] As regras de desvio também podem incluir uma regra de percentil que requer que percentil limite (por exemplo, 95%) dos desvios da parte simplificada do trajeto de percurso GPS seja menor ou igual a uma distância limite tal como 30 metros. Para determinar se a regra de percentil está satisfeita, o módulo de seleção 205 mede a distância entre cada candidato a ser impreciso com seu ponto correspondente na parte simplificada do trajeto de percurso GPS como mencionado acima. O módulo de seleção 204 então determina se o percentil limite (por exemplo, 95%) das distâncias medidas é menor ou igual à distância limite. Se o percentil limite (por exemplo, 95%) das distâncias medias for menor ou igual à distância limite, o módulo de seleção 205 determina que a regra de percentil está satisfeita.
[0068] O conjunto de regras também pode incluir uma ou mais re gras de "similaridade". Em uma concretização, as regras de similaridade incluem uma regra de similaridade média que requer que a similaridade média entre o trajeto de percurso GPS simplificado e sua parte associada no trajeto de percurso associado com mapa seja maior do que uma distância limite (por exemplo, 15 metros).
[0069] Como mencionado anteriormente, cada um dos pontos no trajeto de percurso GPS simplificado e no trajeto de percurso associado com mapa estão associados com marcas de tempo. O módulo de seleção 205 determina a similaridade entre o trajeto de percurso GPS simplificado e sua parte associada no trajeto de percurso associado com mapa por determinar marcas de tempo a partir do trajeto de percurso GPS simplificado que estão em uma correspondência relativa com marcas de tempo a partir do trajeto de percurso associado com mapa. Marcas de tempo são consideradas como correspondentes se elas estiverem dentro de um segundo, por exemplo. Para cada par de marcas de tempo correspondentes, o módulo de seleção 205 determina a distância entre o trajeto de percurso GPS simplificado e o trajeto de percurso associado com mapa. O módulo de seleção 205 então calcula a média das distâncias. Se a média das distâncias for maior do que a distância limite (por exemplo, 15 metros), o módulo de seleção 205 determina que a regra de similaridade média está atendida. Caso contrário, a regra de similaridade média não está satisfeita.
[0070] Em uma concretização, as regras de similaridade incluem uma regra de similaridade "máxima". A regra de similaridade máxima requer que a distância máxima (isto é, a maior) entre o trajeto de percurso GPS simplificado e o trajeto de percurso associado com mapa com marcas de tempo correspondentes seja maior do que um limite (por exemplo, 25 metros). Para determinar se a regra de similaridade máxima está satisfeita, o módulo de seleção 205 determina a maior distância entre o trajeto de percurso GPS simplificado e o trajeto de percurso associado com mapa com marcas de tempo correspondentes. O módulo de seleção 205 compara a maior distância com o limite (por exemplo, 25 metros). Se a maior distância for maior do que o limite, o módulo de seleção 205 determina que a regra de similaridade máxima está satisfeita.
[0071] O conjunto de regras também inclui uma regra de "distância percorrida". A regra de distância percorrida especifica que a diferença na distância percorrida entre o trajeto de percurso GPS simplificado e a parte correspondente do trajeto de percurso associado com mapa seja maior do que uma porcentagem limite (por exemplo, 25%). Para determinar se a regra de distância percorrida está satisfeita, o módulo de seleção 205 calcula a distância percorrida tanto no trajeto de percurso GPS simplificado como na parte correspondente do trajeto de percurso associado com mapa. Se o módulo de seleção 205 determinar que a distância percorrida no trajeto de percurso GPS simplificado é maior do que a porcentagem limite do trajeto de percurso associado com mapa, a regra de distância percorrida está satisfeita.
[0072] O conjunto de regras também pode incluir uma regra de "direção". A regra de direção especifica que a diferença na direção de percurso entre o trajeto de percurso GPS simplificado e a parte correspondente do trajeto de percurso associado com mapa seja maior do que um ângulo limite (por exemplo, 10 graus). Para determinar se a regra de direção está satisfeita, o módulo de seleção 205 calcula a direção de percurso para o trajeto de percurso GPS simplificado. Para calcular a direção de percurso para o trajeto de percurso GPS simplificado, o módulo de seleção 205 determinar o ângulo formado entre o horizonte e uma linha conectando o primeiro ponto e o centro de todos os pontos no trajeto de percurso GPS simplificado. Similarmente, para calcular a direção de percurso para a parte correspondente do trajeto de percurso associado com mapa, o módulo de seleção 205 determina o ângulo formado entre o horizonte e uma linha conectando o primeiro ponto e o centro de todos os pontos no trajeto de percurso associado com mapa. Em uma concretização, a diferença nos ângulos deve ser maior do que um ângulo limite (por exemplo, 10 graus) para o módulo de seleção 205 determinar que a regra de alteração de direção está satisfeita.
[0073] Por último, o conjunto de regras também inclui uma regra de "curva". A regra de curva desaprova um trajeto de percurso GPS simplificado que envolve curvas frequentes. Para determinar se a regra de curva está satisfeita, o módulo de seleção 205 determina para cada curva no trajeto de percurso GPS simplificado a distância entre a curva e a próxima curva subsequente se houver. O módulo de seleção 205 calcula uma distância média percorrida entre curvas e compara a distância média com um limite (por exemplo, 15 metros). Em uma con-cretização, o módulo de seleção 205 determina que a regra de curva está satisfeita se a distância média percorrida entre curvas for maior do que o limite (por exemplo, 15 metros).
[0074] Como descrito acima, o módulo de seleção 205 determina se inclui o trajeto de percurso GPS simplificado no trajeto de percurso final do veículo de transporte baseado em se um subconjunto de regras descritas acima é satisfeito. Em uma concretização, todas as re- gras descritas neste documento devem ser satisfeitas de modo que o módulo de seleção 205 inclua o trajeto de percurso GPS simplificado no trajeto de percurso final do veículo de transporte. Alternativamente, qualquer combinação das regras descritas acima deve ser satisfeita como determinado por um administrador do servidor de rastreamento 100 para o módulo de seleção 205 incluir o trajeto de percurso GPS simplificado no trajeto de percurso final do veículo de transporte.
[0075] O módulo de seleção 205 inclui a parte selecionada do tra jeto de percurso associado com mapa ou o trajeto de percurso GPS simplificado no trajeto de percurso final do veículo de transporte. Em uma concretização, o módulo de seleção 205 conecta a parte simplificada do trajeto de percurso GPS com o trajeto de percurso associado com mapa vizinho para estabelecer o trajeto de percurso final do veículo de transporte. Se o módulo de seleção 205 selecionar a parte do trajeto de percurso associado com mapa para inclusão no trajeto de percurso final do veículo de transporte, o módulo de seleção 205 utiliza o trajeto de percurso associado com mapa como o trajeto de percurso final do veículo de transporte. Por exemplo, a FIGURA5 apresenta o trajeto de percurso final de uma viagem completada pelo veículo de transporte. O trajeto de percurso final da viagem inclui a parte simplificada 401 do trajeto de percurso GPS apresentado na FIGURA 4.
[0076] Retornando para a FIGURA 1, o servidor de rastreamento 100 também inclui um módulo de cálculo de tarifa 121. O módulo de cálculo de tarifa 121 calcula tarifas para viagens completadas. Em uma concretização, o módulo de cálculo de tarifa 121 calcula uma tarifa para uma viagem completada baseado no trajeto de percurso finalizado para uma viagem que inclui partes simplificadas do trajeto de percurso GPS descrito acima. Por basear a tarifa no trajeto de percurso finalizado ao invés do que no trajeto de percurso GPS, o servidor de rastrea- mento 100 calcula a tarifa mais precisa possível.
[0077] Para calcular a tarifa, o módulo de cálculo de tarifa 121 cal cula a distância a partir da localização inicial de uma viagem até a localização destino da viagem ao longo do trajeto de percurso finalizado. Por exemplo, o módulo de cálculo de tarifa 121 determina a distância em milhas ou em metros a partir da localização inicial da viagem até a localização destino da viagem. O módulo de cálculo de tarifa 121 então determina o custo por distância percorrida (por exemplo, custo por milha tal como $1,30 por milha) para a viagem. O custo por distância percorrida é associado com a localização geográfica associada com a viagem. Por exemplo, o custo por distância percorrida para a área de Sem Francisco Bay, Califórnia, pode ser diferente do que o custo por distância percorrida para Los Angeles, Califórnia. O módulo de cálculo de tarifa 121 multiplica o custo por distância percorrida pela distância percorrida para determinar o componente de distância da tarifa.
[0078] Em uma concretização, a tarifa para uma viagem também é baseada na quantidade de tempo requerido para completar a viagem. O módulo de cálculo de tarifa 121 pode determinar a quantidade de tempo que leva para completar a viagem baseado nas marcas de tempo associadas com os pontos de GPS recebidos a partir do dispositivo de ras- treamento de localização 101 e multiplica o tempo por um custo por tempo percorrido (por exemplo, custo por minuto) para calcular o componente de tempo da tarifa. O custo por tempo percorrido também pode ser dependente da localização geográfica associada com a viagem.
[0079] Em uma concretização, a tarifa para uma viagem também está associada com uma tarifa básica. A tarifa básica é um mínimo básico que a pessoa que solicitou a viagem será cobrada pela viagem. O módulo de cálculo de tarifa 121 pode adicionar o componente de distância, o componente de tempo e o a tarifa básica para determinar a tarifa para a viagem. O módulo de cálculo de tarifa 121 então aplica um método de pagamento da pessoa que solicitou a viagem (por exemplo, debita em um cartão de crédito) e comunica a tarifa para o aplicativo de serviço 109 do dispositivo solicitante de serviço 102 da pessoa. Através das técnicas descritas neste documento, o aprimoramento para cálculo da tarifa é um aprimoramento técnico que permite um cálculo mais preciso de distância que agora está disponível através da tecnologia convencional de medição GPS.
[0080] Referindo-se novamente à FIGURA1, uma base de dados de GPS histórica 115 armazena trajetos de percurso finais de viagens completadas pelos veículos de transporte. Assim, a base de dados de GPS histórica 115 armazena um histórico de viagens (por exemplo, trajetos de percurso) completamente por diferentes veículos de transporte. Em uma concretização, a base de dados de GPS histórica 115 armazena coordenadas GPS dos veículos de transporte utilizados para completar viagens especificadas na base de dados de GPS 115. As coordenadas GPS podem ser armazenadas em forma de uma lista ou tabela.
[0081] Um módulo de construção de mapa 123 atualiza a base de dados de mapas 114 baseado no histórico de viagens armazenado na base de dados de GPS histórica 115. O módulo de construção de mapa 123 utiliza o histórico de viagens para atualizar informação de vias armazenadas na base de dados de mapas 113. Por exemplo, o histórico de viagens incluído na base de dados de GPS histórica 115 pode incluir viagens que foram completadas via segmentos de via que não são existentes de acordo com a base de dados de mapas 113. O módulo de construção de mapa 123 pode atualizar a base de dados de mapas 113 para incluir segmentos de via utilizados para completar viagens armazenadas na base de dados de GPS histórica 115. Por exemplo, a FIGURA 5 ilustra o mapa da área na qual uma viagem foi completada. Como apresentado na FIGURA 5, a viagem foi completada via um segmento de via 501 que não é existente na base de dados de mapas 113. A FIGURA 6 ilustra um mapa atualizado da área onde a viagem foi completada. Como apresentado na FIGURA 6, o módulo de construção de mapa 123 adicionou um segmento de via 601 para o mapa.
[0082] Em uma concretização, o módulo de construção de mapa 123 adiciona um segmento de via para a base de dados de mapas 113 se o segmento de via for utilizado em pelo menos um número limite de viagens, por exemplo, 50 viagens. Se o módulo de construção de mapa 123 determinar que o segmento de via é utilizado pelo menos no número limite de viagens, o módulo de construção de mapa 123 adiciona o segmento de via para a base de dados de mapas 113 desde que viagens suficientes foram completadas via o segmento de via para precisamente determinar que uma via realmente existe. Se o módulo de construção de mapa 123 determinar que o segmento de via não é utilizado na quantidade limite de viagens, o módulo de construção de mapa 123 se abstêm de adicionar o segmento de via para a base de dados de mapas 113. Assim, o módulo de construção de mapa 123 garante que o segmento de via seja realmente existente antes de atualizar a base de dados de mapas 113.
[0083] A FIGURA 7A ilustra uma concretização de um fluxograma do método para determinar uma viagem de um veículo de transporte. Observe que em outras concretizações, etapas diferentes destas apresentadas na FIGURA 7 podem ser executadas para determinar a viagem para o veículo de transporte.
[0084] Em uma concretização, o servidor de rastreamento 100 re cebe 701 dados de GPS descrevendo uma viagem de um veículo de transporte. Os dados de GPS são recebidos a partir de um dispositivo de rastreamento de localização 101 localizado dentro do veículo de transporte. De acordo com alguns exemplos, os dados de GPS põem ser recebidos durante o progresso da viagem e associados com a via gem (por exemplo, até que a viagem seja completada). Subsequentemente, em um exemplo, o servidor de rastreamento 100 pode executar uma ou mais etapas da FIGURA 7A após a viagem ser completada. Como uma adição ou alternativa, o servidor de rastreamento 100 pode executar uma ou mais etapas da FIGURA7A, tais como as etapas 703 até 707, enquanto a viagem está em progresso.
[0085] O servidor de rastreamento 100 identifica 703 os dados de GPS candidatos a partir dos dados de GPS recebidos que são potencialmente imprecisos. O candidato pode ser impreciso devido ao ruído no sinal GPS. O servidor de rastreamento 100 determinar que um dado GPS é um candidato a ser impreciso por comparar pontos de GPS incluídos nos dados de GPS com pontos incluídos em um trajeto de percurso associado com mapa para a viagem.
[0086] O servidor de rastreamento 100 simplifica 705 uma parte da viagem que está associada com os dados de GPS candidatos que são imprecisos. Por simplificar a parte da viagem que é potencialmente imprecisa, o servidor de rastreamento 100 minimiza a imprecisão do trajeto de percurso feito por um veículo de transporte para completar a viagem como reportado pelo dispositivo de rastreamento de localização 101. O servidor de rastreamento 100 seleciona 707 a viagem associada com mapa da parte simplificada da viagem para inclusão na representação final da viagem. O servidor de rastreamento 100 pode fazer a seleção baseado nas regras anteriormente descritas acima.
[0087] O servidor de rastreamento 100 finaliza 709 aos dados fi nais da viagem baseado na seleção. Finalizar os dados da viagem compreende o servidor de rastreamento 100 incluindo a parte selecionada da viagem no trajeto de percurso final para a viagem. O servidor de rastreamento 100 então pode executar uma ou mais operações, por exemplo, processamento após a viagem, utilizando os dados da viagem, tal como (i) gerar um mapa com uma imagem do trajeto final so- breposto sobre o mapa para um recibo no aplicativo ou recibo via email para o solicitante e/ou para o provedor de serviço, (ii) calcular 711 uma tarifa para a viagem baseado no trajeto final da viagem, (iii) causar que o respectivo pagamento ou mecanismo financeiro do solicitante e/ou do provedor de serviço seja debitado e/ou creditado, e/ou (iv) transmitir dados para o recibo para os respectivos dispositivos.
[0088] A FIGURA7B ilustra uma concretização de um fluxograma do método para atualizar um mapa do veículo baseado em uma viagem de um veículo de transporte de acordo com uma concretização. Observe que em outras concretizações, etapas diferentes destas apresentadas na FIGURA 7B podem ser executadas.
[0089] Em uma concretização, o servidor de rastreamento 100 re cebe 713 dados de GPS descrevendo uma viagem de um veículo de transporte. O servidor de rastreamento 100 identifica 715 dados de GPS candidatos a partir dos dados de GPS recebido que são potencialmente imprecisos. O servidor de rastreamento 100 simplifica 717 uma parte da viagem que está associada com os dados de GPS candidatos que são imprecisos. Por simplificar a parte da viagem que é potencialmente imprecisa, o servidor de rastreamento 100 minimiza a imprecisão do trajeto de percurso feito por um veículo de transporte até completar a viagem como reportado pelo dispositivo de rastrea- mento de localização 101. O servidor de rastreamento 100 seleciona 719 a viagem associada com mapa ou a parte simplificada da viagem para inclusão na representação final da viagem. O servidor de rastre- amento 100 pode fazer a seleção baseado nas regras anteriormente descritas acima.
[0090] O servidor de rastreamento 100 finaliza 721 a viagem final baseado na seleção. Finalizar a viagem compreende o servidor de ras- treamento 100 incluindo a parte selecionada da viagem no trajeto de percurso final para a viagem. O servidor de rastreamento 100 atualiza 723 um mapa do veículo baseado na viagem final tal como por incluir vias utilizadas na viagem final que não são existentes no mapa do veículo. Componentes de Hardware
[0091] A FIGURA 8 é um diagrama ilustrando um sistema de com putador no qual concretizações descritas neste documento podem ser implementadas. Por exemplo, no contexto da FIGURA 1, o servidor de rastreamento 100 pode ser implementado utilizando um sistema de computador tal como descrito pela FIGURA 8. O servidor de rastrea- mento 100 também pode ser implementado utilizando uma combinação de vários sistemas de computador como descrito pela FIGURA 8.
[0092] Em uma implementação, o servidor de rastreamento 100 inclui os recursos de processamento 801, a memória principal 803, a memória somente para leitura (ROM) 805, o dispositivo de armazenamento 807, e uma interface de comunicação 809. O servidor de rastre- amento 100 inclui pelo menos um processador 801 para processar informação e uma memória principal 803, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, para armazenar informação e instruções a serem executadas pelo processador 801. A memória principal 803 também pode ser utilizada para armazenar variáveis temporárias ou outras informações intermedi-árias durante a execução de instruções a serem executadas pelo processador 801. O servidor de rastreamento 100 também pode incluir a ROM 805 ou outro dispositivo de armazenamento estático para armazenar informação estática e instruções para o processador 801. O dispositivo de armazenamento 807, tal como um disco magnético ou disco ótico, é proporcionado para armazenar informação e instruções.
[0093] A interface de comunicação 809 pode permitir que o servi dor de rastreamento 100 se comunique com uma ou mais redes (por exemplo, rede celular) através do uso da ligação de rede (com uso de fios ou sem uso de fios). Utilizando a ligação de rede, o servidor de rastreamento 100 pode se comunicar com um ou mais dispositivos de computação, e com um ou mais servidores. Em algumas variações, o servidor de rastreamento 100 pode ser configurado para receber dados de sensor (por exemplo, tais como dados de GPS) a partir de um ou mais dispositivos de rastreamento de localização via a ligação de rede. Os dados de sensor podem ser processados pelo processador 801 e podem ser armazenados, por exemplo, no dispositivo de arma-zenamento 807. O processador 801 pode processar os dados de sensor de um dispositivo de rastreamento de localização de modo a determinar o trajeto de percurso de um veículo de transporte correspondendo ao dispositivo de rastreamento de localização. A informação de posição extrapolada pode ser transmitida para um ou mais dispositivos solicitantes de serviço através da rede 105 para permitir que os aplicativos de serviço 109 executando nos dispositivos solicitantes de serviço utilizem a informação de posição para apresentar uma visualização do movimento real dos veículos de transporte.
[0094] O servidor de rastreamento 100 também pode incluir um dispositivo de vídeo 811, tal como um tubo de raio catódico (CRT), um monitor LCD, ou um aparelho de televisão, por exemplo, para exibir gráficos e informações para um usuário. Um mecanismo de entrada 813, tal como um teclado que inclui teclas alfanuméricas ou outras teclas, pode ser acoplado com o servidor de rastreamento 100 para comunicar informações e seleções de comando para o processador 801. Outros exemplos ilustrativos não limitativos de mecanismos de entrada 813 incluem um mouse, uma TrackBall, uma tela sensível ao toque, ou teclas de direção de cursor para comunicar informação de direção e seleções de comando para o processador 801 e para controlar o movimento do cursor no dispositivo de vídeo 811.
[0095] Exemplos descritos neste documento estão relacionados com o uso do servidor de rastreamento 100 para implementar as téc- nicas descritas neste documento. De acordo com uma concretização, estas técnicas são executadas pelo servidor de rastreamento 100 em reposta ao processador 801 executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 803. Tais instruções podem ser lidas para a memória principal 803 a partir de outro meio legível por máquina, tal como o dispositivo de armazenamento 807. A execução das sequências de instruções contidas na memória principal 803 faz com que o processador 801 execute etapas do processo descritas neste documento. Em implementações alternativas, sistema de circuitos impressos podem ser utilizados em vez ou em combinação com as instruções de software para implementar exemplos descritos neste documento. Assim, os exemplos descritos não estão limitados a qualquer combinação específica de sistema de circuitos de hardware e software.
[0096] A FIGURA 9 é um diagrama ilustrando um dispositivo de computação móvel no qual concretizações descritas neste documento podem ser implementadas. Em uma concretização, um dispositivo de computação 900 pode corresponder a um dispositivo de computação móvel, tal como um dispositivo celular que é capaz e telefonia, troca de mensagens, e serviços de dados. O dispositivo de computação 900 pode corresponder a cada um dentre o dispositivo de rastreamento de localização 101 e o dispositivo solicitante de serviço 103. Exemplos de tais dispositivos incluem smartphones, dispositivos transmissores / receptores ou tablet para operadoras de celular. O dispositivo de computação 900 inclui um processador 905, recursos de memória 909, um dispositivo de vídeo 901 (por exemplo, tal como dispositivo tela sensível ao toque), um ou mais subsistemas de comunicação 911 (incluindo subsistemas de comunicação sem uso de fios), mecanismos de entrada 903 (por exemplo, um mecanismo de entrada pode incluir ou ser parte do dispositivo de vídeo sensível ao toque), e um ou mais mecanismos de detecção de lo- calização (por exemplo, módulo GPS) 907. Em um exemplo, pelo menos um dos subsistemas de comunicação 911 envia e recebe dados celulares através de canais de dados e de canais de voz.
[0097] O processador 905 é configurado com software e/ou com outra lógica para executar um ou mais processos, etapas e outras funções descritas com as implementações, tais como estas descritas neste documento. O processador 905 é configurado com instruções e dados armazenados nos recursos de memória 909 para operar um aplicativo de serviço como descrito neste documento. Por exemplo, instruções para operar o aplicativo de serviço de modo a exibir interfaces com o usuário podem ser armazenadas nos recursos de memória 909 do dispositivo de computação 900.
[0098] A partir do ponto de vista de um provedor de serviço, um provedor de serviço operando um dispositivo de rastreamento de localização 101 pode operar o aplicativo de serviço 111 de modo que dados de sensor, tais como dados de localização / posição, possam ser determinados a partir do mecanismo de detecção de localização 907. Estes dados de localização / posição então podem ser transmitidos sem uso de fios para o sistema via os subsistemas de comunicação 911. A partir do ponto de vista de um usuário final, um usuário pode operar o aplicativo de serviço 109 de modo a receber informação de posição de um ou mais veículos de transporte a partir do sistema (via os subsistemas de comunicação 911).
[0099] O processador 905 pode proporcionar conteúdo para o ví deo 901 por executar instruções e/ou aplicativos que estão armazenados nos recursos de memória 909. Em alguns exemplos, uma ou mais interfaces com o usuário podem ser proporcionadas pelo processador 905, tal como uma interface com o usuário para o aplicativo de serviço, baseado pelo menos em parte na informação de posição recebida dos um ou mais veículos de transporte. Apesar de a FIGURA 9 ser ilustra- da para um dispositivo de computação móvel, uma ou mais concretizações podem ser implementadas em outros tipos de dispositivos, incluindo computadores totalmente funcionais, tais como laptops e computadores de mesa (por exemplo, PC).
[00100] Referência no relatório descritivo a "a concretização" ou a "uma concretização significa que um aspecto, estrutura ou característica particular está incluído em pelo menos uma concretização da revelação. As aparições da frase "em uma concretização" ou "uma concretização preferida" nos vários locais no relatório descritivo não estão necessariamente se referindo à mesma concretização.
[00101] Algumas partes do dito acima são apresentadas em termos de métodos e de representações simbólicas de operações em relação aos bits de dados dentro de uma memória de computador. Estas descrições e representações são os meios utilizados pelos versados na técnica para de forma mais eficaz transmitir a substância de seu trabalho para outros versados na técnica. Um método é aqui, e geralmente, concebido para ser uma sequência auto-consistente de etapas (instru-ções) levando a um resultado desejado. As etapas são estas requerendo manipulações físicas de quantidades físicas. Normalmente, apesar de não necessariamente, estas quantidades assumem a forma de sinais elétricos, magnéticos ou óticos capazes de serem armazenados, transferidos, combinados, comparados e de outro modo manipulados. As vezes é conveniente, principalmente por razões de utilização comum, se referir a estes sinais como bits, valores, elementos, símbolos, caracteres, termos, número, dentre outros. Adicionalmente, as vezes também é conveniente se referir a algumas disposições de etapas requerendo manipulações físicas de quantidades físicas como módulos ou dispositivos de código, sem perda de generalidade.
[00102] Entretanto, deve-se ter em mente que todos estes termos e termos similares são para ser associados com quantidade físicas apropriadas e são simplesmente rótulos convenientes aplicados para estas quantidades. A não ser que especificamente declarado de outra forma como aparente a partir da discussão seguinte, é apreciado que por toda a descrição, discussões utilizando termos tais como "processamento" ou "computação" ou "calculando" ou "exibindo" ou "determinando", dentre ouros, se referem à ação e aos processos de um sistema de computador, ou dispositivo de computação eletrônica similar, que manipula e transforma dados representados como quantidade físicas (eletrônicas) dentro das memórias ou registradores do sistema de computador ou de outro armazenamento de informações, transmissão ou dispositivos de vídeo.
[00103] Alguns aspectos descritos neste documento incluem etapas de processo e instruções descritas neste documento na forma de um método. Deve ser observado que as etapas e instruções do processo descritas neste documento podem ser incorporadas em software, firmware ou hardware, e quando incorporadas em software, podem ser transferidas para residirem e serem operadas a partir de diferentes plataformas utilizadas por vários sistemas operacionais.
[00104] As concretizações discutidas acima também se relacionam com um aparelho para executar as operações neste documento. Este aparelho pode ser especialmente construído para os propósitos requeridos, ou ele pode compreender um computador de propósito geral seletivamente ativado ou reconfigurado por um programa de computador armazenado no computador. Tal programa de computador pode ser armazenado em um meio de armazenamento legível por computador não transitório, tal como, mas não limitado a qualquer tipo de disco incluindo discos flexíveis, discos óticos, CD-ROMs, discos magnéticos / óticos, memórias somente para leitura (ROMs), memória de acesso aleatório (RAMs), EPROMs, EEPROMs, cartões magnéticos ou óticos, circuitos integrados de aplicação específica (ASICs), ou qualquer tipo de meio adequado para armazenar instruções eletrônicas, e cada um acoplado com um barramento do sistema de computador. Adicionalmente, os computadores referidos no relatório descritivo podem incluir um único processador ou podem ser arquiteturas empregando vários projetos de processador para capacidade de computação aumentada.
[00105] Os métodos e exposições apresentados neste documento ao estão inerentemente relacionados com qualquer computador ou outro aparelho particular. Vários sistemas de propósito geral também podem ser utilizados com programas de acordo com as instruções neste documento, ou pode se provar conveniente construir um aparelho mais especializado para executar as etapas do método requeridas. A estrutura requerida para vários destes sistemas irá aparecer a partir da descrição abaixo. Em adição, as concretizações não são descritas com referência a qualquer linguagem de programação particular. Será apreciado que várias linguagens de programação podem ser utilizadas para implementar as instruções descritas neste documento, e quaisquer referências abaixo às linguagens específicas são proporcionadas para revelação de habilitação e melhor modo.
[00106] Apesar de a revelação ter sido particularmente apresentada e descrita com referência a uma concretização preferida e a várias concretizações alternativas, será entendido pelos versados na técnica relevante que várias alterações na forma e nos detalhes podem ser feitas nas mesmas sem afastamento do espírito e do escopo da invenção.
[00107] Finalmente, deve ser observado que a linguagem utilizada no relatório descritivo foi principalmente selecionada para capacidade de leitura e propósito de instrução, e pode não ter sido selecionada para delinear ou circunscrever o assunto da invenção. Por consequência, a revelação é pretendida para ser ilustrativa, mas não limitativa, do escopo da invenção.

Claims (11)

1. Método implementado por computador para calcular uma tarifa para uma viagem, o método caracterizado pelo fato de que compreende: receber dados de satélite de posicionamento global (GPS) para um veículo descrevendo uma viagem pelo veículo a partir de uma localização inicial até uma localização destino ao longo de um trajeto; prever um trajeto de percurso do veículo a partir da localização inicial até uma localização destino com base em segmentos de rodovia conhecidos em uma base de dados de mapa (113) e nos dados de GPS do veículo; identificar uma pluralidade de pontos de GPS candidatos a partir dos dados de GPS que são potencialmente imprecisos devido ao ruído nos dados de GPS, os pontos de GPS candidatos localizados ao longo de uma parte do trajeto e a pluralidade de pontos de GPS candidatos correspondendo a posições geográficas que não estão associadas com segmentos de rodovia conhecidos na base de dados de mapa; simplificar a parte do trajeto; determinar se deve incluir no trajeto a parte do trajeto simplificado ou uma parte do trajeto de percurso previsto que corresponde à pluralidade de pontos de GPS candidatos com base em um conjunto de regras; selecionar a parte do trajeto simplificada ou a parte do trajeto de percurso prevista para incluir no trajeto com base na determinação; revisar o trajeto com base na seleção; calcular uma tarifa para a viagem a partir da localização inicial até a localização de destino baseado no trajeto revisado; e transmitir informação sobre a tarifa para a viagem para um dispositivo de computação (900) associado com uma conta de usuário.
2. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados de GPS são recebidos a partir de um dispositivo de rastreamento de localização (101) localizado no veículo de transporte.
3. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que identificar a pluralidade de pontos de GPS candidatos compreende: comparar pontos de GPS a partir dos dados de GPS com o trajeto de percurso previsto; determinar uma precisão de cada ponto de GPS baseado na comparação de cada ponto de GPS com o trajeto de percurso previsto; e determinar a pluralidade de pontos de GPS candidatos baseado na precisão de cada um da pluralidade de pontos de GPS.
4. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que simplificar a parte do trajeto compreende: aplicar um algoritmo de Ramer-Douglas-Peucker na pluralidade de pontos de GPS candidatos para gerar a parte simplificada.
5. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de regras inclui uma regra requerendo que a pluralidade de pontos de GPS candidatos incluam uma quantidade limite de pontos de GPS, o método ainda compreendendo: contar um número de pontos de GPS incluídos na pluralidade de pontos de GPS candidatos; comparar a contagem com um limite; e selecionar a parte simplificada para inclusão no trajeto revisado baseado na contagem excedendo ao limite.
6. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de regras inclui uma regra requerendo que tempos decorridos entre a medição de cada um da pluralidade de pontos de GPS candidatos seja menor do que um limite, o método ainda compreendendo: determinar uma duração de tempo decorrido a partir de quando o dispositivo de rastreamento de localização (101) mediu cada par sequencial de pontos de GPS candidatos incluídos na pluralidade de pontos de GPS candidatos; comparar a duração de tempo com o limite; e selecionar a parte simplificada para inclusão no trajeto revisado baseado em cada duração de tempo sendo menor do que o limite.
7. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de regras inclui uma regra requerendo que a velocidade do veículo de transporte quando a pluralidade de pontos de GPS candidatos foram medidos seja menor do que um limite de velocidade, o método ainda compreendendo: calcular uma velocidade do veículo de transporte entre cada par sequencial de pontos de GPS candidatos quando a pluralidade de pontos de GPS candidatos foram medidos; comparar a velocidade calculada com o limite de velocidade; e selecionar a parte simplificada para inclusão no trajeto revisado em resposta à velocidade calculada sendo menor do que o limite de velocidade.
8. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de regras inclui uma regra requerendo que a precisão da pluralidade de pontos de GPS candidatos seja menor do que um limite de precisão, o método ainda compreendendo: calcular uma precisão mediana da pluralidade de pontos de GPS candidatos em relação ao trajeto de percurso previsto do veículo; e selecionar a parte simplificada para inclusão no trajeto revisado em resposta à precisão mediana sendo menor do que o limite de precisão.
9. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que calcular a tarifa compreende: determinar uma distância percorrida pelo veículo baseado no trajeto revisado; e calcular a tarifa para a viagem baseado, pelo menos em parte, na distância determinada.
10. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o método ainda compreende: atualizar a base de dados de mapa (113) para incluir um u mais segmentos de rodovia correspondendo às posições geográficas da pluralidade de pontos de GPS candidatos com base no trajeto sendo revisado para incluir a parte simplificada.
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de regras inclui uma regra de vizinho especificando selecionar o trajeto de percurso simplificado para inclusão no trajeto de percurso final baseado em uma precisão de pontos de GPS que são vizinhos à pluralidade de pontos associados com a parte simplificada, a determinação compreendendo: identificar, a partir dos dados de GPS do veículo, uma primeira pluralidade de pontos de GPS sequencialmente ordenados que foram recebidos antes da pluralidade de pontos de GPS candidatos associados com a parte simplificada sendo recebida; identificar, a partir dos dados de GPS do veículo, uma se- gunda pluralidade de pontos de GPS sequencialmente ordenados que foram recebidos após a pluralidade de pontos de GPS candidatos as-sociados com a parte simplificada que foram recebidos; identificar uma primeira precisão associada com a primeira pluralidade de pontos de GPS sequencialmente ordenados e uma segunda precisão associada com a segunda pluralidade de pontos de GPS sequencialmente ordenados; e selecionar a parte simplificada para inclusão no trajeto revisado baseado na primeira precisão e na segunda precisão.
BR112018015201-3A 2016-01-28 2016-12-31 Método implementado por computador para calcular uma tarifa parauma viagem BR112018015201B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/009,552 2016-01-28
US15/009,552 US9939276B2 (en) 2016-01-28 2016-01-28 Simplifying GPS data for map building and distance calculation
PCT/IB2016/058127 WO2017130047A1 (en) 2016-01-28 2016-12-31 Simplifying gps data for map building and distance calculation

Publications (2)

Publication Number Publication Date
BR112018015201A2 BR112018015201A2 (pt) 2018-12-26
BR112018015201B1 true BR112018015201B1 (pt) 2021-02-23

Family

ID=59386530

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018015201-3A BR112018015201B1 (pt) 2016-01-28 2016-12-31 Método implementado por computador para calcular uma tarifa parauma viagem

Country Status (6)

Country Link
US (2) US9939276B2 (pt)
EP (1) EP3408614A4 (pt)
AU (1) AU2016390056B2 (pt)
BR (1) BR112018015201B1 (pt)
CA (1) CA3011825C (pt)
WO (1) WO2017130047A1 (pt)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9939276B2 (en) * 2016-01-28 2018-04-10 Uber Technologies, Inc. Simplifying GPS data for map building and distance calculation
DE102016214156A1 (de) * 2016-08-01 2018-02-01 Continental Teves Ag & Co. Ohg Verfahren zum Senden von Daten von einem Fahrzeug an einen Server und Verfahren zum Aktualisieren einer Karte
US11087252B2 (en) * 2016-08-16 2021-08-10 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
DE102016218232B4 (de) * 2016-09-22 2024-02-15 Volkswagen Aktiengesellschaft Positionsbestimmungssystem für eine mobile Einheit, Fahrzeug und Verfahren zum Betreiben eines Positionsbestimmungssystems
US11288716B1 (en) * 2016-11-04 2022-03-29 Jpmorgan Chase Bank, N.A. Systems and methods for digital wallet transit payments
EP3322149B1 (en) * 2016-11-10 2023-09-13 Tata Consultancy Services Limited Customized map generation with real time messages and locations from concurrent users
US10916076B2 (en) * 2017-04-25 2021-02-09 Ford Global Technologies, Llc Method and apparatus for adaptive vehicle route-related data gathering
US10679312B2 (en) * 2017-04-25 2020-06-09 Lyft Inc. Dynamic autonomous vehicle servicing and management
CN111448575B (zh) * 2017-11-29 2024-03-26 北京嘀嘀无限科技发展有限公司 用于评估模型性能的系统和方法
US10732635B2 (en) * 2017-12-30 2020-08-04 Lyft Inc. Localization based on sensor data
US10887747B2 (en) 2018-04-20 2021-01-05 Whelen Engineering Company, Inc. Systems and methods for remote management of emergency equipment and personnel
US11015941B2 (en) 2018-05-25 2021-05-25 Here Global B.V. Method and apparatus for path based map matching
US10657821B2 (en) 2018-06-13 2020-05-19 Whelen Engineering Company, Inc. Autonomous intersection warning system for connected vehicles
US20200013243A1 (en) * 2018-07-03 2020-01-09 Honeywell International Inc. Systems and methods for enhanced cyber security by data corruption detection monitoring
US11081010B2 (en) * 2018-10-18 2021-08-03 Transfinder Corporation Automatically pairing GPS data to planned travel routes of mobile objects
JP7062314B2 (ja) * 2018-10-22 2022-05-06 株式会社ナイルワークス 運転経路生成システム、運転経路生成方法、運転経路生成プログラム、座標測量システム、およびドローン
US11168989B2 (en) * 2019-01-02 2021-11-09 Here Global B.V. Supervised point map matcher
JP7241550B2 (ja) * 2019-01-22 2023-03-17 本田技研工業株式会社 案内装置、案内方法、およびプログラム
US10706722B1 (en) 2019-03-06 2020-07-07 Whelen Engineering Company, Inc. System and method for map-based geofencing for emergency vehicle
US10531224B1 (en) 2019-03-11 2020-01-07 Whelen Engineering Company, Inc. System and method for managing emergency vehicle alert geofence
CN109919593A (zh) * 2019-03-21 2019-06-21 京东方科技集团股份有限公司 结算方法及系统、车载设备、计算机设备及介质
US11506502B2 (en) * 2019-07-12 2022-11-22 Honda Motor Co., Ltd. Robust localization
CN110515110B (zh) 2019-09-05 2021-08-10 北京百度网讯科技有限公司 数据评估的方法、装置、设备和计算机可读存储介质
US11758354B2 (en) 2019-10-15 2023-09-12 Whelen Engineering Company, Inc. System and method for intent-based geofencing for emergency vehicle
CN111121791A (zh) * 2019-11-29 2020-05-08 上饶市中科院云计算中心大数据研究院 隐马尔可夫模型在地图匹配中的优化方法及gps定位方法
US11680804B2 (en) 2019-12-02 2023-06-20 Toyota Motor North America, Inc. System and method for verifying roads
CN111735461B (zh) * 2020-06-10 2023-11-17 腾讯科技(深圳)有限公司 行驶轨迹的处理方法、装置及电子设备
US11022444B1 (en) * 2020-06-16 2021-06-01 Geotab Inc. Dataset simplification of multidimensional signals captured for asset tracking
US11593329B2 (en) 2020-07-31 2023-02-28 Geotab Inc. Methods and devices for fixed extrapolation error data simplification processes for telematics
US11609888B2 (en) 2020-07-31 2023-03-21 Geotab Inc. Methods and systems for fixed interpolation error data simplification processes for telematics
US11556509B1 (en) 2020-07-31 2023-01-17 Geotab Inc. Methods and devices for fixed interpolation error data simplification processes for telematic
US11546395B2 (en) * 2020-11-24 2023-01-03 Geotab Inc. Extrema-retentive data buffering and simplification
US11838364B2 (en) 2020-11-24 2023-12-05 Geotab Inc. Extrema-retentive data buffering and simplification
US11761773B2 (en) 2021-01-18 2023-09-19 Azuga, Inc. Method and system for path reconstruction of periodically sampled geographical position data
CN112699575A (zh) * 2021-01-22 2021-04-23 中汽创智科技有限公司 一种虚拟车辆测试平台中相对位置测算方法及系统
CN113012314B (zh) * 2021-02-18 2023-01-24 北京嘀嘀无限科技发展有限公司 行驶里程确定方法、设备、存储介质及计算机程序产品
CN114705214B (zh) * 2022-04-15 2023-05-23 北京龙驹易行科技有限公司 一种里程轨迹计算方法、装置、存储介质及电子设备
CN117131145B (zh) * 2023-08-03 2024-03-26 卡斯柯信号(北京)有限公司 一种轨道地图数据验证方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917434A (en) * 1995-06-15 1999-06-29 Trimble Navigation Limited Integrated taximeter/GPS position tracking system
US5917424A (en) 1996-12-31 1999-06-29 At & T Corp Duplicate page sensor system and method
AU2467401A (en) 1999-10-21 2001-04-30 Sabre Inc. Method and apparatus for searching for a low fare for travel between two locations
KR101073166B1 (ko) 2005-03-07 2011-10-12 주식회사 현대오토넷 네비게이션시스템을 이용한 택시미터 및 택시 요금 계산 방법
US8099237B2 (en) * 2008-07-25 2012-01-17 Navteq North America, Llc Open area maps
US8195393B2 (en) * 2009-06-30 2012-06-05 Apple Inc. Analyzing and consolidating track file data
WO2011023247A1 (en) 2009-08-25 2011-03-03 Tele Atlas B.V. Generating raster image representing road existence probability based on probe measurements
US20140067490A1 (en) * 2012-08-30 2014-03-06 Frias Transportation Infrastructure Llc For-hire vehicle fare and parameter calculation system and method
US9671233B2 (en) 2012-11-08 2017-06-06 Uber Technologies, Inc. Dynamically providing position information of a transit object to a computing device
US9939276B2 (en) * 2016-01-28 2018-04-10 Uber Technologies, Inc. Simplifying GPS data for map building and distance calculation

Also Published As

Publication number Publication date
US9939276B2 (en) 2018-04-10
US20170219360A1 (en) 2017-08-03
US20180238691A1 (en) 2018-08-23
BR112018015201A2 (pt) 2018-12-26
EP3408614A4 (en) 2020-02-12
WO2017130047A1 (en) 2017-08-03
AU2016390056B2 (en) 2019-05-02
EP3408614A1 (en) 2018-12-05
AU2016390056A1 (en) 2018-08-02
CA3011825A1 (en) 2017-08-03
US10620009B2 (en) 2020-04-14
CA3011825C (en) 2020-06-30

Similar Documents

Publication Publication Date Title
BR112018015201B1 (pt) Método implementado por computador para calcular uma tarifa parauma viagem
US10854018B2 (en) Determining an amount for a toll based on location data points provided by a computing device
CN112868036B (zh) 位置推荐的系统和方法
US10215575B2 (en) Identifying a map matched trip from received geographic position information
US20190204096A1 (en) Measuring the accuracy of map matched trajectories
US8954266B2 (en) Providing routes through information collection and retrieval
US9500486B2 (en) Method and apparatus for formulating a positioning extent for map matching
US10533862B1 (en) Biasing map matched trajectories based on planned route information
TW201111744A (en) Method of verifying or deriving attribute information of a digital transportation network database using interpolation and probe traces
US20080294337A1 (en) Travel-related information processing system
US11682295B2 (en) Adjusting historical probe data for new road geometry
US20200020232A1 (en) Method, apparatus, and computer program product for evaluating public transportation use
Velaga et al. Improving the performance of a topological map-matching algorithm through error detection and correction
CN114144637A (zh) 从用户行为补充电子地图数据
CN109891190A (zh) 基于衍生社交网络对个人进行地理定位
Noulas et al. Developing and deploying a taxi price comparison mobile app in the wild: Insights and challenges
US10928211B2 (en) Method and apparatus for selectively qualifying trajectories in regards to a determination of travel time for a maneuver
US10907976B2 (en) Detecting defects in map data
BR112019022761A2 (pt) informação de suporte dinâmico baseada em informação contextual
JP6678476B2 (ja) 移動経路推定装置、及び移動経路推定方法
US12017680B2 (en) Method, apparatus, and computer program product for real-time map-matching
JP7192828B2 (ja) 地図選択装置及び地図選択用コンピュータプログラム
JP6706308B2 (ja) 情報処理システム、及び情報処理方法
JP6578233B2 (ja) 検索システム、検索方法、検索プログラム、記録媒体
JP2023173089A (ja) 情報処理システム、情報処理プログラムおよび情報処理方法

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 31/12/2016, OBSERVADAS AS CONDICOES LEGAIS.

B25G Requested change of headquarter approved

Owner name: UBER TECHNOLOGIES, INC. (US)