UI: «перекрыть» → «проверить» (рекомендации МЧС); геоформат «пункт, район, адрес»
1. Рекомендации не предписывают перекрывать водоёмы/ж/д — оператор ПРОВЕРЯЕТ их (правки в rules_analysis, scoring_service ×2 копии, water.py + доки). 2. Геокодирование: район нужен (дубли улиц между районами) — подсказка формата «пункт, район, адрес» и текст ошибки. 198 passed.
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
чтобы подсветить их на карте зон поиска (SearchMap):
|
||||
|
||||
- водоёмы/болота: РАС water ×3.0, эпилепсия ×3.5, возраст 0–7 ×2.2–2.5,
|
||||
критическое предупреждение «перекрыть ВСЕ водоёмы и ж/д»;
|
||||
- ж/д пути: РАС railway ×2.5 — «немедленно перекрыть ВСЕ ж/д пути».
|
||||
критическое предупреждение «проверить ВСЕ водоёмы и ж/д»;
|
||||
- ж/д пути: РАС railway ×2.5 — «немедленно проверить ВСЕ ж/д пути».
|
||||
|
||||
Данные: OpenStreetMap, лицензия ODbL — attribution обязателен на карте.
|
||||
Кэш дисковый; circuit breaker переиспользуем от geo_service, чтобы анализ
|
||||
@@ -59,7 +59,7 @@ out geom;
|
||||
"""
|
||||
|
||||
_CLASS_WARNING = 'Водоём в зоне поиска — приоритетная проверка (профиль: {profiles})'
|
||||
_RAIL_WARNING = 'Ж/д пути в зоне поиска — перекрыть/проверить немедленно (профиль: {profiles})'
|
||||
_RAIL_WARNING = 'Ж/д пути в зоне поиска — проверить немедленно (профиль: {profiles})'
|
||||
|
||||
|
||||
class GeoFeature(BaseModel):
|
||||
|
||||
@@ -112,7 +112,7 @@ class WeightedScorer:
|
||||
'shelter': 2.0,
|
||||
'settlement': 0.4,
|
||||
'distance_mult': 2.0,
|
||||
'critical_warning': 'НЕ использовать громкоговоритель с именем ребёнка! Немедленно перекрыть ВСЕ водоёмы и ж/д пути.'
|
||||
'critical_warning': 'НЕ использовать громкоговоритель с именем ребёнка! Немедленно проверить ВСЕ водоёмы и ж/д пути.'
|
||||
},
|
||||
'эпилепсия': {
|
||||
'water': 3.5,
|
||||
|
||||
@@ -44,7 +44,7 @@ const Step4Environment = ({ data, updateData }) => {
|
||||
if (!hit) {
|
||||
updateData({
|
||||
geocode_loading: false,
|
||||
geocode_error: "Адрес не найден. Уточните: «пункт, адрес» без района/области.",
|
||||
geocode_error: "Адрес не найден. Уточните: пункт, район, адрес.",
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -284,7 +284,7 @@ const Step4Environment = ({ data, updateData }) => {
|
||||
)}
|
||||
{!data.geocode_error && !data.geocode_found && (
|
||||
<p style={{ fontSize: "12px", color: "#8b949e", marginTop: "4px" }}>
|
||||
Формат «пункт, адрес» (район и область не нужны). Координаты заполнятся в поля выше.
|
||||
Формат «пункт, район, адрес». Координаты заполнятся в поля выше.
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -90,7 +90,7 @@ def _immediate_actions(profiles: list[str]) -> list[str]:
|
||||
'Опросить свидетелей в районе последнего местоположения',
|
||||
]
|
||||
if 'РАС' in profiles:
|
||||
actions.insert(0, 'КРИТИЧНО: Перекрыть все водоёмы и ж/д пути в радиусе 5 км')
|
||||
actions.insert(0, 'КРИТИЧНО: Проверить все водоёмы и ж/д пути в радиусе 5 км')
|
||||
if 'велосипед' in profiles:
|
||||
actions.insert(0, 'Расширить зону поиска до 10-15 км, проверить дорожные камеры')
|
||||
return actions
|
||||
|
||||
@@ -112,7 +112,7 @@ class WeightedScorer:
|
||||
'shelter': 2.0,
|
||||
'settlement': 0.4,
|
||||
'distance_mult': 2.0,
|
||||
'critical_warning': 'НЕ использовать громкоговоритель с именем ребёнка! Немедленно перекрыть ВСЕ водоёмы и ж/д пути.'
|
||||
'critical_warning': 'НЕ использовать громкоговоритель с именем ребёнка! Немедленно проверить ВСЕ водоёмы и ж/д пути.'
|
||||
},
|
||||
'эпилепсия': {
|
||||
'water': 3.5,
|
||||
|
||||
Reference in New Issue
Block a user