Esperimento “metereologico”
24 04 2008Questo clima fortemente variabile mi ha fornito lo spunto per divertirmi un pò con un’applicazione per l’OCR chiamata con molta fantasia “gocr“. Si tratta appunto di un programma per il riconoscimento ottico dei caratteri utilizzabile, molto semplicemente, da linea di comando.
Il sito CampaniaMeteo.it offre la possibilità di consultare la situazione metereologica dettagliata raccolta da molte stazioni poste su tutto il territorio. Beh, capisco che coloro a cui non interessa un bel niente della temperatura in Campania troveranno questo articolo assolutamente inutile, ma lo scopo è illustrare il funzionamento del pacchetto in questione nonché il funzionamento dell’OCR.
#!/bin/bash
if ping -c1 www.campaniameteo.it >/dev/null;
then echo ":)"
else echo ":("
echo "- Connessione non riuscita: l'esecuzione verra' ora terminata"
exit
fi;
rm tutte.pgm tutte.gif
wget -q http://www.campaniameteo.it/tutte.gif
convert tutte.gif tutte.pgm
new_item=$(gocr tutte.pgm | grep Lungomare | sed '/Cff/d ; s/I/1/g ; s/\^/\°/g ; s/°_o/\%\ \ /g ; s/\°o/\%\ \ /g ; s/Ms/kts/g ; s/O/0/g ; /^$/d ; s/\ \ */---/g ; s/---/;/g')
lines=$(wc -l data.txt)
# Give me the last line
last_item=$(head -$lines data.txt | tail -1)
if [ $last_item = $new_item ];
then
echo “- Dato gia’ presente, l’acquisizione verra’ ignorata”
else
echo -n “- Nuova acquisizione, il valore verra’ aggiunto”
echo $new_item >> data.txt
echo ” [ OK ]”
fi
Salvate questo script con un nome del tipo nome_simpatico.sh, dategli i permessi di esecuzione ed eseguitelo. Raccoglierà i dati presenti nella riga “Salerno Lungomare” (perchè sono quelli che mi interessano visto che vivo qui :P) e li scriverà in un file chiamato data.txt.
Ho utilizzato questi dati per raccoglierli in un database passandoli successivamente ad un foglio di calcolo per realizzare grafici e statistiche varie.

