Pular para o conteúdo

Controle de Medidores da API do Aimsun Next

Ler número de medidores de rampa

Em C++ e Python

Explicação

Ler o número de medidores de rampa presentes na rede viária.

Formato
int ECIGetNumberMeterings ()
Parâmetros

Nenhum parâmetro necessário.

Saída
Saída
  • ≥ 0: O número de medidores de rampa na rede viária
  • < 0: Erro

Ler informações de um medidor de rampa

Em C++ e Python

Explicação

Ler as informações do medidor de rampa elem-th.

Formato
structA2KMetering ECIGetMeteringProperties (int elem)
structA2KMetering ECIGetMeteringPropertiesById (int IdMetering)
Parâmetros
  • elem: Deve estar entre 0 e o número total de medidores de rampa -1
  • IdMetering: O identificador do medidor de rampa.
Saída
struct structA2KMetering {
    int report;
    int Id; 
    int IdSection;
    int IdFirstLane;
    int IdLastLane;
    int Type;
    double Distance;
    const unsigned short* Name;
    int Platoon;
};

em que:

  • relatório: 0, OK, caso contrário código de erro.
  • Id: Identificador do ramp meter.
  • IdSection: Identificador da seção onde o medidor de rampa está localizado.
  • IdFirstLane: Primeira faixa que o medidor de rampa cobre.
  • IdLastLane: Última faixa coberta pelo medidor de rampa.
  • Digite: Tipo de medidor de rampa: 1: GREEN, 2: FLOW, 3:DELAY, 4:FLOW ALINEA, 5:GREEN BY LANE.
  • Distância: Posição do início do medidor de rampa, em relação ao início da seção.
  • Nome: Nome do medidor de rampa.
  • Pelotão: Em medidores de rampa por fluxo, o número de veículos por faixa que permitirão atravessar.

Ler o Identificador de Seção de um medidor de rampa

Em C++ e Python

Explicação

Ler o identificador da seção que contém o elem-ésimo medidor de rampa presente na rede viária.

Formato
int ECIGetMeteringIdSection(int elem)
Parâmetros
  • elem: O índice do medidor de rampa dentro do intervalo 0 ≤ elem < número de medidores de rampa –1.
Saída
  • > 0: identificador da seção que contém o elem-ésimo medidor de rampa.
  • < 0: Erro

Ler o Identificador do Medidor de Rampa

Em C++ e Python

Explicação

Ler o identificador do medidor de rampa que contém o elem-ésimo medidor de rampa presente na rede viária.

Formato
int ECIGetMeteringIdByPosition (int elem)
Parâmetros
  • elem: O índice do controlador de acesso à rampa dentro do intervalo 0 ≤ elem < número de controladores de acesso à rampa –1
Saída
  • > 0: identificador do medidor de rampa.
  • < 0: Erro

Ler o Identificador do Ramp Meter (Função obsoleta)

Em C++ e Python

Explicação

Lê o identificador do medidor de rampa a partir de uma seção. Esta função foi descontinuada na versão 6. Use a função ECIGetMeteringIdByPosition em seu lugar.

Formato
int ECIGetMeteringId (int idsection)
Parâmetros
  • idsection: O identificador da seção para a seção onde o controlador de acesso à rampa está localizado
Saída
  • > 0: identificador do medidor de rampa.
  • < 0: Erro

Ler o Identificador do Medidor de Rampa

Em C++ e Python

Explicação

Lê o identificador do medidor de rampa a partir de uma seção e de uma posição dentro da seção (a partir do início da seção).

Formato
int ECIGetMeteringIdByPos (int idsection, double position)
Parâmetros
  • idsection: O identificador da seção para a seção onde o controlador de acesso à rampa está localizado
  • posição: A posição a partir do início da seção onde o medidor de rampa está localizado, nas unidades da rede (metros ou pés).
Saída
  • > 0: identificador do medidor de rampa.
  • < 0: Erro

Ler o Nome de um medidor de rampa

Em C++ e Python

Explicação

Leia o nome de um medidor de rampa presente em uma seção.

Formato
const unsigned short *ECIGetMeteringNameById(int idmetering);
const unsigned short *ECIGetMeteringName(int idsection) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa
  • idsection: O identificador da seção para a seção onde o medidor de rampa está localizado.
