emergenzeHack / covid19italia

Condividiamo informazioni e segnalazioni sul COVID19
https://www.covid19italia.help
MIT License
75 stars 42 forks source link

Sistema per convertire (o accettare) mappe KML #316

Open avivace opened 4 years ago

avivace commented 4 years ago

Priorità: bassa

Richiesta

Si moltiplicano risorse di questo tipo: https://www.google.com/maps/d/viewer?mid=1HEcdAtiDU4X8oY7ouYIhlkmRMYAlaIv5&ll=45.336412743611845%2C10.195364949999998&z=8 (#315 ). Sarebbe super utile avere un sistema per importare queste posizioni nel nostro sistema di segnalazioni (o fare in modo di accettare queste sorgenti dati). Cliccando sui 3 dots si accede al link per esportare la mappa in KML

Risolto?

stefanoauciello commented 4 years ago

output.txt

@avivace l'ho risistemato

antonellopasella commented 4 years ago

io ho una bozza pronta. sulla base di un file di sorgenti estrae e normalizza sorgenti da GoogleMyMap e ArcGis. Sto ultimando anche la versione per OSM

Esempio di sorgente:

{ code: "casalemonferrato-comune", label: "Comune di Casale Monferrato", regione: "Piemonte", url: "https://www.google.com/maps/d/u/0/kml?forcekml=1&mid=1zih2utBEChDeizq8ObVWh6_vPIfilnyu", credits: "http://www.comune.casale-monferrato.al.it/", mapper: (_negozio, sorgente) => { const negozio = creaNegozio(_negozio, sorgente); negozio.name = _negozio.properties.name; negozio.lat = _negozio.geometry.coordinates[0]; negozio.lng = _negozio.geometry.coordinates[1]; _negozio = _negozio.properties; negozio.note = _negozio.description; return negozio; } }

avivace commented 4 years ago

@antonellopasella Mi dici dove/come hai sviluppato questo tool?

antonellopasella commented 4 years ago

Scusate ma avevo le notifiche disattivate 😳

In settimana metto online gli importer. Devo depurarli dalla parte “google” per rendere visibili solo i dati grezzi scaricati, poi si ragiona su come elaborarli (io ho fatto un sacco di assunzioni grezze che qualsiasi mapper disprezzerebbe 😅)

Sono tutti basati su NodeJS e alcuni fanno utilizzo lato client di Puppeteer, da riga di comando vanno, potremmo pensare di lanciare il task a mano e committare su un repo pubblico, poi ognuno fa quel che deve?

Nel dettaglio al momento:

Appena ho news vi segnalo il repo e valutate se può servire

avivace commented 4 years ago

Perchè serve Chromium headless per fare queste operazioni? I file KML non hanno formato noto?

antonellopasella commented 4 years ago

Puppeteer serve proprio per arrivare al KML. Comunque ovviamente tutto perfettibile e modificabile 😅

antonellopasella commented 4 years ago

Perchè serve Chromium headless per fare queste operazioni? I file KML non hanno formato noto?

Potreste dettagliarmi meglio il punto di partenza e il formato che si vuole ottenere? Come già segnalato cliccando sui 3 puntini si scarica il KML, se poi si seleziona l'opzione "collegamento" (tutte due i checkbox per capirci) si scarica un KML al cui interno è contenuto un link a KML aggiornabile.

Io poi faccio un parsing con @tmcw/togeojson (nodejs) per convertire KML in JSON

A disposizione per altro se serve