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