Saída
  • < > NULL: nome do medidor de rampa
  • = NULL: Erro

Código de exemplo em Python:

nonChar = boolp()
name = AKIConvertToAsciiString(ECIGetMeteringNameById(idmetering), True, nonChar)

Ler o Tipo de controlador de rampa

Em C++ e Python

Explicação

Ler o tipo de medidor de rampa presente em uma seção. O tipo de um medidor de rampa pode ser 0: None; 1: GREEN METERING; 2: FLOW METERING; 3: DELAY METERING; 4: FLOW-ALINEA METERING; 5: GREEN BY LANE METERING.

Formato
int ECIGetTypeMeteringById(int idmetering); 
int ECIGetTypeMetering (int idsection) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa
  • idsection: Um identificador válido de uma seção.
Saída
  • ≥ 0: Nenhum erro ocorreu.
  • < 0: Erro

Ler os Parâmetros de Controle de um Medidor de Rampa por Verde

Em C++ e Python

Explicação

Ler os parâmetros de um medidor de rampa por verde definidos no controle atual.

Formato
int ECIGetParametersGreenMeteringById(int idmetering, double timeSta, double *amax, double *greenTime, double *amin, double *cycleTime, double *offset, double *yellowTime);
int ECIGetParametersGreenMetering (int idsection, double timeSta, double *amax, double *greenTime, double *amin, double *cycleTime, double *offset, double *yellowtime) (deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: O valor retorna o tempo verde máximo atual em segundos.
  • greenTime: Value retorna o tempo de verde atual, em segundos.
  • amin: Value retorna o tempo verde mínimo atual, em segundos.
  • cycleTime: Value retorna o tempo de ciclo atual, em segundos.
  • offset: O valor retorna o offset, em segundos.
  • yellowtime: O valor retorna o tempo de amarelo, em segundos.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os Parâmetros de Controle de um Green Ramp Meter

Em C++ e Python

Explicação:

Altera os parâmetros de um medidor de rampa por verde definidos no controle atual.

Formato
int ECIChangeParametersGreenMeteringById(int idmetering, double timeSta, double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowTime, double currentTime, double currentTimeTrans, double cycle);
int ECIChangeParametersGreenMetering(int idsection, double timeSta, double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowtime, double currentTime, double currentTimeTrans, double cycle)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: O novo tempo máximo de verde, em segundos.
  • ngreenTime: O novo tempo de verde, em segundos.
  • amin: O novo tempo mínimo de verde, em segundos.
  • ncycleTime: O novo tempo de ciclo, em segundos.
  • offset: O novo offset, em segundos.
  • yellowtime:O novo tempo de amarelo, em segundos.
  • currentTime:O tempo atual da simulação.
  • currentTimeTrans:O tempo atual de simulação sem o aquecimento.
  • ciclo:O passo atual da simulação.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Ler os parâmetros de controle de um medidor de rampa Green by Lane

Em C++ e Python

Explicação

Lê os parâmetros de um medidor de rampa verde por faixa que estão definidos no controle atual.

Formato
int ECIGetParametersGreenMeteringByLaneById(int idmetering, double timeSta, double *amax, double *greenTime, double *amin,double *cycleTime, double *offset, double *yellowTime, double *laneOffset);
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: O valor retorna o tempo verde máximo atual em segundos.
  • greenTime: Value retorna o tempo de verde atual, em segundos.
  • amin: Value retorna o tempo mínimo de verde atual, em segundos.
  • cycleTime: Value retorna o tempo de ciclo atual, em segundos.
  • offset: O valor retorna o offset, em segundos.
  • yellowtime: O valor retorna o tempo de amarelo, em segundos.
  • laneOffset: Value retorna o atraso na ativação do verde entre faixas, em segundos.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os parâmetros de controle de um medidor de rampa verde por faixa

Em C++ e Python

Explicação

Altera os parâmetros de um medidor de rampa verde por faixa definidos no controle atual.

Formato
int ECIChangeParametersGreenMeteringByLaneById(int idmetering, double timeSta,double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowTime, double laneOffset , double currentTime, double currentTimeTrans, double cycle);
Parâmetros
  • idmetering: O identificador do medidor de rampa
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: O novo tempo máximo de verde, em segundos.
  • ngreenTime: O novo tempo de verde, em segundos.
  • amin: O novo tempo mínimo de verde, em segundos.
  • ncycleTime: O novo tempo de ciclo, em segundos.
  • offset: O novo offset, em segundos.
  • yellowtime: O novo tempo de amarelo, em segundos.
  • laneOffset: O atraso para ativar o verde entre faixas, em segundos.
  • currentTime: O tempo atual da simulação.
  • currentTimeTrans: O tempo de simulação atual sem considerar o aquecimento.
  • ciclo: O passo de simulação.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Ler os Parâmetros de Controle de um Medidor de Rampa por Fluxo

Em C++ e Python

Explicação

Ler os parâmetros de um medidor de rampa de fluxo definidos no controle atual.

Formato
int ECIGetParametersFlowMeteringById(int idmetering, double timeSta, double *amax, double *flow, double *amin);
int ECIGetParametersFlowMetering (int idsection, double timeSta, double * amax,double *flow, double *amin) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: Valor retornado para o fluxo máximo permitido.
  • fluxo: Valor retornado para o fluxo permitido.
  • amin: Valor retornado para o fluxo mínimo permitido.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os Parâmetros de Controle de um Medidor de Rampa por Fluxo

Em C++ e Python

Explicação

Altera os parâmetros de um medidor de rampa de fluxo definidos no controle atual.

Formato
int ECIChangeParametersFlowMeteringById(int idmetering, double timeSta, double amax, double flow, double amin , double currentTime, double cycle);
int ECIChangeParametersFlowMetering (int idsection, double timeSta, double amax, double flow, double amin, double currentTime, double cycle) (Deprecated function)
int ECIChangeParametersFlowMeteringResetById(int idmetering, double timeSta, double amax, double flow, double amin, double currentTime, double cycle, bool resetToGreen);
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: A nova vazão máxima permitida, em veículos por hora.
  • newflow: O novo fluxo permitido, em veículos por hora.
  • amin: A nova vazão mínima permitida, em veículos por hora.
  • currentTime: O tempo atual da simulação.
  • ciclo: A etapa atual da simulação.
  • resetToGreen: Se true, ele redefinirá o estado do medidor de rampa. Se false, considerará as novas taxas após o próximo verde programado
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Ler os parâmetros de controle de um medidor de rampa Flow-ALINEA

Em C++ e Python

Explicação

Lê os parâmetros de um medidor de rampa flow-ALINEA que estão definidos no controle atual.

Formato
int ECIGetParametersFlowAlineaMeteringById(int idmetering, double timeSta,  double *amax, double *flow, double *amin, double *kr, double *ostar, double *intervalUpdate);
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: Valor retornado para o fluxo máximo permitido.
  • fluxo: Valor retornado para o fluxo permitido.
  • amin: Valor retornado para o fluxo mínimo permitido.
  • kr: Valor para o parâmetro do regulador para este medidor de rampa.
  • ostar: Ocupação alvo na via principal.
  • intervalUpdate: Intervalo no qual o fluxo é recalculado, em segundos.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os parâmetros de controle de um medidor de rampa Flow-ALINEA

Em C++ e Python

Explicação

Altera os parâmetros de um medidor de rampa flow-ALINEA que são definidos no controle atual.

Formato
int ECIChangeParametersFlowAlineaMeteringById(int idmetering, double timeSta, double amax, double flow, double amin, double kr, double ostar, double intervalUpdate, double currentTime, double cycle);
int ECIChangeParametersFlowAlineaMeteringResetById(int idmetering, double timeSta, double amax, double flow, double amin, double kr, double ostar, double intervalUpdate, double currentTime, double cycle, bool resetToGreen);
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • amax: A nova vazão máxima permitida, em veículos por hora.
  • newflow: O novo fluxo permitido, em veículos por hora.
  • amin: A nova vazão mínima permitida, em veículos por hora.
  • kr: O parâmetro do regulador.
  • ostar: A ocupação-alvo na via principal.
  • intervalUpdate: O intervalo no qual o fluxo será recalculado, em segundos.
  • currentTime: O tempo atual da simulação.
  • ciclo: O passo de simulação.
  • resetToGreen: Se true, redefinirá o estado do controlador de rampa. Se false, considerará as novas taxas após o próximo verde programado.
Saída
  • = 0: Nenhum erro ocorreu.
  • <0: Erro

Ler os Parâmetros de Controle de um Medidor de Rampa por Atraso

Em C++ e Python

Explicação

Ler os parâmetros de um medidor de rampa por atraso definidos no controle atual.

Formato
int ECIGetParametersDelayMeteringById(int idmetering, double timeSta, double *avg, double *dev);
int ECIGetParametersDelayMetering (int idsection, double timeSta, double * avg, double *dev) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • avg: Valor retornado para o tempo médio de atraso.
  • dev: Valor retornado para o tempo de atraso de desvio.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os Parâmetros de Controle de um Delay Ramp Meter

Em C++ e Python

Explicação

Altera os parâmetros de um medidor de rampa por atraso definidos no controle atual.

Formato
int ECIChangeParametersDelayMeteringById(int idmetering, double timeSta, double newavg, double newdev);
int ECIChangeParametersDelayMetering (int idsection, double timeSta, double newavg, double newdev) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • newavg: O novo tempo médio de atraso.
  • newdev: O novo tempo de atraso por desvio.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar os parâmetros de controle de um medidor de rampa com atraso para um tipo de veículo

Em C++ e Python

Explicação

Altera os parâmetros de um medidor de rampa por atraso que estão definidos no controle atual para um tipo de veículo específico.

Formato
int ECIChangeParametersDelayMeteringVehTypeById(int idmetering, double timeSta, double newavg, double newdev, int idVehPos)
int ECIChangeParametersDelayMeteringVehType(int idsection, double timeSta, double newavg, double newdev, int idVehPos) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
  • newavg: O novo tempo médio de atraso.
  • newdev: O novo tempo de atraso por desvio.
  • idVehPos: A posição do tipo de veículo.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Desativar o plano de controle fixo de um medidor de rampa

Em C++ e Python

Explicação

Desabilita o plano de controle fixo atual de um medidor de rampa, de modo que as mudanças de estado sejam totalmente controladas pelo Aimsun Next API Module.

Formato
int ECIDisableEventsMeteringById(int idmetering);
int ECIDisableEventsMetering(int idsection) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Habilitar o plano de controle fixo de um medidor de rampa

Em C++ e Python

Explicação

Ativa o plano de controle fixo atual de um medidor de rampa, de modo que as mudanças de estado sejam completamente controladas pelo Aimsun Next, levando em conta os parâmetros definidos no controle atual.

Formato
int ECIEnableEventsMeteringById(int idmetering)
int ECIEnableEventsMetering (int idsection) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Alterar o estado de um medidor de rampa

Em C++ e Python

Explicação

Altera o estado de um medidor de rampa. Se a estrutura de controle estiver habilitada, o Aimsun Next programa a próxima alteração, levando em conta os parâmetros que definem o controle. Em Medidores de Rampa Verde e de Fluxo, é possível mudar para verde e para vermelho, mas em medidores de rampa por atraso só é possível mudar para verde e é necessário definir em qual faixa.

Formato
int ECIChangeStateMeteringById(int idmetering, int aState, double time, double cycle, int identity, double timeProportion=0.0)
int ECIChangeStateMetering(int idsection, int aState, double time, double cycle, int identity) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • aState: Um estado válido( 0: RED 1:GREEN 2:YELLOW).
  • tempo: Um tempo relativo de simulação em segundos.
  • ciclo: A duração de cada etapa de simulação em segundos.
  • identity: É o número da Faixa 1...N. Só precisa ser especificado em Medidores de Rampa por Atraso ou Medidores de Rampa por Tempo de Verde por Faixa.
Saída
  • = 0: Nenhum erro ocorreu.
  • < 0: Erro

Obter o Estado Atual de um medidor de rampa

Em C++ e Python

Explicação

Obtém o estado atual de um medidor de rampa.

Forma
int ECIGetCurrentStateofMeteringById(int idmetering, int idlane)
int ECIGetCurrentStateofMetering(int idsection, int identity) (Deprecated function)
Parâmetros
  • idmetering: O identificador do medidor de rampa.
  • idsection: Um identificador de seção válido.
  • identity: É o número da Faixa 1...N. Somente em Delay Ramp Meters.
Saída
  • ≥ 0: O Estado Atual ( 0: RED 1:GREEN 2:YELLOW)
  • < 0: Erro