Pular para o conteúdo

Incidentes da API do Aimsun Next

Gerar um Incidente

Em C++ e Python

Explicação

Gerar um incidente.

Formato
int AKIGenerateIncident(int asection, int alane, double position, double length, double initime, double duration, double visibilityDistance, bool updateIdGroup, bool applySpeedReduction, double upstreamDistanceSR, double downstreamDistanceSR, double maxSpeedSR);
Parâmetros
  • asection: Identificador da seção em que o incidente será gerado.
  • alane: Faixa onde o incidente será gerado (1..N).
  • posição: Posição do incidente.
  • length: Duração do incidente.
  • initime: Tempo da simulação, em segundos a partir da meia-noite, quando o incidente começará (segundos).
  • duração: Duração do incidente (segundos).
  • visibilityDistance: Distância de visibilidade em metros do incidente a ser usada em modelos Aimsun 7.0. O valor padrão é 200 metros ao criar um incidente usando a interface gráfica do usuário.
  • updateIdGroup: True quando o incidente é um novo grupo de incidentes e False se os incidentes devem ser tratados como parte do último incidente criado (ao criar incidentes em faixas adjacentes que precisam ser tratados como um todo).
  • applySpeedReduction: True para aplicar uma redução de velocidade ao redor do incidente para desacelerar os veículos ao passarem por ele e False caso contrário.
  • upstreamDistanceSR: Se a redução tiver de ser aplicada, a distância a montante do incidente. O padrão é 200 m.
  • downstreamDistanceSR: Se a redução tiver de ser aplicada, a distância a jusante do incidente. O padrão é 200 m.
  • maxSpeedSR: Se a redução deve ser aplicada, a velocidade reduzida alvo. O padrão é 50 km/h.
Saída:
  • &gt 0: Identificador do Incidente
  • < 0: Erro

Gerar um Incidente

Em C++ e Python

Explicação

Gere um incidente com diferentes distâncias de visibilidade por tipo de veículo.

Formato
int AKIGenerateIncidentDistancePerVehType(int asection, int alane, double position, double length, double initime, double duration, double visibilityDistanceGeneral, int nbVehTypes, int * vehType, double * visibilityDistances, bool updateIdGroup, bool applySpeedReduction, double upstreamDistanceSR, double downstreamDistanceSR, double maxSpeedSR);
Parâmetros
  • asection: Identificador da seção em que o incidente será gerado.
  • alane: Faixa onde o incidente será gerado (1..N).
  • posição: Posição do incidente.
  • length: Duração do incidente.
  • initime: Tempo da simulação, em segundos a partir da meia-noite, quando o incidente começará (segundos).
  • duração: Duração do incidente(segundos).
  • visibilityDistanceGeneral: Distância de visibilidade em metros do incidente a ser usada em modelos do Aimsun 7.0. O valor padrão é 200 metros ao criar um incidente usando a interface gráfica do usuário. Essa distância é considerada como padrão
  • nbVehTypes: número de tipos de veículos com um valor de distância diferente de visibilityDistanceGeneral.
  • vehType: vetor com id's de tipos de veículo com uma distância de visibilidade diferente. O tamanho deste vetor é nbVehTypes. - visibilityDistances: vetor com a distância de visibilidade aplicada a cada tipo de veículo. O tamanho deste vetor é nbVehTypes.
  • updateIdGroup: True quando o incidente é um novo grupo de incidentes e false se os incidentes devem ser tratados como parte do último incidente criado (ao criar incidentes em faixas adjacentes que precisam ser tratados como um todo).
  • applySpeedReduction: True para aplicar uma redução de velocidade ao redor do incidente para desacelerar os veículos ao passarem por ele e False caso contrário.
  • upstreamDistanceSR: Se a redução tiver de ser aplicada, a distância a montante do incidente. O padrão é 200 m.
  • downstreamDistanceSR: Se a redução tiver de ser aplicada, a distância a jusante do incidente. O padrão é 200 m.
  • maxSpeedSR: Se a redução deve ser aplicada, a velocidade reduzida alvo. O padrão é 50 km/h.
Saída:
  • &gt 0: Identificador do Incidente
  • < 0: Erro

Remover um incidente

Em C++ e Python

Explicação

Remover um incidente.

Formato
int AKIRemoveIncident(int asection, int alane, double position);
Parâmetros
  • asection: Identificador da seção onde está localizado o incidente a ser removido.
  • alane: Faixa onde o incidente será gerado.
  • posição: Posição do incidente na seção (a partir do início da seção).
Saída:
  • = 0: Sem Erro
  • < 0: Erro

Remover todos os Incidentes em uma Seção

Em C++ e Python

Explicação

Remova todos os incidentes ativos em uma seção.

Formato
int AKIRemoveAllIncidentsInSection (int asection);
Parâmetros
  • asection: Identificador da seção onde estão localizados os incidentes a remover.
Saída
  • = 0: Sem Erro
  • < 0: Erro

Redefinir Todos os Incidentes

Em C++ e Python

Explicação

Remove todos os incidentes criados usando o Módulo API do Aimsun Next e inicializa a lista de incidentes com os incidentes iniciais (incidentes carregados quando o Aimsun Next carrega o tráfego)

Formato
int AKIResetAllIncidents();
Parâmetros:

Nenhum.

Saída
  • = 0: Sem Erro
  • < 0: Erro