LugMap e LinuxSi con QGIS

Si ho visto il json era giusto per capire se dopo siamo dipendenti da qgis e quanti di quei dati non ci servono.

Allora procedo a sistemare i dati. Per quando riguarda i campi da inserire io eliminerò tutto quello che ho aggiunto per il lavoro, ma se si pensa di aggiungere altri campi, anche da non mostrare, è meglio deciderlo adesso, così poi il file json è finito nella sua struttura.

Aggiornata la mappa. Sono passato ad Open Layer perchè il risultato mi pare migliore. I punti ora sono collassati nelle viste più ampie. La versione Leaflet era più bella da questo punto di vista perchè fa lo zoom se cliccata, ma crea gruppi troppo grandi e non colora in coerenza con il layer.
Da correggere lo zoom minimo perchè limita la visione dei pop up.
La posizione dei lug è quasi giusta, ma sono da rivedere ancora una volta.
Le due associazioni nazionali sono state spostate su un loro layer e posizionate al centroide del paese. Punto geografico e non politico, ma soprattutto fuori dalle città già affollate.
Restano da georeferenziare 34 LFS (non erano 50 i lug ne i negozi :grinning:)
Appena tutto sarà in una versione semi definitiva manderei una mail a tutti, LUG e LFS, perchè ognuno verifichi che sia ben posizionato ed eventualmente URL ed indirizzo.
Ho lasciato il campo per la mail, anche se non sono sicuro che serva, ma nella logica di un database mi pare sensato.
Eliminata la ricerca sui layer perchè limitata ad un campo ed un layer. Praticamente inutile.
Non ho aggiornato GitHub

Dobbiamo fare che il dataset di LinuxSI è separato dai lug così possiamo modificare entrambi i siti e intanto mettiamo le mappe.

Si, come detto ora ci sono 3 file json (quasi json): LUG, LFS e uno con le due associazioni nazionali. I file hanno identica struttura, quindi si possono, all’esigenza, semplicemente “sommare”.

{
"type": "FeatureCollection",
"name": "naz",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": { "zona": "Italia", "nome": "Associazione Software Libero", "provincia": "Italia", "URL": "http://softwarelibero.it/", "mail": "eramb@pf.havob.vg", "indirizzo": null }, "geometry": { "type": "Point", "coordinates": [ 12.076149482107537, 42.786921392652928 ] } },
{ "type": "Feature", "properties": { "zona": "Italia", "nome": "ILS: Italian Linux Society", "provincia": "Italia", "URL": "http://www.ils.org/", "mail": "zq@yvahk.vg", "indirizzo": null }, "geometry": { "type": "Point", "coordinates": [ 12.068456025883361, 42.786232838623093 ] } }
]
}

Questo il file delle associazioni nazionali, tanto per vedere la struttura. Se si devono aggiungere dei campi basta dirlo.

Quelle mail insensate che sono presenti per i LUG si possono cancellare immagino.

Si tecnicamente servono per contattare i referenti ma la pulizia la facciamo manuale ogni tot dei lug non più attivi e direi che possiamo semplificare.

HO messo nel solito posto la versione beta della mappa, LUG, che posto ancora qui per comodità.
Per beta intendo che:

  • L’aspetto grafico lo darei per definitivo, salvo correzioni da parte di altri. I layer sono sovrapposti e quindi quello superiore, se acceso, oscura quello inferiore. il loro ordine è per importanza, quindi i lug si sovrappongono ai LFS. le associazioni nazionali sono posizionate come detto in altro messaggio nel centroide del paese.
  • la posizione dei lug dovrebbe essere sistemata per tutti, ogni lug sarebbe comunque bene che verificasse. Il criterio adottato è stato quello che si diceva; il comune nella maggior parte dei casi, più preciso se nello stesso posto ci sono più lug. A richiesta si fanno le correzioni.
  • i LFS (o come si vorranno poi chiamare) sono stati tutti “rivisitati” per ognuno ho verificato la presenza di una p. IVA sul sito, di un indirizzo fisico, la sua natura per quanto comprensibile ed un commento dopo aver visto il loro sito web. La natura, o meglio il tipo, può essere n (negozio) nf (negozio forse) ? (ah saperlo) uf (ufficio forse) u (ufficio). Il commento è solitamente inserito in termini negativi, quindi l’assenza di commenti è un bene. Tuttavia la situazione ad occhio è disastrosa e penso che sia da rivedere urgentemente. Per poter fare un buon lavoro occorrerebbe che coloro che sono in zona dicano qualche cosa se li conoscono o verifichino se a loro ignoti.

I dati dei LFS si possono vedere nei popup, posterò a breve su github i file ed una tabella di questi dati per chi preferisse.
In attesa di ricevere le correzioni da fare comincerò a vedere l’esportazione/visualizzazione dei dati in forma tabellare.

