Skip to content

Incidentes da API Aimsun Next

Gerar um Incidente

Em C++ e Python

Explicação

Gere 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 onde o incidente será gerado.
  • alane: Faixa onde o incidente será gerado (1..N).
  • position: Posição do incidente.
  • length: Comprimento do incidente.
  • initime: Hora da simulação, em segundos desde a meia-noite, quando o incidente começará (segundos).
  • duration: Duração do incidente (segundos).
  • visibilityDistance: Distância de visibilidade em metros do incidente a ser usada nos modelos Aimsun 7.0. O valor padrão é 200 metros ao criar um incidente usando a interface gráfica.
  • updateIdGroup: Verdadeiro quando o incidente é um novo grupo de incidentes e falso se o incidente deve ser tratado como parte do último incidente criado (ao criar incidentes em faixas adjacentes que precisam ser tratados como um todo).
  • applySpeedReduction: Verdadeiro para aplicar uma redução de velocidade ao redor do incidente para desacelerar os veículos à medida que passam e falso caso contrário.
  • upstreamDistanceSR: Se a redução for aplicada, a distância a montante do incidente. O padrão é 200 m.
  • downstreamDistanceSR: Se a redução for aplicada, a distância a jusante do incidente. O padrão é 200 m.
  • maxSpeedSR: Se a redução for 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 onde o incidente será gerado.
  • alane: Faixa onde o incidente será gerado (1..N).
  • position: Posição do incidente.
  • length: Comprimento do incidente.
  • initime: Hora da simulação, em segundos desde a meia-noite, quando o incidente começará (segundos).
  • duration: Duração do incidente (segundos).
  • visibilityDistanceGeneral: Distância de visibilidade em metros do incidente a ser usada nos modelos Aimsun 7.0. O valor padrão é 200 metros ao criar um incidente usando a interface gráfica. 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 os ids dos tipos de veículos com diferentes distâncias de visibilidade. 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: Verdadeiro quando o incidente é um novo grupo de incidentes e falso se o incidente deve ser tratado como parte do último incidente criado (ao criar incidentes em faixas adjacentes que precisam ser tratados como um todo).
  • applySpeedReduction: Verdadeiro para aplicar uma redução de velocidade ao redor do incidente para desacelerar os veículos à medida que passam e falso caso contrário.
  • upstreamDistanceSR: Se a redução for aplicada, a distância a montante do incidente. O padrão é 200 m.
  • downstreamDistanceSR: Se a redução for aplicada, a distância a jusante do incidente. O padrão é 200 m.
  • maxSpeedSR: Se a redução for 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

Remova um incidente.

Formato
int AKIRemoveIncident(int asection, int alane, double position);
Parâmetros
  • asection: Identificador da seção onde o incidente a ser removido está localizado.
  • alane: Faixa onde o incidente será gerado.
  • position: Posição do incidente na seção (a partir do início da seção).
Saída:
  • = 0: Nenhum 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 os incidentes a serem removidos estão localizados.
Saída
  • = 0: Nenhum Erro
  • < 0: Erro

Resetar Todos os Incidentes

Em C++ e Python

Explicação

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

Formato
int AKIResetAllIncidents();
Parâmetros:

Nenhum.

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