Per un mio interesse volevo riportare su mappa una serie di luoghi, ma avevo solo l’indirizzo a mia disposizione.
Mi sono trovato, quindi, nella necessità di trasformare questi indirizzi in punti GPS: LocationIQ mi ò venuto in aiuto.
www.locationiq.com è un sito tramite il quale, una volta registrati ed ottenuta la key da sviluppatore, si possono convertire indirizzi (via e civico) in coordinate gps e fino a 10000 indizzzi nelle 24 ore, il servizio è gratuito !!
#!/bin/bash
echo -e "lat lon title description icon iconSize iconOffset">lista.txt
rm update_poi.sql
while IFS=\; read poi indirizzo
do
indirizzo1="$indirizzo1,rome,lazio,italy"
echo $indirizzo
wget -O ppp.xml "https://eu1.locationiq.com/v1/search.php?key=ppqqtt&q=${indirizzo1}&format=xml"
actualsize=$(wc -c <"ppp.xml")
if [ $actualsize -ge 1 ]; then
XML_FILE=ppp.xml
LAT=$(xmllint --xpath 'string(/searchresults/place/@lat)' $XML_FILE)
LON=$(xmllint --xpath 'string(/searchresults/place/@lon)' $XML_FILE)
echo $poi","$LAT,$LON
echo -e "$LAT\t$LON\t$poi\t$indirizzo\n$LAT\n$LON\tOl_icon_blue_example.png 24,24 0,-24" >> lista.txt
echo "update fact_data_provisioning_gps set lat='${LAT}', lon='${LON}' where cod_poi='${poi}';">>update_poi.sql
fi
sleep 1
rm ppp.xml
done<esportazione.dsv
il piccolo programmino in bash che a fronte dell’indirizzo via/civico del mio poi, ottiene le coordinate gps e crea il file che mi permetterè l’aggiornamento della mia tabella Oracle.
A questo punto dopo aver cercato in rete qualcosa che mi potesse aiutare a mappare i punti gps ottenuti sulla cartina.
Anche in questo caso una breve ricerca e sono arrivato alla pagina
https://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example
che mi ha consentito di rappresentare i miei punti GPS in un attimo !
