Informações do Caminho do Veículo da API Aimsun Next¶
Funções Relacionadas às Informações do Caminho do Veículo¶
Notas¶
Ao simular uma simulação microscópica com o Aimsun Next, a demanda de tráfego pode ser descrita por estados ou Matrizes OD. Quando o tipo de demanda de tráfego é Matrizes OD, os veículos se movem pela rede usando caminhos. Esses caminhos são derivados de três fontes diferentes:
- Caminhos de Escolha de Rota: Esses são os caminhos que foram calculados pelo modelo de escolha de rota.
- Caminhos Definidos pelo Usuário: Esses caminhos são editados pelo usuário ou podem ser criados automaticamente por um experimento de atribuição estática.
- Árvores de Caminho Mais Curto Definidas pelo Usuário: Essas são as árvores de caminho mais curto onde, para cada centróide de destino, há um caminho de cada ponto na rede, assumindo que um existe. Esses caminhos podem ser criados por um experimento Macros ou Dinâmico.
As seguintes funções podem ser usadas para recuperar informações do caminho do veículo, bem como o próprio caminho.
Obter Informações do Caminho do Veículo¶
Em C++ e Python¶
Explicação¶
Leia as informações do caminho usado para um veículo. Esta função requer a identificação do veículo.
Formato¶
PathInfVeh AKIVehInfPath( int idveh )
Parâmetros¶
- idveh: o identificador do veículo
Saída¶
struct PathInfVeh{
int report;
int idVeh;
int type;
int entranceSectionId;
int numSectionsInPath;
double totalDistance;
double totalFreeFlowTravelTime;
};
onde:
- report: 0 OK, caso contrário, verifique o código de erro.
- idVeh: Identificador do veículo.
- type: Tipo de caminho:
- 1: Caminho de escolha de rota
- 2: Rota definida pelo usuário
- 3: Árvore de caminho mais curto definida pelo usuário
- entranceSectionId: Identificador da seção de entrada. Esta é a seção onde o veículo entra na rede.
- numSectionsInPath: Número total de seções que possuem o caminho.
- totalDistance: Distância total do caminho em metros.
- totalFreeFlowTravelTime: Tempo total de viagem em fluxo livre do veículo em segundos, usando a aceitação da velocidade do veículo.
Obter Informações do Caminho do Veículo em uma seção¶
Em C++ e Python¶
Explicação¶
Leia as informações de um veículo em uma seção. Esta função requer que o número de veículos na seção tenha sido obtido chamando AKIVehStateGetNbVehiclesSection.
Formato¶
PathInfVeh AKIVehInfPathSection(int aidSec, int indexveh)
Parâmetros¶
- aidSec: Identificador da Seção
- indexveh: Índice do veículo, de 0 a (Número total de veículos na seção – 1)
Saída¶
struct PathInfVeh{
int report;
int idVeh;
int type;
int entranceSectionId;
int numSectionsInPath;
double totalDistance;
double totalFreeFlowTravelTime;
};
onde:
- report: 0 OK, caso contrário, verifique o código de erro.
- idVeh: Identificador do veículo.
- type: Tipo de caminho:
- 1: Caminho de escolha de rota
- 2: Rota definida pelo usuário
- 3: Árvore de caminho mais curto definida pelo usuário
- entranceSectionId: Identificador da seção de entrada. Esta é a seção onde o veículo entra na rede.
- numSectionsInPath: Número total de seções que possuem o caminho.
- totalDistance: Distância total do caminho em metros.
- totalFreeFlowTravelTime. Tempo total de viagem em fluxo livre do veículo em segundos, usando a aceitação da velocidade do veículo.
Obter a próxima seção no caminho do veículo¶
Em C++ e Python¶
Explicação¶
Retorna o identificador da próxima seção que está sendo utilizada por um veículo. Ao usar matrizes OD, retorna a próxima seção de qualquer seção no caminho do veículo. Se estiver usando estados, retornará apenas a próxima seção para as próximas 4 seções no caminho do veículo, pois ao usar estados, o caminho completo até o destino não é pré-calculado desde o início. Somente as próximas 4 seções estão sempre disponíveis.
Formato¶
int AKIVehInfPathGetNextSection(int idveh, int fromsection)
Parâmetros¶
- idveh: O identificador do veículo
- fromsection: O identificador da seção "de".
Saída¶
- >0: Identificador da próxima seção a partir da fromsection
- -1: fromsection é a última seção do caminho, caso contrário: verifique o código de erro
Verifique se a seção está no caminho do veículo¶
Em C++ e Python¶
Explicação¶
Indica se uma seção especificada está no caminho do veículo dado. O caminho completo do veículo é examinado.
Formato¶
int AKIVehInfSectionInPath(int idveh, int idsection);
Parâmetros¶
- idveh: O identificador do veículo
- section: O identificador da seção a ser verificada.
Saída¶
- >1: A seção está realmente dentro do caminho do veículo
- 0: A seção não está dentro do caminho do veículo
- <0: Verifique o código de erro
Obter a próxima seção no caminho do veículo na seção¶
Em C++ e Python¶
Explicação¶
Leia o identificador da próxima seção de certo veículo em uma seção. Esta função requer, previamente, obter o número de veículos na seção chamando AKIVehStateGetNbVehiclesSection.
Formato¶
int AKIVehInfPathGetNextSectionInSection(int aidSec, int indexveh, int fromsection)
Parâmetros¶
- aidSec: Identificador da Seção
- indexveh: índice do veículo, de 0 a (Número total de veículos na seção – 1)
- fromsection: O identificador da seção "de".
Saída¶
- >0: identificador da próxima seção a partir da fromsection
- -1: fromsection é a última seção do caminho, caso contrário: verifique o código de erro