Fotoviewer ter ondersteuning bij wateroverlast en overstroming-situaties
Inhoudsopgave
De fotoviewer is gemaakt door D2Hydro samen met Rijkswaterstaat en Waterschap Amstel Gooi en Vecht
Download de fotoviewer uit de release: fotoviewer. Deze bevat de volgende inhoud:
├──app
│ ├── static
│ │ ├── data
│ │ │ ├── image1.jpg
│ │ │ ├── image2.png
│ │ │ ├── imagex.jpg
│ │ │ └── ....
│ │ └── js
│ │ ├── fotos.js
│ │ └── ...
│ └── index.html
└──scripts
├── parse_inbox.py
├── read_mailbox.py
└── update_app.py
De app werkt uit-de-box door op app\index.html
te klikken:
Let op (!), voor het processen van mails (zie: Mails-processen) is het belangrijk dat het mapje scripts
op gelijke hoogte blijft staan met het mapje app
, zoals het geval is in fotoviewer.zip.
Voor het processen van e-mails gebruiken we Python.
Maak een Anaconda
environment met environment.yml, zie Anaconda docs voor uitleg.
In de scripts wordt verwezen naar app_dir
(inbox
en datastore
). U kunt deze opgeven in windows omgevingsvariabele FOTOVIEWER_DATA_DIR
.
Vanaf fotoviewer versie 2024.9.0 is het niet meer mogelijk met een email_address en password in te loggen in Microsoft Hotmail, omdat deze manier van inloggen niet meer door microsoft wordt ondersteund. U zult daarom de volgende omgevingsvariabelen moeten specificeren:
FOTOVIEWER_CLIENT_ID
: een MS client id behorend bij uw hotmail-accountFOTOVIEWER_CLIENT_SECRET
: een MS client client secret behorend bij uw hotmail-accountFOTOVIEWER_TOKEN_FILE
: verwijzend naar een bestand met eenbearer-token
, tevens benodigd voor het inloggen in uw MS account.
Een voorbeeld van ingerichte omgevingsvariabelen. Alle gevoelige informatie en niet relevante informatie is uitgegrijst/uitgewit:
Alle mails worden verwerkt met een datastructuur hieronder weergegeven in data_dir
:
inbox
bevat alle emails handmatig, of automatisch, gedownload uit een mailbox en opgeslagen als email-file (eml)datastore
bevat alle foto's in uit de bijlagen van de emails en de meta-data, onderwerp en inhoud van de emails opgeslagen infotos.gpkg
(GeoPackage)archive
mails die zijn geparsed vaninbox
naardatastore
worden opgeslagen inarchive
.
De gebruiker dient de folder data_dir
aan te maken op een willekeurige plaats. Deze mag los staan van de webapplicatie. Je kunt deze folder tevens vastleggen in windows environment variables
data_dir
├── archive
│ └── YYYYMMDDThhmmss_archived_eml_file.eml
├── datastore
│ ├── fotos.gpkg
│ ├── image1.jpg
│ ├── image2.png
│ └── imagex.jpg
└── inbox
└── eml_file.eml
Voor het versturen van foto's per e-mail is het is het belangrijk dat:
- Foto's zijn voorzien zijn van gps-tags in exif. Check of deze aan staat voor uw telefoon! Dit is te controleren door uw foto te slepen in deze webapplicatie: https://tool.geoimgr.com/
- De exif-metadata niet wordt verwijderd door uw mail-client (!)
- U bewust bent dat het
onderwerp
en deinhoud
van de mail ook in de fotoviewer zichtbaar zullen zijn (discretie geadviseerd).
E-mails dienen te worden opgeslagen in een lokale inbox
sub-folder in de data folder. Als alternatief is het ook mogelijk emails automatisch uit te lezen met een script, zie: python read_mailbox.py.
In deze stap wordt vanuit de inbox
data verplaatst in de data folder:
- Worden emls gelezen uit
inbox
- Foto's en metadata (in
fotos.gpkg
) opgeslagen indatastore
- Eml's verplaatst van
inbox
naararchive
Dit wordt uitgevoerd met python parse_inbox.py
In deze stap wordt vanuit datastore
de fotoviewer geupdated. De fotos komen in app/static/data
te staan en de meta-data in app/static/js/fotos.js
. Dit wordt uitgevoerd met python update_app.py