Pular para o conteúdo

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

Obter informações do veículo

Em C++ e Python

Explicação

Obter as informações atuais do veículo

Formato
AMesoVehicleInfo AMesoGetVehicleInfo(void * simhandler, void * vehhandler);
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador de 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 centroide de origem
  • destino: identificador do centroide de destino
  • valueOfTime: valor do tempo usado por este veículo
  • entranceTime: tempo de entrada do veículo na rede
  • generationTime: tempo de geração do veículo, este tempo é sempre menor ou igual a entranceTime
  • currentSection: identificador da seção atual; se o veículo estiver em um movimento de conversão, esta seção atual será definida como 0
  • currentTurning: identificador do movimento de conversão atual; se o veículo estiver em uma seção, ele é definido como 0
  • currentEntranceLane: identificador da faixa de entrada atual de 0 até o 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 atual de saída do movimento de conversão.
  • nextSectionId: id da próxima seção. Se o veículo estiver na última seção de seu caminho, retorna 0.

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

Em C++ e Python

Explicação

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

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

Retorna 0 se conseguiu executar a ação; caso contrário, -1.

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

Em C++ e Python

Explicação

Obtém o número atual de veículos que seguem 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 que segue uma linha de transporte público

Em C++ e Python

Explicação

Ele obtém o veículo que segue 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 que segue 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 está incluído.

Formato
double AMesoVehGetAccumulatedDelay(void * simhandler, void* vehhandler)
Parâmetros
  • simhandler: manipulador do simulador
  • vehhandler: manipulador de 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 de 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 de veículo
Saída

Retorna o ID do veículo.

Obter o próximo horário de saída da seção ou do movimento de conversão

Em C++ e Python

Explicação

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

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

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

Obter o próximo movimento de conversão no caminho do veículo

Em C++ e Python

Explicação

Retorna o próximo movimento de conversão no caminho do veículo. Quando o veículo está localizado no movimento de conversão, o próximo movimento de conversão é o movimento de conversão atual.

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

Retorna o ID do próximo movimento de conversão do veículo.

Obter o tempo de espera do veículo atual

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 momento mais cedo em que o veículo poderia sair da seção quando ele estava em primeiro na fila.

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

Retorna o tempo de espera em segundos.

Retorna o horário de chegada esperado a uma seção

Em C++ e Python

Explicação

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

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

Retorna um tempo de chegada esperado.

Retorna se um movimento de conversão tem sinal de dê a preferência ou não

Em C++ e Python

Explicação

Retorna true se o movimento de conversão com turn id tiver uma placa de dê a preferência/give way

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

Retorna true se o movimento de conversão tiver uma placa de dê a preferência; false caso contrário.

Retorna a margem de segurança inicial para o id do movimento de conversão

Em C++ e Python

Explicação

Retorna a margem de segurança inicial para o id do movimento de conversão.

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

Retorna a margem de segurança inicial.

Retorna a margem de segurança final para o id do movimento de conversão

Em C++ e Python

Explicação

Retorna a margem de segurança final para o id do movimento de conversão.

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

Retorna a margem de segurança final.

Retorna o tempo de viagem em fluxo livre do id do movimento de conversão

Em C++ e Python

Explicação

Retorna o tempo de viagem em fluxo livre do movimento de conversão especificado por turnId. Se vehhandler for diferente de null, usará a aceitação de velocidade do veículo; caso contrário, usará o limite de velocidade do movimento de conversão.

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

Retorna o tempo de viagem em fluxo livre.

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

Em C++ e Python

Explicação

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

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

Retorna o tempo de viagem em fluxo livre.