Ameciclo / ciclomputador

Este projeto tem a funcionalidade de ler e processar os arquivos gpx gerados através das avaliações em campo pelo projeto de avaliação cicloviária Ideciclo
0 stars 0 forks source link

Alinhamento de Referências para Dados de Consumo #3

Closed italosergio closed 4 weeks ago

italosergio commented 1 month ago

existe no app mas nao existe no json

- tipologia inspecionada
- codigo da via
- acesso sem via transversal
- error
- na parte de riscos falta no json
    "Conversão perigosa. EXPLIQUE.",
    "Cruzamento perigoso. EXPLIQUE.",
    ** e se/como colocaremos esse "explique" ja que pode ser em texto mas tambem pode ser em audio e/ou foto.
- "Grade alinhada ao pneu" na parte de obstaculos
- SOBRE CONTROLE DE VELOCIDADE
    "Nenhum elemento de controle de velocidade na via"
    "Piso diferenciado"
- "Iluminação geral dos dois lados da via"
- "bicicletarios": {
  "U invertido": 0,
  "Entorta roda": 0,
  "Açougue": 0,
  "Trave de balé": 0,
  "Suspenso na parede": 0,
  "Presilha na parede": 0,
  "Outro paraciclo": 0,
  "Tem cobertura": 0,
  "É privado": 0,
  "Quantidade de vagas": 0,
  "Se tiver um nome, descreva": 0
}

existe no json mas nao existe no app