Precisazione. per i LFS è stata fatta la verifica tramite Google street view (perdono :woozy_face:) per capire un po’ meglio la loro natura. In alcuni casi anche ricerca tramite whois e registroimprese.it
Nonostante questo due di loro li ho parcheggiati in mare (fuori dalle acque territoriali) perchè i dubbi erano troppi.
Quelli privi di commento hanno probabilmente anche solo un piccolo accenno al sw libero o linux, ho avuto pretese veramente minime.

Allora mi focalizzerei nel fare una PR verso linuxsi così vediamo che modifiche bisogna fare per integrare la mappa per regione ecc
Poi passiamo alla lugmap che è più complessa.

Non sono del tutto sicuro di cosa tu intenda per PR, ipotizzo “public relation”.
Tuttavia credo che, visto quello che ho visto navigando nei vari siti, sarebbe bene definire aprioristicamente un setaccio per capire chi sono le attività commerciali “amiche del Software libero”. Anche per non lasciare ai singoli l’onore, ma sopratutto, l’onere di decidere senza riferimenti.
Per come la vedo io essere individuati in tale modo è contemporaneamente un servizio all’utente per ricercare assistenza e promozione di un’attività economica. In entrambi i casi occorrerebbe che uno standard minimo sia definito.

cosa intendi integrare la mappa per regione?

Non credo che la parte dei LUG sia più complessa, o mi perdo qualche passaggio!

PS al LFS di Bra passo io tra qualche giorno. A quello di Torino potrei andare domani, ma ipotizzo che sia noto a chi è del posto, quindi eviterei.

Intende pull request.

Ah! Segno per la prossima volta :slight_smile:

Allora ho bisogno di una pull request sul repo su gitlab con la modifica.
Poi come definire i negozi presenti sul sito lo farei successivamente ma mi preoccuperei di avere questa mappa in ogni regione perché il sito di linuxsi ha pagine per regione LinuxSi: Lazio

Non pensavo di mettere io le mani sul sito, preparavo i pezzi e poi li lasciavo assemblare a chi solitamente ci lavora sopra. Comunque vediamo, ci darò un’occhiata.

Forse ho frainteso all’inizio, ed uniformare non deve intendersi come unire, ma rifarli usando la stessa base è quello che io pensavo come obbiettivo minimo. Altrimenti non capisco il senso di tutto il lavoro.

Per la mappa divisa per regione mi pare più complicato, specialmente se si pensava di unificare. Solo la lista invece non dovrebbe essere difficile anche mantenendo un solo DB.
Se si mettono i negozi su layer distinti per regione si può accendere e spegnere le varie regioni, ma la lista dei layer diventa lunga ed il vantaggio mi pare limitato. Qual è il problema a tenere una mappa completa?

Fare una mappa completa significa ristrutturare entrambi i siti che ad oggi sono divisi per regione.

Però va bene possiamo anche partire dal tuo progetto e vedere come unificare il tutto noi direttamente.

Allora direi di aspettare che riesca a tirare fuori la tabella dai dati così strutturati, poi rifacciamo il punto.
Però a quanto vedo oggi i siti, tutti e due, estraggono la tabella per regione, mentre la mappa e completa.
Appena ho fatto per le tabelle lo scrivo qui.

Non sono morto :slight_smile: Ho dovuto toglire un po’ di ruggine dal mio html/js. In particolare sono un po’ nei problemi con la libreria JS che intenderei usare; list.js

Ho studiato e sto studiando il problema, vediamo se riesco ad arrivare ad una soluzione.

Ho aperto in proposito un issue su github ed una question su stack overflow. Vediamo se qualcuno mi riesce ad aiutare. Se tra chi legge qui c’è chi conosce bene questa librerie, faccia un fischio e provo a spiegare meglio il problema.

Tutto questo per usare i dati nel formato originale senza farne prima il parsing. Se entro qualche giorno non sarò riuscito a venirne a capo, adotterò la soluzione alternativa.

Non puoi semplicemente fare qualcosa tipo

json_2.map(x => x.properties}).map(x => x.zona + " - " + x.nome)

O non ho capito quale sia il tuo problema.

Non è un problema, solo che se riesco ad usare direttamente il dato provo a tenere il tutto al livello di massima semplicità e compattezza possibile.
Poi come detto, se la cosa non si può fare o non ci riesco, andrò su altre soluzioni.
So che con list.js non si possono gestire le liste nidificate, ma non ho trovato nulla sulla possibilità di utilizzare i dati di oggetti nidificati.

Comunque mi copio negli appunti la riga di codice :grinning:

QGis quali formati apprezza?

Se gli piace anche solo un enorme GeoJSON, glielo esportiamo in fretta da PHP.

Premettendo che per unificare i dati comunque servirà un identificativo univoco fra Italian Linux Society ed OpenStreetMap, e di questo potrebbe occuparsene Wikidata.

Per esempio questo è il Free Circle di Palermo con il tag di Wikidata:

Quindi se Italian Linux Society ha un suo elenco dei LUG associati a Wikidata, e OpenStreetMap anche, è facile fare una unione e vedere cosa manca e cosa aggiungere / cosa aggiornare ecc.