DICIONÁRIO DE PERFIS DE VELOCIDADE
CAMPO
A presente invenção refere-se, de modo geral, a dados históricos de tráfego, e mais particularmente, se refere a um dicionário de perfis de velocidade para a representação de dados históricos de velocidade.
FUNDAMENTOS
Os dados históricos de tráfego para uma rodovia podem incluir tempo de viagem, tempo de atraso, velocidade, e/ou dados de congestionamento para várias horas do dia, dias da semana, dias do ano, e assim por diante. Os dados históricos de tráfego podem ser obtidos através de sensores de rodovia, sondas, e/ou sistemas de relato de incidente. Os sensores podem usar radares, equipamentos acústicos, vídeo, e loops embutidos na rodovia a fim de coletar dados que podem ser usados para caracterizar condições de tráfego. Por exemplo, os dados de sensor podem incluir velocidade, volume (número de veículos que passam pelo sensor por um período de tempo), e densidade (percentual de ocupação da rodovia por veículos). Os dados de sensor podem incluir outros tipos de dados, tais como classificação de veículo (por exemplo, carro, caminhão, motocicleta).
Os dados de sonda são dados de indicação coletados a partir de um veículo em movimento tendo um dispositivo que pode identificar a posição do veículo à medida que o veículo trafega por uma rede de estradas. Por exemplo, o dispositivo pode usar uma tecnologia celular (por exemplo, a transferência celular) ou a tecnologia do Posicionamento Global via Satélite (GPS) a fim de monitorar a posição do veículo na rede de estradas. Ao monitorar o movimento do veículo, os dados de sonda podem ser usados para determinar o tempo de viagem, o qual poderá, em seguida, ser usado para calcular a velocidade do veículo.
Os dados de incidente são os dados de tráfego relativos a um evento de tráfego que obstrui o fluxo de tráfego no sistema rodoviário ou que, de outra forma, é digna de nota com referência ao tráfego. Exemplos de incidentes incluem acidentes, congestionamento, construção, veículos desabilitados, ou incêndios de veículo. Um operador de tráfego poderá entrar os dados de incidente em um Sistema de Monitoramento de Incidentes de Tráfego (TIMS), tal como o sistema TIMS descrito na Publicação de Patente US N. 2004/0143385, atribuída à mesma cessionária do corrente pedido de Patente. O operador de tráfego é uma pessoa que coleta informações de tráfego a partir de uma variedade de fontes, como, por exemplo, ao monitorar as frequências de varredura de emergência; por meio da visualização de imagens de câmeras situadas adjacentes à rodovia; ao ligar para o departamento nacional de transporte, a polícia, ou serviços de emergência; ou da obtenção de informações a partir de uma aeronave que voa sobre a rede de estradas.
Os dados históricos de tráfego podem ser armazenados em um banco de dados históricos de tráfego, tais como o banco de dados do Padrão de Tráfego NAVTEQ™, que inclui as típicas velocidades de tráfego para muitas estradas primárias ou secundárias. Os dados do banco de dados históricos de tráfego podem ser usados em aplicações de rotina, permitindo aos motoristas planejar rotas com as quais evitariam áreas normalmente congestionadas e obter estimativas mais precisas de tempo de viagem com base em condições de tráfego similares. Os dados históricos de tráfego podem também ser usados para prever o tempo de limpeza para um evento de tráfego; prever as condições de tráfego quando os dados de sensor, os dados de sonda, e/ou os dados de incidente são inevitáveis para uma rodovia em particular; prever a probabilidade de acidentes; ou para qualquer outra finalidade adequada.
Embora o banco de dados históricos de tráfego tenha muitos usos benéficos, existem ainda oportunidades de para aperfeiçoamento. Uma área para aperfeiçoamento é na redução de necessidade de armazenamento para o banco de dados históricos de tráfego. Uma vez que o volume de dados históricos de tráfego é tão grande, seria um benefício representar os dados históricos de tráfego de uma maneira que minimize as necessidades de armazenamento.
SUMÁRIO
Um dicionário de perfis de velocidade e tabelas de pesquisa associadas são apresentados. Um conjunto de perfis de velocidade distintos é definido mediante o uso de uma rotina de análise estatística. De preferência, a rotina de análise estatística utiliza um agrupamento. O agrupamento é uma técnica de análise estatística que analisa a distribuição de dados em múltiplas dimensões e tenta organizar os dados em agrupamentos similares. Os perfis de velocidade são, em seguida, comparados com os códigos de posição que identificam locais físicos em uma rede de estradas. O uso de um dicionário de perfis de velocidade pode reduzir as necessidades de armazenamento de um banco de dados históricos de tráfego em até 98 %. O dicionário de perfis de velocidade pode ainda ser usado para identificar dados de entrada errados, o que aumenta a consistência e a qualidade de um banco de dados históricos de tráfego.
Estes, bem como ainda outros, aspectos e vantagens tornar-se-ão aparentes àqueles com habilidade simples na técnica, mediante a leitura da descrição detalhada a seguir, com referência apropriada aos desenhos em anexo. Além disso, deve-se entender que o presente sumário é tão-somente um exemplo e não tem a intenção de limitar o âmbito de aplicação da presente invenção tal como reivindicada.
BREVE DESCRIÇÃO DOS DESENHOS
Modalidades presentemente preferidas são descritas a seguir, em conjunto com as figuras de desenho em apenso, nas quais numerais de referência similares se referem a elementos similares nas diversas figuras, e nas quais:
A Figura 1 é um diagrama em blocos de uma plataforma computacional para a ge ração de um dicionário de perfis de velocidade, de acordo com um exemplo;
A Figura 2 é exemplo proposto pela aplicação do dicionário de perfis de velocidade, ilustrado na Figura 1;
A Figura 3 é um fluxograma de um método para a geração de um dicionário de perfis de velocidade e tabelas de pesquisa associadas, de acordo com um exemplo;
A Figura 4 é um fluxograma de um método de análise de dados históricos de tráfego, de acordo com um exemplo;
A Figura 5 é um gráfico que ilustra a estatística exemplar de um perfil de velocidade;
A Figura 6 é um gráfico que ilustra um perfil de velocidade exemplar; e
A Figura 7 ilustra um dicionário de perfis de velocidade e uma tabela de pesquisa de dicionário de perfis de velocidade, de acordo com um exemplo.
DESCRIÇÃO DETALHADA
A Figura 1 é um diagrama em blocos de uma plataforma computacional 100 que inclui um hardware e um software. A plataforma computacional 100 pode ser um servidor, um computador pessoal (PC), uma pluralidade de computadores acoplados entre si para aplicações computacionais paralelas, ou qualquer outro computador ou sistema de computadores. A plataforma computacional 100 inclui um processador 102 que é operável de modo a executar uma aplicação de dicionário de perfis de velocidade (SPD) 104 armazenada em uma memória de armazenamento legível em computador 106. A memória de armazenamento legível em computador 106 pode ser situada dentro da plataforma computacional 100 conforme mostrado na Figura 1. De maneira alternativa, a memória de armazenamento legível em computador 106 pode ser situada externa à plataforma computacional 100, tal como em uma unidade de memória flash ou em um disco CD-ROM, cuja unidade ou disco é acessada por meio da plataforma computacional 100 quando a memória 106 é conectada à plataforma computacional 100.
A aplicação do dicionário SPD 104 gera perfis de velocidade baseados nos dados históricos de tráfego armazenados em um primeiro armazenador de dados 108. O dicionário SPD 104 em seguida associa os perfis de velocidade gerados a um identificador de agrupamento de modo a criar um dicionário de perfis de velocidade. A aplicação do dicionário SPD 104 também gera uma ou mais tabelas de pesquisa que associa os dados de posição e os períodos de hora ao identificador de agrupamentos. O processador 102 em seguida armazena o dicionário de perfis de velocidade e as tabelas de pesquisa em um segundo armazenador de dados 110.
O armazenador de dados 108, 110 inclui os dados organizados em uma estrutura de dados e armazenados em uma memória, tal como em uma memória ROM, memória RAM, ou memória flash. Embora a Figura 1 ilustre os armazenadores de dados 108, 110 como estando na plataforma computacional 100, deve-se entender que um ou ambos os armazenadores de dados 108, 110 podem ser armazenados em qualquer lugar e se tornar acessíveis à plataforma computacional 100. Além disso, os armazenadores de dados 108, 110 podem ser divididos em mais de dois armazenadores de dados.
A Figura 2 is uma entrada exemplar à aplicação de dicionário SPD 104 ilustrado na Figura 1. O exemplo ilustrado na Figura 2 é uma tabela 200 que pode ser armazenada no primeiro armazenador de dados 108. Outras estruturas de dados podem ser usadas na organização e armazenamento dos dados de entrada. Além disso, outros tipos de dados podem ser incluídos nos dados de entrada.
A tabela 200 inclui um atributo de código de posição 202. O atributo de código de posição 202 inclui os dados associados às informações de posição. As informações de posição podem incluir coordenadas geográficas (por exemplo, latitude, longitude, e altitude), os códigos de tráfego (por exemplo, os códigos do Canal de Mensagem de Tráfego do Sistema de Dados de Rádio (RDS-TMC) e os códigos de Informação de Veículo e do Sistema de Comunicação (VICS)), as identificações de segmento de estrada, as identificações de grade ou tijolo, e/ou qualquer outro método de identificação de um local físico em uma ou adjacente a uma rede de estradas no mundo real.
A tabela 200 inclui ainda um atributo de código de dia 204. O atributo de código de dia 204 inclui dados associados aos dias da semana ou a outros dias de interesse. Por exemplo, os dias da semana podem ser representados numericamente (por exemplo, Domingo = 1, ... Sábado = 7). Como outro exemplo, os demais dias de interesse podem ser atribuídos a código numéricos, tais como 100 = Dia de Ação de Graças, 200 = Domingo de Páscoa, e assim por diante. Outros esquemas de codificação podem também ser usados para identificar os dias da semana ou outros dias de interesse.
Além disso, o atributo de código de dia 204 pode identificar outras condições que podem impactar os tempos de viagem. Por exemplo, o atributo de código de dia 204 pode incluir dados associados a condições climáticas, tais como chuva, neve, e vento. Como outro exemplo, atributo de código de dia 204 pode incluir dados associados a condições de estrada, tais como fechamentos de pista.
A tabela 200 inclui ainda um ou mais atributos de períodos de hora 206. Os atributos de períodos de hora 206 incluem dados associados à quantidade de velocidade por um período de tempo. Por exemplo, o período de tempo pode ser de quinze minutos. Neste exemplo, há noventa e seis períodos de hora, cada qual associado a uma quantidade de velocidade. Outras durações de períodos de hora podem também ser usadas. A quantidade de velocidade pode ser um número que representa uma velocidade média (por exemplo, milhas por hora (MPH), quilômetros por hora (KPH)) para o período de hora medido no local associado. A quantidade de velocidade pode também representar outras quantidades, tais como a velocidade média para o período de hora medido no local associado.
A Figura 3 é um fluxograma de um método 300 para a geração de um dicionário de perfis de velocidade e tabelas de pesquisa associadas utilizando o armazenador de dados do primeiro armazenador de dados 108. O método 300 pode incluir a organização dos dados históricos de tráfego conforme ilustrado na Figura 2, caso ainda não neste formato. O método 300 pode incluir etapas adicionais também não ilustradas na Figura 3.
No bloco 302, a aplicação do dicionário SPD 104 analisa os dados históricos de tráfego armazenados no primeiro armazenador de dados 108. De preferência, uma análise de agrupamentos é feita nos dados históricos de tráfego. O agrupamento é uma técnica de análise estatística que analisa a distribuição de dados em múltiplas dimensões e tenta organizar os dados em agrupamentos “similares”. No entanto, outras técnicas analíticas (supervisionadas ou não supervisionadas) podem ser usadas. Por exemplo, o algoritmo Fuzzy cmeans, o algoritmo hierárquico, o Algoritmo de Árvore de Auto-Organizada (SOTA), ou outras abordagens de rede neural podem ser usadas. Uma análise exemplar é descrita com relação à Figura 4.
A Figura 4 é um fluxograma de um método 400 de análise de dados históricos de tráfego armazenados no primeiro armazenador de dados 108. O método 400 utiliza um agrupamento por k médias. O agrupamento por K médias funciona bem com grandes conjuntos de dados, como, por exemplo, com os dados históricos de tráfego. Em um exemplo, a aplicação do dicionário SPD 104 pode utilizar um software analítico vendido pela SPSS Inc. com o objetivo de analisar dados históricos de tráfego. No entanto, outros algoritmos e/ou programas de software podem ser utilizados no método 400.
No bloco 402, a aplicação do dicionário SPD 104 particiona os dados históricos de tráfego armazenados no armazenador de dados 108 em grupos de velocidade referidos no presente documento como baldes de velocidade. Por exemplo, os dados históricos de velocidade podem ser agrupados em baldes de velocidade de 5 KPH. Neste exemplo, as partições saída baseadas em múltiplos de cinco e incluem velocidades de +/- 2.5 KPH. A partição pode garantir que uma dada velocidade noturna do código de posição seja consistente entre dias da semana diferentes.
Os baldes de velocidade são agrupados separadamente com base no número de códigos de posição presentes em cada partição. O número de agrupamentos alvo para cada partição pode ser obtido mediante o uso da seguinte fórmula, na qual LC = código de posição e Alvo é a entrada alvo de agrupamentos.
Número de agrupamentos = (contagem de código LC de partição / contagem de código LC total) * Alvo +2
No bloco 404, a aplicação do dicionário SPD 104 constrói centros de agrupamentos iniciais. Os centros de agrupamentos iniciais podem ser predeterminados ou ser aleatória mente selecionados. Por exemplo, inicialmente os centros de agrupamentos podem ser aleatoriamente selecionados. Com o passar do tempo, os centros de agrupamentos iniciais podem ser predeterminados com base nos resultados anteriores do método 400.
No bloco 406, a aplicação do dicionário SPD 104 atribui agrupamentos com base em uma distância até os centros de agrupamentos. Os códigos de posição são atribuídos ao centro de agrupamento mais próximo. No bloco 408, a aplicação de dicionário SPD 104 calcula novamente os centros de agrupamento com base nos códigos de posição atribuídos ao agrupamento. Este processo de atribuição de códigos de posição aos centros de agrupamento e em seguida recalcular novas posições de centros de agrupamento continua com base em uma determinação no bloco 410.
No bloco 410, a aplicação do dicionário SPD 104 determina se há uma variação nos centros de agrupamento. Por exemplo, quando os centros de agrupamento não se movimentam após o último recálculo de centros de agrupamento, não haverá nenhuma variação. Além disso ou de maneira alternativa, quando os centros de agrupamento se movimentam ligeiramente (por exemplo, abaixo de um valor limite) ou oscilam entre duas posições, a aplicação do dicionário SPD 104 poderá determinar que não há nenhuma variação nos centros de agrupamento. Quando há uma variação, a aplicação do dicionário SPD 104 volta para o bloco 406. De outra forma, no bloco 412, a aplicação do dicionário SPD 104 emite perfis de velocidade, que são usados no bloco 304 do método 300.
Além disso ou de maneira alternativa, no bloco 410, a aplicação do dicionário SPD 104 pode determinar se um número predeterminado de iterações ocorreu. Por exemplo, o número predeterminado de iterações pode ser 100. Quando o número predeterminado de iterações não é atingido, a aplicação do dicionário SPD 104 volta para o bloco 406. De outra forma, no bloco 412, a aplicação do dicionário SPD 104 emite perfis de velocidade, que são usados no bloco 304 do método 300.
Voltando à Figura 3, no bloco 304, a aplicação do dicionário SPD 104 define um dicionário de perfis de velocidade utilizando os perfis de velocidade gerados pela análise dos dados históricos de tráfego no bloco 302. A aplicação do dicionário SPD 104 coleta códigos de posição 202 para cada agrupamento e gera estatísticas para cada período de hora 206 (época). A Figura 5 é um gráfico 500 que ilustra as estáticas exemplares para um perfil de velocidade. O gráfico 500 ilustra a faixa de valores 502, o percentual nonagésimo (90°) 504, e o perfil de velocidade definido 506. Neste exemplo, o perfil de velocidade 506 é definido como o valor mínimo de velocidade. A Figura 6 é um gráfico 600 que ilustra um exemplo de perfil de velocidade 602. O perfil de velocidade 602 é definido como os valores de velocidade na ordem do período de hora 206, que compreende um padrão completo de velocidade diária para um dado código de posição 202.
Os perfis de velocidade são combinados quando similares a fim de garantir que os perfis tenham um único formato. Os perfis similares podem ser identificados ao realizar a análise de erros mínimos quadráticos utilizando a seguinte equação, quando d representa o desvio entre as velocidades para uma dada época.
n , n,
Erro Mínimo Quadrático = d( + dl +... + dn 2_j + d2 n = ^d = - /(x, )]2 í=l í (=1
Cada perfil de velocidade único é atribuído a um identificador de agrupamento para fins de referência.
No bloco 306, a aplicação do dicionário SPD 104 atribui códigos de posição e códigos de dia aos perfis de velocidade definidos no bloco 304. A Figura 7 ilustra uma porção de um exemplo de dicionário de perfis de velocidade 700 e uma porção de uma tabela de pesquisa de dicionário de perfis de velocidade 702 exemplar. A Figura 7 é uma saída exemplar de uma aplicação do dicionário SPD 104 ilustrada na Figura 1, que pode ser armazenada no armazenador de dados 110.
O dicionário de perfis de velocidade 700 organiza os perfis de velocidade por meio do identificador de agrupamento atribuído. O dicionário de perfis de velocidade 700 pode incluir qualquer número de perfis de velocidade. Por exemplo, o dicionário de perfis de velocidade pode ter de 500 a 1000 agrupamentos diferentes de modo a prover uma boa faixa de perfis com uma perda mínima de precisão.
A tabela de pesquisa do dicionário de perfis de velocidade 702 identifica um perfil de velocidade correspondente por local e dia utilizando o identificador de agrupamento do dicionário de perfis de velocidade 700. No exemplo ilustrado na Figura 7, o identificador de agrupamento #5 é atribuído ao código de posição 5918, de segunda feira à terça feira. Embora a tabela de pesquisa 702 utilize os código do canal TMC, deve-se entender que qualquer esquema de referência de local poderá ser usado. Além disso, mais de uma tabela de pesquisa pode ser criada. Por exemplo, pode haver tabelas separadas para feriados, dias especiais, e/ou dias de tráfego ruim devido ao clima, fechamentos de pista, e assim por diante.
Uma aplicação que usa dados históricos de tráfego, tal como uma aplicação de roteamento, poderá usar o dicionário de perfis de velocidade 700 juntamente com uma ou mais tabelas de pesquisa 702 ao invés de usar todo o banco de dados históricos de tráfego. A aplicação de roteamento pode ser armazenada na memória de um sistema de navegação, um telefone móvel, um computador pessoal, um servidor conectado à Internet, ou qualquer outra plataforma computacional adequada. Um usuário poderá solicitar uma orientação de rota por meio da provisão de informações, tais como origem, destino, dia de partida, hora de partida, dia de chegada, e hora de chegada, para a plataforma computacional.
A aplicação de roteamento em seguida calcula uma rota a partir da origem até o destino utilizando algoritmos de roteamento conhecidos. A aplicação de roteamento identifi ca os códigos de posição associados a um local físico ao longo da rota e usa os códigos de posição e do dia de partida para obter um identificador de agrupamento a partir da tabela de pesquisa 702. O dia de partida pode criar um padrão para o dia da solicitação; no entanto, o usuário poderá especificar uma data futura para o planejamento de uma viagem a ocorrer mais a frente. A aplicação de roteamento obtém um perfil de velocidade a partir do dicionário de perfis de velocidade 700 usando o identificador de agrupamento.
A aplicação de roteamento calcula um tempo de viagem estimado para a rota usando o perfil de velocidade e provê a rota e o tempo de viagem estimado ao usuário. Além disso ou de maneira alternativa, a aplicação de roteamento pode calcular um tempo de partida estimado para chegar a um destino na hora especificada pelo usuário. Além disso ou de maneira alternativa, a aplicação de roteamento pode calcular outras rotas alternativas, permitindo ao usuário selecionar uma rota que atende a suas necessidades (por exemplo, a distância mais curta, o tempo mais rápido, nenhuma rodovia, menor quantidade de tráfego).
Com referência, mais uma vez, à Figura 7, quando uma aplicação de roteamento é solicitada a prover uma orientação de rota ao longo da porção da rede de estradas atribuída ao código do canal TMC 5920 em uma segunda feira, a aplicação de roteamento usa a tabela de pesquisa 702 de modo a obter o perfil de velocidade identificado pelo identificador de agrupamento #10. Dependendo do tempo solicitado para a orientação da rota, o perfil de velocidade identifica a velocidade de viagem esperada naquela porção da rede de estradas. Embora este exemplo descreva o uso do dicionário de perfis de velocidade para roteamento, o dicionário de perfis de velocidade pode ser usado ainda com outras aplicações.
Outros benefícios podem ser realizados a partir do uso do método 300 para a geração de um dicionário de perfis de velocidade. Por exemplo, o método 300 pode ser usado para identificar perfis de velocidade improváveis resultantes de dados de entrada errôneos e/ou processamento errôneo dos dados de entrada. Como resultado, o dicionário de perfis de velocidade poderá oferecer mais qualidade e/ou consistência do que um banco de dados históricos de tráfego.
Além disso, o dicionário de perfis de velocidade pode ser usado para porções da rede de estradas não identificadas no banco de dados históricos de tráfego. Por exemplo, os perfis de velocidade podem ser atribuídos a códigos de posição para os quais há poucos ou nenhum dado de fonte com base nas similaridades com outros códigos de posição. Por exemplo, os dois códigos de posição (um associado a dados históricos de tráfego, outro sem esses dados) podem representar o mesmo tipo de estrada (por exemplo, uma rodovia), em uma área similar (por exemplo, um centro urbano), tendo uma população similar.
Pretende-se que a descrição detalhada acima seja considerada como ilustrativa ao invés de limitante e que fique entendido que as reivindicações a seguir que incluem todos os equivalentes pretendem definir o âmbito de aplicação da presente invenção. Por exemplo, embora os sistemas e métodos descritos no presente documento utilizem dados de velocidade, deve-se entender que outros dados de tráfego podem ser usados em sistemas e métodos similares. As reivindicações não devem ser lidas como limitadas à ordem descrita ou aos elementos apresentados a menos que afirmado neste sentido. Por conseguinte, todas 5 as modalidades que recaiam dentro do âmbito de aplicação e espírito das reivindicações a seguir e seus equivalentes são reivindicados como a presente invenção.