Skip to content

Aimsun Next API Informações do Veículo (Meso)

Obter Informações do Veículo

Em C++ e Python

Explicação

Obtenha as informações atuais do veículo

Formato
AMesoVehicleInfo AMesoGetVehicleInfo(void * simhandler, void * vehhandler);
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador do veículo
Saída
struct AMesoVehicleInfo {
        int id;
        int vehicleTypeIndex;
        int origin;
        int entranceSection; 
        int destination;
        double valueOfTime;
        double entranceTime; 
        double generationTime; 
        int currentSection;  
        int currentTurning;  
        int currentEntranceLane; 
        int currentExitLane; 
        double currentExitTime;
        int nextSection;
};

Onde:

  • Id: identificador do veículo
  • Índice do Tipo de Veículo: índice do tipo de veículo.
  • origem: identificador do centróide de origem
  • destino: identificador do centróide de destino
  • valueOfTime: valor do tempo utilizado por este veículo
  • entranceTime: tempo do veículo na entrada da rede
  • generationTime: tempo de geração do veículo, este tempo é sempre menor ou igual ao entranceTime
  • currentSection: identificador da seção atual, se o veículo estiver em uma curva, então esta seção atual é definida como 0
  • currentTurning: identificador da curva atual, se o veículo estiver em uma seção, é definido como 0
  • currentEntranceLane: identificador da faixa de entrada atual de 0 ao número de faixas da seção -1. Se não houver faixa de entrada atual, então é -1
  • currentExitLane: identificador da faixa de saída atual de 0 ao número de faixas da seção -1. Se não houver faixa de saída atual, então é -1
  • currentExitTime: este é o tempo estimado de saída do veículo. É o tempo estimado de saída da seção se currentSection > 0; caso contrário, é o tempo de saída da curva atual.
  • nextSectionId: id da próxima seção. Se o veículo estiver na última seção do seu caminho, então retorna 0.

Definir novo tempo estimado de saída do veículo na seção ou curva

Em C++ e Python

Explicação

Define um novo tempo mínimo para a saída de um veículo em uma seção ou curva.

Formato
int AMesoSetVehicleExitTime(void * simhandler, void * vehhandler, double exittime);
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador do veículo
  • exittime: novo tempo mínimo de saída
Saída

Retorna 0 se a ação puder ser executada -1 caso contrário.

Obter número de veículos seguindo uma linha de transporte público

Em C++ e Python

Explicação

Obtém o número atual de veículos seguindo uma linha de transporte público.

Formato
int AMesoGetNbVehiclesFollowingPTLine(void * simhandler, int idline);
Parâmetros
  • simhandler: manipulador do simulador
  • idline: identificador da linha de transporte público
Saída

Retorna o número de veículos seguindo uma linha de transporte público.

Obter o veículo seguindo uma linha de transporte público

Em C++ e Python

Explicação

Obtém o veículo seguindo uma linha de transporte público.

Formato
void * AMesoGetVehicleFollowingPTLine(void * simhandler, int idline, int vehPos)
Parâmetros
  • simhandler: manipulador do simulador
  • idline: identificador da linha de transporte público
  • vehPos: identificador do veículo de transporte público de 0 a AMesoGetNbVehiclesFollowingPTLine-1
Saída

Retorna o veículo seguindo uma linha de transporte público.

Obter o atraso acumulado atual de um veículo

Em C++ e Python

Explicação

Obtém o atraso acumulado de um veículo. O tempo de permanência do veículo não é incluído.

Formato
double AMesoVehGetAccumulatedDelay(void * simhandler, void* vehhandler)
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador do veículo
Saída

Retorna o atraso acumulado atual do veículo.

Obter o tempo de viagem acumulado atual de um veículo

Em C++ e Python

Explicação

Obtém o tempo de viagem acumulado de um veículo.

Formato
double AMesoVehGetAccumulatedTravelTime(void * simhandler, void* vehhandler)
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador do veículo
Saída

Retorna o tempo de viagem acumulado atual do veículo.

Obter o ID de um veículo

Em C++ e Python

Explicação

Obtém o identificador (ID) de um veículo.

Formato
int AMesoGetVehicleID(void* vehhandler)
Parâmetros
  • vehhandler: manipulador do veículo
Saída

Retorna o ID do veículo.

Obter próximo tempo de saída da seção ou curva

Em C++ e Python

