Come caricare un layer di umap da csv fatto con Google Sheets.
Come caricare un layer di umap da csv fatto con Google Sheets.
Immaginiamo di aver creato un Modulo in Google Drive che carica i dati in un Foglio Google .
https://docs.google.com/forms/d/e/1FAIpQLSelrE4PA4-LxK8PdN34mCkcIg4QE5GG7x0JREw16U7NFt6lTA/viewform
Rispondendo alle domande e cliccando Invia, una riga viene aggiunta al primo Foglio di Google, chiamato "Risposte del modulo 1".
A questo punto per umap servono le coordinate dove piazzare i segnaposto.
Per ottenere le coordinate geografiche (longitudine e latitudine) di un indirizzo occorre chiamare un servizio internet che si chiama nominatim e funziona così:
https://nominatim.openstreetmap.org/search?q=via%20valera%202%20crema&format=json
dove %20 significa "spazio".
Il servizio nominatim risponde così:
Immaginiamo di aver creato un Modulo in Google Drive che carica i dati in un Foglio Google .
https://docs.google.com/forms/d/e/1FAIpQLSelrE4PA4-LxK8PdN34mCkcIg4QE5GG7x0JREw16U7NFt6lTA/viewform
Rispondendo alle domande e cliccando Invia, una riga viene aggiunta al primo Foglio di Google, chiamato "Risposte del modulo 1".
A questo punto per umap servono le coordinate dove piazzare i segnaposto.
Per ottenere le coordinate geografiche (longitudine e latitudine) di un indirizzo occorre chiamare un servizio internet che si chiama nominatim e funziona così:
https://nominatim.openstreetmap.org/search?q=via%20valera%202%20crema&format=json
dove %20 significa "spazio".
Il servizio nominatim risponde così:
[{
"place_id":89809479,
"licence":"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type":"way",
"osm_id":54952940,
"boundingbox":["45.3621467","45.3624285","9.6907444","9.6928743"],
"lat":"45.3623504",
"lon":"9.6917809",
"display_name":"Via Valera, Crema Nuova, Crema, Cremona, Lombardia, 26013, Italia",
"class":"highway",
"type":"residential",
"importance":0.5
}]
Occorre dunque estrarre i numerelli a fianco di lat e long.
Questo si fa con Google Fogli prima con =IMPORTDATA(https://nominatim.openstreetmap.org/search?q=via%20valera%202%20crema&format=json )
e poi andando a cercare la colonna che contiene lat e quella che contiene long.
Diciamo che tutto questo verrà fatto indirizzo per indirizzo nel foglio chiamato "geocoder".
dopodiché a umap va passato un foglio, che chiamo 'umap_csv' per esempio con 3 colonne minimo dove si riportano le info ottenute:
Siccome ogni risposta aggiunge una riga e tutto si sposta , c'è uno script che si attiva ogni volta che arriva una risposta del Modulo e copia gli indirizzi nel foglio geocoder.
function prepara_csv() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A7').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('umap_csv'), true);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Risposte del modulo 1'), true);
spreadsheet.getRange('C2:C100').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('geocoder'), true);
spreadsheet.getRange('C2').activate();
spreadsheet.getRange('\'Risposte del modulo 1\'!C2:C100').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('umap_csv'), true);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Risposte del modulo 1'), true);
spreadsheet.getRange('B2:B100').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('umap_csv'), true);
spreadsheet.getRange('A2').activate();
spreadsheet.getRange('\'Risposte del modulo 1\'!B2:B100').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('A12').activate();
};
Poi su File-> Pubblica occorre specificare il foglio (umap_csv) con questi dati essenziali e che la pubblicazione sia in formato csv.
Prendere nota del link di questa pubblicazione perché andrà messa in umap.
(https://docs.google.com/spreadsheets/d/1MhIBXkpZ8Ji8ZH8Iv2EDF6qwS0KJ_a7V7mUAl7Ra2z0/edit?usp=sharing)
Passiamo a umap.
Creata la mappa occorre modificare (matitone): cercare il simbolo della gestione layer sulla destra:
di nuovo la matita per modificare il layer e impostare "dati remoti" dove bisogna mettere il link al foglio pubblicato, specificare 'csv', dinamico ON, proxy ON e usare la cache.
https://umap.openstreetmap.fr/it/map/problemi_372969#16/45.3630/9.6885
fine.
Commenti
Posta un commento