Pular para o conteúdo

Semáforos da API do Aimsun Next

Ler o número de semáforos em um nó ou ramp meter

Em C++ e Python

Explicação

Leia o número de grupos semafóricos presentes em um nó ou os semáforos em um medidor de rampa.

Formato
int ECIGetNumberSem(int idObject)
Parâmetros
  • idObject: Um identificador válido de nó ou controlador de rampa.
Saída
  • ≥ 0: Para um nó: número de grupos semafóricos no nó. Para medidores de rampa com atraso e verde por faixa: número de semáforos, um por faixa coberta pelo medidor de rampa. 1 para outros tipos de medidores de rampa.
  • < 0: Erro

Ler a posição de um semáforo ou medidor de rampa em uma seção

Em C++ e Python

Explicação

Ler a posição na seção de um medidor de rampa ou semáforo no tempo de simulação atual. Isso requer que haja um plano de controle carregado.

Formato
double ECIGetPositionSem(int idObject, int numsem )
Parâmetros
  • idObject: Um identificador válido de nó ou controlador de rampa.
  • numsem: Um contador válido de 0 a (ECIGetNumberSem(idObject)-1)
Saída
  • ≥0: Para medidores de rampa: distância até o início da seção onde o medidor de rampa está localizado.
  • <= 0 :Para nós: distância a partir do fim da seção onde o grupo semafórico está localizado, isto é, 0 por padrão ou um valor negativo a ser subtraído do comprimento da seção (seção onde o semáforo está localizado).
  • <= 1000: Error

Ler o estado de um semáforo ou medidor de rampa

Em C++ e Python

Explicação

Ler o estado de um medidor de rampa ou semáforo.

Formato
double ECIGetStateSem (int idObject, int numsem)
Parâmetros
  • idObject: Um identificador válido de nó ou controlador de rampa.
  • numsem: Um contador válido de 0 a (ECIGetNumberSem(idObject)-1).
Saída
  • 0: semáforo ou medidor de rampa em vermelho
  • 1: semáforo ou medidor de rampa em verde
  • 2: semáforo ou medidor de rampa em amarelo
  • 3: semáforo ou medidor de rampa em verde intermitente
- Para recuperar ao implementar as funções por faixa da seção ### <a id="ECIGetNumberSem"> Ler o número de semáforos/medidores de rampa em uma faixa</a> #### Em C++ e Python ##### Explicação Lê o número de semáforos mais medidores de rampa presentes em uma faixa de uma seção. ##### Formato int ECIGetNumberSem(int idSection, int idLane, double timeSta) ##### Parâmetros - **idsection*: Um identificador de seção válido. - **idLane*: Número da faixa 1...N. - **timeSta*: O tempo de simulação (tempo atual), em segundos a partir da meia-noite. ##### Saída - *&ge; 0*: Número de semáforos mais medidores de rampa na faixa da seção. - *&lt; 0*: Erro ### <a id="ECIGetPositionSem"> Ler a posição de um semáforo ou medidor de rampa em uma faixa de uma seção</a> #### Em C++ e Python:** ##### Explicação Lê a posição, na seção, de um medidor de rampa ou semáforo. ##### Formato double ECIGetPositionSem(int idSection, int idLane, int numsem, double timeSta) ##### Parâmetros - *idsection*: Um identificador de seção válido. - *idLane*: Número da faixa 1...N. - *numsem*: Um contador válido de 0 a (ECIGetNumberSem(idSection, idLane, timeSta)-1) - *timeSta*: O tempo de simulação (tempo atual), em segundos a partir da meia-noite. ##### Saída - *-1*: Semáforo localizado no final da seção -* &ge;0*: distância até o início da seção onde o medidor de rampa está localizado. ### <a id="ECIGetStateSemLane"> Ler o estado de um semáforo ou medidor de rampa em uma faixa </a> #### Em C++ e Python ##### Explicação Lê o estado de um medidor de rampa ou semáforo. ##### Formato double ECIGetStateSem (int idSection, int idLane, int numsem, double timeSta) ##### Parâmetros - *idsection*: Um identificador de seção válido. - *idLane*: Número da faixa 1...N. - *numsem*: Um contador válido de 0 a (ECIGetNumberSem(idSection, idLane, timeSta)-1) - *timeSta*: O tempo de simulação (tempo atual), em segundos a partir da meia-noite. ##### Saída - *0*: semáforo ou medidor de rampa em vermelho - *1*: semáforo ou medidor de rampa em verde - *2*: semáforo ou medidor de rampa em amarelo - *3*: semáforo ou medidor de rampa em verde intermitente --