Passa ai contenuti principali

Post

Visualizzazione dei post da Novembre, 2019

Caricare dati da app dentro umap

Dalla app fatta con appybuilder carichiamo una riga nel Google SpreadSheet che è collegato con una umap.

Riferimento : puravida (Taifun) https://puravidaapps.com/spreadsheet.php#select

Del riferimento occorre capire solo il blocco "POST", quello che carica nel Google Spreadsheet la riga con il marker.

Idea d'esempio  : vedo una buca in strada e la mappo in una umap (che poi trasformeremo in tipo heatmap):

Copio passo passo il metodo di Taifun.
Creo Spreadsheet nuovo nel mio account Google, lo nomino e poi creo un Modulo:
Strumenti ==> CreaModulo
Metto come minimo i campi Nome , tipo buca, lat e long:

e, come spiega bene Taifun, verrà automaticamente creato il foglio delle risposte nello spreadsheet.


Provare a compilare il modulo e inviarlo per essere sicuri che il giro funziona, perché la app farà proprio la stessa cosa.



Fin qui è come si fa di solito per fare sondaggi etc.
Ricordarsi però che (come visto in altro post del blog, punto 3 ) il foglio delle risposte deve…

Analisi del tool on line osmtogeojson

Si tratta di questo tool:

https://tyrasd.github.io/osmtogeojson/


In pratica si copia nella finestra a sinistra il risultato di overpass-api (es: JSON, ma potrebbe essere un xml) e, dopo aver cliccato il bottone viola, si ottiene il file GeoJSON

Come spiegato nella pagina , i sorgenti javascript possono essere scaricati.
Per quanto riguarda html, il sorgente è il seguente:
al click del bottone viene chiamata la funzione (toGeo) che: carica nella variabile data il contenuto della finestra di sinistra (identificata nell'html che non si vede sotto come 'osmxml') , lo modifica a seconda che sia xml o json, chiama lo script javascript osmtogeojson passandogli data   nella forma corretta (xml o json) mettendo il risultato nella variabile geojson e infine copia nella finestra identificata come 'geojson' (quella di destra) il contenuto della variabile geojson.

A questo punto occorre una digressione su come usarlo in una app .
Riferimento.
Il componente WebViewer di appinvento…

Estrarre dati da JSON con una comoda estensione di appinventor

Questo post è costituito da appunti presi giocando

con la estensione progettata da FoYo (Fujio Yamamoto)

(una copia anche qui)

ed è la continuazione degli esperimenti fatti qui  , dove si trova la logica del file json.

Le estensioni (.aix) si "importano" in un progetto appybuilder nella zona "progetto" - ultimo menu in basso a sinistra nella tavolozza.

Occorre trascinare il FoYoJSON nella interfaccia di design , zona sotto la figura del cell, dove si mette anche Web:



Poi - nella zona blocchi -  va messo un blocco FoYoJSON solo, che prende 2 cose:
- il json decodificato
- la query, cioè le cose da estrarre nella forma di una lista




La grande differenza rispetto al normale è la facilità di estrarre il diametro, che è un, diciamo così,  "sottotag" di tags:


Ed ora la ciclata giù nelle liste di liste, estraendo prima "elements" e poi ciclando sui suoi elementi (sottoliste) prendendo via via le cose che interessano (esempio specie e diametro)


ottenendo…

come importare il JSON file in appybuilder per fare le app

Sito per costruire app: http://gold.appybuilder.com

Chiamata GET come riferimento per osservare il file JSON da processare:
https://www.overpass-api.de/api/interpreter?data=[out:json];node[natural=tree](45.36386820715566,9.692811369895935,45.36502340932776,9.69470500946045);out%20meta;

Per "visualizzarlo", andare qui e copiarlo dentro: https://vanya.jp.net/vtree/

Preparare un Bottone (Button1) e un Web (Web1) nell'interfaccia utente.
Nei blocchi costruire il GET del JSON file così (l'URL è quello indicato prima)
Poi inserire il blocco che gestisce il file che arriva dalla Rete. Per ora predisporre delle Label per capire come funziona la logica:


Lat e Lon verranno poi usate per definire (e piazzare) i marker sulla Map1 (da inserire nella interfaccia Utente).



Occorre apprendere il concetto di lista e lista di liste.

Infatti il blocco fondamentale prende un JSON e lo trasforma in una lista di liste  (vedere cosa arriva nella Label3 per capirci, i delimitatori sono le par…

importazione dati da mymaps google a umap

Abbiamo appena creato una umap e la vogliamo popolare con i dati di una vecchia mymap.

1. andare sulla mymap e usando i tre puntini selezionare esporta scegliendo il formato KML

il file verrà scaricato nel PC.

nella nuova umap , cliccare il freccione nero che serve ad importare da file

apparirà il form da compilare scegliendo il file scaricato e precisando che il formato è kml; inoltre se non si hanno ancora layer si indichi importa in un nuovo layer:
dopo di ché cliccare "Importa".

andare come al solito nelle proprietà del layer e assicurarsi che il Template del contenuto del popup sia come sopra (name e description fra graffe).

la corrispondenza fra popup sarà così:





finale: http://umap.openstreetmap.fr/it/map/beccati-gli-zozzoni_382967 

Utili tutorial in Rete

da Ciro Spataro
Tutorial per creare mappe online su UMAP aggiornabili con file CSV da GOOGLEDRIVE https://cirospat.readthedocs.io/it/latest/tutorial-googledrive-to-umap.html?highlight=umap


<<Ma posso fare una query e scegliere quali colonne avere, usando un linguaggio SQL.
La struttura di una query è questa: SELECTB,C,D,E,G,I,J>> Questi ultimi due URL però contengono (nella query) caratteri strani ed è meglio codificarli, specie per farli parlare con app esterne come uMap. E la query diventa: SELECT%20B%2CC%2CD%2CE%2CG%2CI%2CJ%20WHERE%20I%20Contains%20%27.%27 «%20» è il modo corretto di scrivere uno spazio. «%2C» è la virgola. Altre info sui caratteri qui: http://www.w3schools.com/tags/ref_urlencode.asp La documentazione ufficiale qui: https://developers.google.com/chart/interactive/docs/querylanguage La sintassi esatta (dicesi «encoding») può essere ottenuta anche utilizzando questo strumento online http://meyerweb.com/eric/tools/dencoder/ dove inseriamo codice da tenere se…