- "inicio do trecho" e " fim do trecho"
- "crossings_no_speed_reduction" ou "Cruzamentos com veículos em curva de ângulo aberto e sem tratamento de redução de velocidade"
- "Trajeto de conversão permite invasão de automóvel de trecho de linha contínua da estrutura" ou "conversion_path_allows_car_intrusion"
- "car_turning_left_with_cyclist_invisibility" ou "Conversão à esquerda de automóvel com invisibilidade de ciclista"
- "13. OBSTÁCULOS PERMANENTES (RELATIVOS AO ASFALTO)" ou permanent_obstacles_asphalt_related
- "Se valas, largura desta" 
- vertical_speed_signs_count
- sobre as placas de inicio e fim, no json é indicado que ambas sao r34, mas no nosso app é diferenciada a placa de inicio e fim da r34. alem de que ta indicado no json que [e um string, e realmente no json de salvador tem uma string "continua de outra estrutura" o que nao faz muito sentido pra mim
- Nao identifiquei no app
    "Indicação de travessias cicloviárias nas VIAS TRANSVERSAIS Travessias COM"
    "Indicação de travessias cicloviárias nas VIAS TRANSVERSAIS Travessias SEM"
- no_visible_crossing_signs (SUGESTAO REMOVER)
- pictograms_along_structure_existence (SUGESTAO REMOVER)
- arrows_along_structure_existence (SUGESTAO REMOVER)
dvalenca commented 1 month ago

só usamos os seguinte itens do json na nota

typology,
flow_direction,
traffic_flow,
localization,
speed_limit,
segregator_type,
protection_conditions_evaluation,
access_evaluation,
all_access_count,
way_with_access,
ways_without_access,
pavement_type,
pavement_condition_evaluation,
sinuosity_evaluation,
shading_evaluation,
all_risks_situations_count,
unevenness_obstacles, //NO FUTURO, ajustar
all_obstacles_count,
ridable_width,
buffer_width,
road_width,
vertical_speed_signs_count,
horizontal_speed_sign_count,
electronic_speed_control_count,
other_control_elements_count,
start_indication,
end_indication,
on_way_vertical_signs_count,
crosses_with_vertical_sign_count,
crosses_without_vertical_sign_count,
horizontal_pattern_evaluation,
painting_condition_evaluation,
good_conditions_crossing_signs,
bad_conditions_crossing_signs,
no_visible_crossing_signs,
good_conditions_picto_signs,
bad_conditions_picto_signs,
good_conditions_arrow_signs,
bad_conditions_arrow_signs,
dedicated_ligthing,
same_side_ligthing,
other_side_ligthing,
seg_length: length,
on_way_risks_situations_count,
crossing_risks_situations_count,
total_unlevel_controls,
mean_lane_width,
mean_square_size,

cycle_stoplight_count = 0,
total_stoplight_count = 0,
additional_signs_count = 0,
dvalenca commented 1 month ago

mas fazemos a conta do total de situações de risco assim:

converted["all_risks_situations_count"] = parseInt( converted["all_risks_situations_count"] ); converted["on_way_risks_situations_count"] = converted["bus_stops_along"] + converted["structure_side_change_without_speed_reducers_or_lights"] + converted["structure_abrupt_end_in_counterflow"]; converted["crossing_risks_situations_count"] = converted["crossings_no_speed_reduction"] + converted["conversion_path_allows_car_intrusion"] + converted["car_turning_left_with_cyclist_invisibility"]; converted["total_unlevel_controls"] = converted["pedestrian_crossings_count"] + converted["speed_bumps_count"];

dvalenca commented 1 month ago

o que pegamos no app tá assim:

 <row>
        <button type="tag" label="Ponto de embarque de ônibus interrompe a ciclo" icon="" />
    </row>
    <row>
        <button type="tag" label="Termina ciclo com ciclista na contramão" icon="" />
    </row>
    <row>
        <button type="tag"
            label="A ciclo troca de lado na via, sem redutores de velocidade ou semáforos"
            icon="" />
    </row>
    <row>
        <button type="tag"
            label="Conversão perigosa. EXPLIQUE."
            icon="" />
    </row>
    <row>
        <button type="tag"
            label="Cruzamento perigoso. EXPLIQUE."
            icon="" />
    </row>
    <row>
        <button type="tag" label="Outro risco. EXPLIQUE."
            icon="auditoria_cicloviaria_icons/other.png" />
dvalenca commented 1 month ago

esses são os textos na avaliação:

const pavement_type_rate_pattern = { Concreto: 10, Asfalto: 7.5, "Tijolo intertravado": 5, "Paralelepípedo rejuntado com cimento": 2.5, "Terra/Barro": 0, Ciclorrota: null, };

const pavement_condition_rate_pattern = { "Bom estado": 10, "Pequenas imperfeições, como fissuras": 8, "Falhas que demandam redução de velocidade ou parada": 6, "Irregularidades que demandam desvio para circulação": 4, "Buracos grandes que demandam saída a estrutura": 2, "Totalmente destruído, impossível transitar": 0, };

const painting_condition_rate_pattern = { "A pintura está boa, COMPLETA e visível": 10, "A pintura está boa, mas FALHA em ALGUNS pontos": 8, "A pintura é falha em VÁRIOS pontos": 4, "A pintura é MUITO falha, mostrando muito asfalto": 2, "Pintura APAGADA ou somente rastros de tinta": 0, };

const segregator_type_rate_pattern = { Canteiros: 10, Mureta: 8, Guias: 8, "Prismas ou blocos de concreto": 7, Balizadores: 5, "Tachas ou tachões": 4, "Sinalização com pintura": 2, "Não há": 0, Ciclorrota: null, };

const protection_conditions_rate_pattern = { "SE CICLOVIA, segregação impede completamente a invasão de automóvel e não há trechos desprotegidos": 10, "SE CICLOFAIXA, impossível automóvel invadir a estrutura sem ultrapassar por segregadores": 10, "Poucos trechos SEM segregadores dificultando invasão": 6.6, "Poucos trechos COM segregadores dificultando invasão": 3.3, "NENHUM ou QUASE NENHUM segregador dificultando invasão": 0, Ciclorrota: null, };

const shading_rate_pattern = { "Sombras na MAIOR PARTE da extensão": 10, "Sombras em PRATICAMENTE TODA a extensão": 8, "Sombras em alguns trechos, COM mudas plantadas": 6, "Sombras em alguns trechos, SEM mudas novas": 4, "Somente mudas novas": 2, "Não há árvores nem mudas": 0, };

const horiontal_pattern_rates_pattern = { "Toda área de circulação pintada de vermelho": 10, "Pintada de vermelho com interrupções": 6.7, "Apenas faixas vermelhas nas bordas, com travessias pintadas nos cruzamentos": 3.3, "Apenas faixas vermelhas nas bordas.": 0, Ciclorrota: null, };

const sinuosity_rates_pattern = { "O traçado é completamente reto": 10, "O traçado é sinuoso, exigindo atenção": 6.6, "O traçado é muito sinuoso, podendo causar colisões com obstáculos ou outros ciclistas em momento de ultrapassagem": 3.3, "O traçado é muito sinuoso ou possui curvas com obstáculos que impedem visualização de entorno ou parte da estrutura": 0, };

let project_conception_rates_pattern = { bidirecional: { "Mão única": { "Isoladas (em área verde)": 10, "No bordo esquerdo da via de mão única": 7.5, "Na via, junto ao canteiro central/canal": 5, "No canteiro central": 5, "Sobre a calçada": 2.5, "No bordo direito da via de mão única": 0, Ciclorrota: null, "Em um dos bordos de via de mão dupla": null, }, "Mão dupla": { "Isoladas (em área verde)": 10, "Sobre a calçada": 5, "Na via, junto ao canteiro central/canal": 5, "No canteiro central": 5, "Em um dos bordos de via de mão dupla": 0, "No bordo direito da via de mão única": null, "No bordo esquerdo da via de mão única": null, Ciclorrota: null, }, }, unidirecional: { "Mão única": { "Isoladas (em área verde)": 10, "No bordo esquerdo da via de mão única": 7.5, "No bordo direito da via de mão única": 7.5, "Na via, junto ao canteiro central/canal": 5, "No canteiro central": 5, "Sobre a calçada": 2.5, Ciclorrota: null, "Em um dos bordos de via de mão dupla": null, }, "Mão dupla": { "Isoladas (em área verde)": 10, "Em um dos bordos de via de mão dupla": 7.5, "Na via, junto ao canteiro central/canal": 5, "No canteiro central": 5, "Sobre a calçada": 2.5, "No bordo direito da via de mão única": null, "No bordo esquerdo da via de mão única": null, Ciclorrota: null, }, }, };

const flattenedRates = {};

for (const cycle_flow in project_conception_rates_pattern) { for (const traffic_flow in project_conception_rates_pattern[cycle_flow]) { for (const localization in project_conception_rates_pattern[cycle_flow][ traffic_flow ]) { const key = ${cycle_flow} > ${traffic_flow} > ${localization}; const rating = project_conception_rates_pattern[cycle_flow][traffic_flow][ localization ]; flattenedRates[key] = rating; } } }

project_conception_rates_pattern = flattenedRates;

module.exports = { sinuosity_rates_pattern, pavement_type_rate_pattern, pavement_condition_rate_pattern, painting_condition_rate_pattern, segregator_type_rate_pattern, protection_conditions_rate_pattern, shading_rate_pattern, project_conception_rates_pattern, horiontal_pattern_rates_pattern, };

italosergio commented 1 month ago

estrutura atual

{ "id": 1, "resume": { "timestamp": "2024-04-18_17-53-33", "evaluator_1": "Mayra", "evaluator_2": "Ada", "date": "2024-04-18", "start_time": "17-53-33", "section_start": "DEFINIR", "section_end": "DEFINIR", "section_name": "Rua do Futuro e Rua João Ramos até a Rua Amélia.", "typology": "CICLOFAIXA", "flow_direction": "", "traffic_flow": "Mão Única", "localization": "No bordo esquerdo de Via de Mão Única", "speed_limit": "30km/h", "contiguos_lanes": "2 faixas", "segregator_type": "Tachões", "protection_conditions_evaluation": "SE CICLOFAIXA: para invadir a ciclo parte do automóvel passa obrigatoriamente por cima de segregadores", "access_evaluation": "Segregadores NÃO DIFICULTAM o acesso de ciclistas", "all_access_count": 0, "way_with_access": 0, "ways_without_access": 0, "ways_access_apply": "", "pavement_type": "Asfalto", "pavement_condition_evaluation": "Irregularidades que demandam desvio para circulação", "sinuosity_evaluation": "A ciclo é completamente reta.", "shading_evaluation": "Sombras em alguns trechos, SEM mudas novas", "car_risk_situations": "Conversão perigosa. EXPLIQUE., Outro risco. EXPLIQUE.", "bus_stops_along": 0, "crossings_no_speed_reduction": "DEFINIR", "conversion_path_allows_car_intrusion": "DEFINIR", "structure_side_change_without_speed_reducers_or_lights": 0, "car_turning_left_with_cyclist_invisibility": "DEFINIR", "structure_abrupt_end_in_counterflow": 0, "other_car_risk_situations": 1, "all_risks_situations_count": 3, "permanent_obstacles_asphalt_related": "Bueiro, Raíz, Buraco, Vala profunda, Outro obstáculo", "manhole_covers": 5, "roots": 1, "potholes": 1, "deep_gutters_along_structure": 1, "unevenness_obstacles": 0, "other_obstacles": 3, "all_obstacles_count": 11, "if_gutters_width": "DEFINIR", "ridable_width": 27, "buffer_width": null, "side_lane_width": 0, "road_width": 673, "parking": "Estacionamento de um lado, incluso na circulação", "max_speed_control": "", "vertical_speed_signs_count": "DEFINIR", "horizontal_speed_sign_count": 0, "pedestrian_crossings_count": 0, "speed_bumps_count": 0, "electronic_speed_control_count": 0, "other_control_elements_count": 0, "start_indication": "DEFINIR", "end_indication": "DEFINIR", "on_way_vertical_signs_count": 6, "crosses_with_vertical_sign_count": "DEFINIR", "crosses_without_vertical_sign_count": "DEFINIR", "horizontal_pattern_evaluation": "Pintada de vermelho com interrupções", "painting_condition_evaluation": "A pintura está boa, mas FALHA em ALGUNS pontos", "good_conditions_crossing_signs": 9, "bad_conditions_crossing_signs": 1, "no_visible_crossing_signs": "DEFINIR", "pictograms_along_structure_existence": "DEFINIR", "good_conditions_picto_signs": 32, "bad_conditions_picto_signs": 8, "arrows_along_structure_existence": "DEFINIR", "good_conditions_arrow_signs": 32, "bad_conditions_arrow_signs": 8, "dedicated_ligthing": 0, "same_side_ligthing": 0, "other_side_ligthing": 0, "notes_comments": "", "front_page_photo": "DEFINIR", "back_page_photo": "DEFINIR", "structure_photos": "DEFINIR", "comments": "DEFINIR", "seg_length": "1,0", "geo_id": "DEFINIR", "form_id": "DEFINIR", "typology_evaluate": "Ciclofaixa", "ways_access_ath_allows_car_intrusion": 0 },

italosergio commented 1 month ago

"vertical_speed_signs_count": somatorio de placas de velocidade

italosergio commented 1 month ago

"start_indication": "DEFINIR", "end_indication": "DEFINIR",

definido como >> sim ou nao (string)

italosergio commented 1 month ago
italosergio commented 1 month ago

tipologia inspecionada (ja ta la)

italosergio commented 1 month ago

para os elementos contatenados >> array string

ex.: fotos comentarios audios