Aimsun Next API Informações do Veículo (Meso)¶
Funções relacionadas às Informações do Veículo¶
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.