Explicação

Retorna o tempo de saída atual do veículo para a seção se o veículo estiver na seção ou o tempo de saída da curva se o veículo estiver no nó.

Formato
double AMesoVehGetSectionExitTime(void* vehhandler)
Parâmetros
  • vehhandler: manipulador do veículo
Saída

Retorna o tempo de saída esperado. Tempo relativo na simulação.

Obter a próxima curva no caminho do veículo

Em C++ e Python

Explicação

Retorna a próxima curva no caminho do veículo. Quando o veículo está localizado na curva, a próxima curva é a curva atual.

Formato
int AMesoVehNextTurn(void* vehhandler)
Parâmetros
  • vehhandler: manipulador do veículo
Saída

Retorna o ID da próxima curva do veículo.

Obter o tempo de espera atual do veículo

Em C++ e Python

Explicação

Retorna o tempo de espera atual do veículo. Este é o tempo de simulação atual menos o tempo de saída esperado inicial. O tempo de saída esperado inicial é o tempo mais cedo que o veículo poderia sair da seção quando é o primeiro na fila.

Formato
double AMesoVehGetWaitingTime(void* simhandler, void* vehhandler)
Parâmetros
  • simhandler: manipulador de simulação
  • vehhandler: manipulador do veículo
Saída

Retorna o tempo de espera em segundos.

Retorna o tempo de chegada esperado a uma seção

Em C++ e Python

Explicação

Retorna o tempo de chegada esperado ao id da seção. A seção deve ser parte do caminho a partir da posição atual. Caso contrário, o tempo de chegada esperado é 0.

Formato
double AMesoExpectedArrivalTimeToSection( void* simhandler, void* vehhandler, int sectionId )
Parâmetros
  • simhandler: manipulador de simulação
  • vehhandler: manipulador do veículo
  • sectionId: identificador da seção
Saída

Retorna um tempo de chegada esperado.

Retorna se uma curva tem um sinal de dê preferência ou não

Em C++ e Python

Explicação

Retorna verdadeiro se a curva com o id da curva tem um sinal de dê preferência

Formato
bool AMesoIsTurnWithGiveway( void* simhandler, int turnId )
Parâmetros
  • simhandler: manipulador de simulação
  • turnId: identificador da curva
Saída

Retorna verdadeiro se a curva tiver um sinal de dê preferência, falso caso contrário.

Retorna a margem de segurança inicial para o id da curva

Em C++ e Python

Explicação

Retorna a margem de segurança inicial para o id da curva.

Formato
double AMesoGetInitialSafteyMargin( void* simhandler, int turnId )
Parâmetros
  • simhandler: manipulador de simulação
  • turnId: identificador da curva
Saída

Retorna a margem de segurança inicial.

Retorna a margem de segurança final para o id da curva

Em C++ e Python

Explicação

Retorna a margem de segurança final para o id da curva.

Formato
double AMesoGetFinalSafteyMargin( void* simhandler, int turnId )
Parâmetros
  • simhandler: manipulador de simulação
  • turnId: identificador da curva
Saída

Retorna a margem de segurança final.

Retorna o tempo de viagem em fluxo livre do id da curva

Em C++ e Python

Explicação

Retorna o tempo de viagem em fluxo livre da curva especificada pelo turnId. Se o vehhandler for diferente de nulo, usará a aceitação de velocidade do veículo; caso contrário, usará o limite de velocidade da curva.

Formato
double AMesoGetTurnFreeFlowTravelTime( void* simhandler, void * vehhandler, int turnId )
Parâmetros
  • simhandler: manipulador de simulação
  • vehhandler: manipulador do veículo
  • turnId: identificador da curva
Saída

Retorna o tempo de viagem em fluxo livre.

Retorna o tempo de viagem em fluxo livre do id da seção

Em C++ e Python

Explicação

Retorna o tempo de viagem em fluxo livre da seção especificada pelo sectionId. Se o vehhandler for diferente de nulo, usará a aceitação de velocidade do veículo; caso contrário, usará o limite de velocidade da curva.

Formato
double AMesoGetTurnFreeFlowTravelTime( void* simhandler, void * vehhandler, int sectionId )
Parâmetros
  • simhandler: manipulador de simulação
  • vehhandler: manipulador do veículo
  • sectionId: identificador da seção
Saída

Retorna o tempo de viagem em fluxo livre.