Практичний GIS-набір для польової перевірки лісових і польових доріг, колій та стежок у межах колишнього Березнівського району Рівненської області.
Головна задача: на супутниковій або OSM-карті швидко бачити всі вже відомі OSM-проходи/проїзди, межу району, а потім вручну звіряти місця, де можуть бути нові під'їзди до незаконних рубок.
python -m http.server 8765Після запуску сервера відкрити:
http://127.0.0.1:8765/overpass/osm_raion_roads_map.html
Головна локальна карта:
- синій пунктир - історична межа Березнівського району;
- жовтий - лісові/польові колії та важливі OSM-лінії;
- блакитний - стежки/path/footway;
- білий/сірий - інші дороги;
- червоний - restricted/private.
Важливо: OSM baseline не є гарантією, що на місцевості існує кожна стежка, і не гарантує, що всі реальні нові проїзди вже нанесені. Нові/свіжі лінії треба звіряти по супутнику і в полі.
overpass/osm_raion_roads_map.html- основна районна карта.overpass/osm_roads_map.html- менша карта навколо Березного.
data/bereznivskyi_historic_raion_boundary.geojson- межа колишнього Березнівського району.data/bereznivskyi_inside_boundary_all_paths.geojson- усі OSM-лінії, відфільтровані по межі району.data/osm_berezne_roads_tracks.geojson- локальний шар навколо Березного.
mobile/MOBILE_FIELD_WORKFLOW.md- як використовувати OsmAnd, QField або Google Earth на телефоні.mobile/exports/*.kml- готові KML-шари для телефона.mobile/exports/*.geojson- GeoJSON-шари для QGIS/QField.
gemini_handoff/README_FOR_GEMINI.md- що саме передавати Gemini.gemini_handoff/PROMPT_FOR_GEMINI.md- готовий prompt.gemini_handoff/data/inside_boundary_priority_field_check.min.geojson- головний легкий шар для AI Studio.gemini_handoff/data/bereznivskyi_historic_raion_boundary.min.geojson- межа району для AI Studio.
copernicus/- Sentinel-2/Copernicus evalscripts.evalscripts/- Planet/Sentinel-style yellow candidate evalscripts.python_qgis/road_candidate_pipeline.py- прототип Python/QGIS pipeline для векторизації кандидатів.
Перед продовженням роботи прочитати:
PROJECT_HANDOFF.mdAGENTS.mdgemini_handoff/PROMPT_FOR_GEMINI.mdmobile/MOBILE_FIELD_WORKFLOW.md
Не змінювати сенс шарів:
inside_boundary_*- основні шари в межах району;raion_*- ширший буфер навколо району;boundary- межа, її можна малювати пунктиром;- для польової роботи бажано мати один яскравий суцільний шар "Усі проходи/проїзди", а тип дороги показувати в popup.
Overpass-запити лежать у overpass/*.overpassql.
Основні конвертери:
python overpass/overpass_to_geojson.py data/input.overpass.json data/output.geojson
python overpass/boundary_to_geojson.py data/boundary.overpass.json data/boundary.geojson
python overpass/filter_geojson_by_boundary.py data/all.geojson data/boundary.geojson data/inside.geojson
python mobile/export_mobile_layers.py --src data/bereznivskyi_inside_boundary_all_paths.geojson --out mobile/exports --prefix inside
python gemini_handoff/build_gemini_package.pyRaw *.overpass.json відповіді не комітяться в GitHub, щоб не роздувати репозиторій. Їх можна заново отримати через overpass/fetch_custom_overpass.ps1.
Код у цьому репозиторії публікується під MIT License.
Геодані похідні від OpenStreetMap через Overpass API. У будь-якій карті або публічному використанні зберігати attribution: © OpenStreetMap contributors. Для OSM-даних діють умови Open Database License (ODbL).
- Супутникові evalscripts підсвічують candidates, але не є фінальним детектором.
- Вузькі стежки під кронами можуть не бути видимими на Sentinel-2/PlanetScope.
- Нові незаконні проїзди можуть бути відсутні в OSM, тому потрібен ручний шар
suspected/verified.