Incidentes da API Aimsun Next¶
Funções relacionadas a Incidentes¶
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:¶
- > 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:¶
- > 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