Categories
QGis tutorial

Geocoding con QGIS e script Python

Nella cartella è possibile trovare il codice Python pronto per essere eseguito nella console di QGis. E’ importante creare un file JSON di input degli indirizzi in modo corretto. Lo standard JSON come potete trovare nei link utili è una rappresentazione testuale di array e nelle seguenti righe viene spiegata brevemente la struttura e le caratteristiche:

{
  "address":
    [
      "Via+Tucidide,+54,+Milano",
      "Via+Verdi,+4,+Milano",
      "Piazza+Cordusio,+5,+Milano"
    ]
}

Gli indirizzi, compresi tra le parentesi quadre [ ] sono separati dalla virgola, per formare l’elenco degli indirizzi da processare. Gli spazi sono sostituiti dal “+” e le tre infomazioni che compongono l’indirizzo sono “nome via”, “civico”, “città”.

Nel codice Python sono presenti due link a file, quello di imput e quello di output:

  • D:\ubicacionhospitaleslist.json
  • D:\ubicacionhospitaleslist.csv

E’ importante sostituire nel codice Python la scritta

--YOUR_GOOGLE_API_KEY--

con la vostra chiave personale generata nella Dashboard API di Google

Ad esempio questa stringa:

url = "https://maps.googleapis.com/maps/api/geocode/json?address="+line+"&key="+"--YOUR_GOOGLE_API_KEY--"

diventa:

url = "https://maps.googleapis.com/maps/api/geocode/json?address="+line+"&key="+"AIzaSyApj7VHnDq48SA9zodbvnTmnMQleNsNcRs"

Link utili

Tutorial to Georeference Google Searches with Python and QGIS

QGIS: Running Scripts in the Python Console

Introducing JSON

What is Geocoding?

  • https://developers.google.com/maps/documentation/geocoding/intro

Example API Google

  • https://maps.googleapis.com/maps/api/geocode/json?address=Via+Tucidide,+54,+Milano&key=you_api_key

String Concatenation and Formatting

  • http://www.pythonforbeginners.com/concatenation/string-concatenation-and-formatting-in-python

File Reading and Writing Methods

  • http://www.pitt.edu/~naraehan/python2/reading_writing_methods.html

Python: read all text file lines in loop

  • https://stackoverflow.com/questions/17949508/python-read-all-text-file-lines-in-loop

Python while Loop Statements

  • https://www.tutorialspoint.com/python/python_while_loop.htm

Reading and Writing JSON to a File in Python

  • http://stackabuse.com/reading-and-writing-json-to-a-file-in-python/

Parsing values from a JSON file?

  • https://stackoverflow.com/questions/2835559/parsing-values-from-a-json-file

How to Parse Data From JSON Into Python

  • https://linuxconfig.org/how-to-parse-data-from-json-into-python

How do you append to a file?

  • https://stackoverflow.com/questions/4706499/how-do-you-append-to-a-file

Python integer incrementing with ++

  • https://stackoverflow.com/questions/2632677/python-integer-incrementing-with