Console senza controllo di accesso. Chiunque raggiunga questo indirizzo puo' modificare configurazione, contenuti e toponomastica. Impostazione ConsoleSenzaAccesso in Web.config: rimetterla a False prima della pubblicazione.
PRG SELLANOConsole amministrativa
Accesso liberoPortaleVisualizzatoreEsci

Guida alla console

Per chi amministra il portale. Il cittadino ha la sua guida, in /guida.aspx, e parla d'altro: questa pagina sta dentro l'area riservata e non e' raggiungibile dalla consultazione pubblica.

1. Entrare nella console

In questo momento la console e' aperta a chiunque. L'impostazione ConsoleSenzaAccesso in Web.config vale True: nome utente, password e codice di verifica non vengono chiesti. Va rimessa a False prima di pubblicare il sito.

L'accesso avviene in due passaggi. Prima nome utente e password; se sono corretti, il programma manda un codice di sei cifre all'indirizzo di posta registrato per quell'utenza e lo chiede nella schermata successiva.

  • il codice vale dieci minuti e si puo' sbagliare al massimo cinque volte;
  • dopo cinque tentativi falliti di nome utente e password l'utenza resta bloccata per un quarto d'ora;
  • a chi sbaglia non viene detto se ha sbagliato l'utente o la password: distinguere i due casi permetterebbe di scoprire quali utenze esistono.

Stato attuale delle utenze: 1 utenze attive

Creare e sospendere le utenze

Le utenze non si gestiscono da qui: si usa lo strumento a riga di comando, sulla macchina dove sta il sito. Le password non vengono mai salvate, se ne conserva solo l'impronta (PBKDF2, 150.000 iterazioni, un sale diverso per ciascuno).

ComandoChe cosa fa
tools\gestione-utenti.ps1 -Elenco elenca le utenze e il loro stato
tools\gestione-utenti.ps1 -Utente rossi -Email r.rossi@ente.it -Nome Mario -Cognome Rossi crea l'utenza o ne cambia la password; la password viene chiesta senza mostrarla a video
tools\gestione-utenti.ps1 -Utente rossi -Sospendi sospende l'utenza senza cancellarla
tools\gestione-utenti.ps1 -Utente rossi -Riattiva la rimette in servizio
Prima di pubblicare il sito va verificato che in Web.config l'impostazione ConsoleSenzaAccesso valga False e che esista almeno un'utenza attiva con una password impostata. Con l'interruttore acceso chiunque conosca l'indirizzo entra e modifica tutto.

L'invio del codice usa le impostazioni di posta di Web.config (NotificheSmtp, NotifichePorta, NotificheMail). Se la posta non parte, l'accesso si ferma al secondo passaggio: il messaggio lo dice esplicitamente, invece di far credere a credenziali sbagliate.

2. Quadro generale

E' la pagina di apertura e serve a capire in un colpo d'occhio che cosa manca. Mostra quante tavole sono pubblicate, quanti temi cartografici esistono, quante classi hanno un contenuto collegato e quanti temi non risultano pubblicati sul servizio cartografico.

Il riquadro Da sistemare segnala, quando ricorrono:

  • tavole senza alcun livello disegnabile: sono pubblicate, ma chi le apre vede una mappa vuota. Il rimedio non e' nella console, e' pubblicare i dati sul GeoServer;
  • livelli disegnabili ma non interrogabili: si vedono sulla mappa, ma cliccandoli non compare nessuna scheda. Si attivano dalla pagina della tavola;
  • temi senza descrizione leggibile: in legenda compare il nome dello shapefile al posto di un testo comprensibile al cittadino;
  • temi non pubblicati: l'elenco puntuale, con lo shapefile di origine, sta in App_Data\config\temi-da-pubblicare.txt.
Le righe con la freccia a destra si aprono. In tutta la console i pannelli che servono di rado, come Aggiungi e le spiegazioni, stanno chiusi e si aprono con un clic. Serve a tenere in una schermata le cose che si guardano davvero: gli elenchi. Riaprendo la pagina tornano chiusi.

3. Tavole del piano

Sono le rappresentazioni che il visualizzatore offre nel selettore in alto a destra. Da questa pagina si cambiano titolo, ordine di comparsa e pubblicazione.

  • una tavola nascosta resta configurata ma sparisce dal portale e dal visualizzatore;
  • non si possono nascondere tutte: il salvataggio viene rifiutato, perche' il visualizzatore resterebbe senza nulla da mostrare;
  • l'ordine e' un numero, si ordina dal piu' piccolo. Lasciare spazio fra un valore e l'altro (10, 20, 30) permette di inserire una tavola in mezzo senza rinumerare tutto;
  • un titolo lasciato vuoto non viene salvato: la voce resterebbe senza etichetta nel selettore. Il messaggio dice per quali tavole e' successo.
Le finestre di scelta si spostano. Quando una finestra copre proprio la riga su cui si sta lavorando, la si trascina dalla barra del titolo. Alla riapertura torna al centro: una finestra che ricompare dove era stata lasciata, magari fuori da uno schermo piu' piccolo, sembra non essersi aperta.

Aggiungere e togliere una tavola

Sono le rappresentazioni che nella versione precedente si chiamavano profili. Il riquadro Aggiungi una tavola in cima alla pagina chiede codice, titolo e ordine. Il codice identifica la tavola nella configurazione e nell'indirizzo del visualizzatore, non si cambia piu' dopo: conviene sceglierlo corto e parlante, come le tavole gia' presenti.

La tavola nasce vuota e nascosta: prima si aggiungono i gruppi e i livelli con il pulsante Livelli, poi si spunta Pubblicata e si salva. Cosi' nessuno la incontra sul portale mentre e' ancora a meta'.

Il pulsante di eliminazione su ciascuna riga toglie la tavola con tutti i suoi gruppi e livelli, e con la scheda descrittiva collegata; viene chiesta conferma. L'operazione e' immediata e non aspetta il salvataggio. Non si puo' eliminare l'ultima tavola visibile, per la stessa ragione per cui non si possono nascondere tutte. La configurazione precedente resta comunque in App_Data\config\storico.

Livelli di una tavola

Il pulsante Livelli apre la configurazione dei singoli livelli, raggruppati come in legenda. Per ciascuno:

CampoSignificato
Livellol'etichetta mostrata in legenda; sotto, in piccolo, il tema e se risulta pubblicato
Accesoil livello e' visibile gia' all'apertura della mappa
Interrogabilecliccando sulla mappa quel livello compare fra i risultati
Campol'attributo della feature da leggere, per esempio tipologia; si lascia vuoto quando tutte le feature del livello rimandano agli stessi contenuti
Classeil tema dei contenuti collegati sotto cui cercare il valore letto dal campo
Articoloarticolo di norma valido per tutto il livello, quando non dipende dalla classe
Collegamentoallegato o indirizzo da aprire
Cartellacartella di attachments da sfogliare

Il filtro in cima nasconde le righe ma non le esclude dal salvataggio: parte sempre tutta la tabella. Se si segna interrogabile un livello senza campo, classe, articolo, collegamento e cartella, il salvataggio avviene lo stesso ma il messaggio avverte che quel livello mostrerebbe una scheda vuota.

4. Temi cartografici

E' il collegamento fra la legenda e il servizio cartografico. Per ogni tema: la descrizione e' cio' che il cittadino legge, il livello e' il nome del layer sul GeoServer, lo stile e' lo stile di disegno (oppure XYZ per gli sfondi a tasselli, che non passano dal GeoServer).

Una descrizione lasciata vuota non fa sparire l'etichetta: viene rimpiazzata dall'identificativo del tema, come fa il visualizzatore.

Verifica sul GeoServer

Il pulsante Verifica sul GeoServer interroga il servizio all'indirizzo /geoserver, workspace Sellano, e riallinea l'indicazione "pubblicato" di ciascun tema.

Va fatta ogni volta che qualcuno carica nuovi dati sul servizio: senza, il portale continua a nascondere quei livelli. Se il GeoServer risponde senza elencare alcun livello, la verifica non cambia nulla, invece di spegnere tutto.

Come si stabilisce pubblicato / da pubblicare. Non si controlla se il servizio risponde, e non si ricalcola nulla aprendo la pagina. Lo stato e' una fotografia scattata da quel pulsante: la verifica chiede al GeoServer l'elenco dei livelli del workspace (GetCapabilities), confronta ogni nome con la colonna Livello e scrive il risultato in temi.xml, dove resta fino alla verifica successiva. Accanto al pulsante e' indicata la data dell'ultima. Se qualcuno pubblica un livello sul GeoServer adesso, il portale non se ne accorge da solo.

Un tema che risulta da pubblicare non compare nel portale: ne' in legenda ne' sulla mappa. Quello che si vede fuori dall'area riservata e' soltanto cio' che e' completo.

Il campo Origine e' lo shapefile da cui il dato proviene (Tav_OP\Operativo.shp e simili). Serve solo a chi gestisce il portale, per sapere da quale elaborato ripartire quando un livello va rifatto: il portale non lo legge mai e il cittadino non lo vede. Era stato scritto una volta sola al momento del caricamento iniziale dei dati e non si poteva correggere; adesso e' un campo normale della tabella, si modifica e si salva come la descrizione. Lasciarlo vuoto non rompe niente, toglie soltanto quella traccia.

5. Contenuti collegati

Governa che cosa compare quando il cittadino interroga un punto della mappa. E' il dettaglio dei contenuti di un livello: le feature disegnate su uno stesso livello non sono tutte uguali, e un livello delle strade puo' avere un campo tipologia che distingue le primarie dalle secondarie, da mandare a norme diverse. Il campo da leggere si indica sul livello, nella colonna Campo della tavola, insieme al Tema sotto cui cercarne il valore; qui si scrive una riga per ogni valore possibile.

La ricerca segue quindi la gerarchia tema → classe → feature: dal livello si prende il campo configurato, se ne legge il valore sulla feature interrogata, e quel valore viene cercato fra le classi del tema indicato. Se lo trova valgono i riferimenti di quella riga; se non lo trova, o se il livello non ha campo e classe, valgono i riferimenti scritti sul livello, uguali per tutte le sue feature.

Articolo, collegamento e cartella sono gli stessi tre riferimenti che compaiono sul livello, e puntano agli stessi file: sul livello si scrive la regola generale, qui l'eccezione. Si compilano con lo stesso riquadro di scelta, che apre la cartella /attachments/art_norme.

CampoSignificato
Tema / classela coppia che identifica la voce; non si modifica, si crea o si elimina
Descrizionetesto mostrato nella scheda di interrogazione
Articolonome del file in /attachments/art_norme, senza estensione
Collegamentoallegato o indirizzo
Cartellacartella di elaborati da sfogliare

Accanto al campo Articolo compare lo stato del file: html se esiste la versione convertita, solo rtf se c'e' ancora soltanto l'originale, file assente se non c'e' nulla. Quest'ultimo caso significa che il cittadino clicca e non ottiene niente: e' il controllo che evita di scoprirlo dalle segnalazioni.

L'eliminazione di una classe e' immediata e non aspetta il salvataggio: viene chiesta conferma. Un tema rimasto senza classi sparisce da solo.

6. Schede delle tavole

I testi che il cittadino legge nella home e nella pagina di ciascuna tavola. L'elenco mostra una riga per tavola con le cose che si guardano di solito: titolo, codice, sommario, scala, atto e se l'immagine c'e' davvero. Un campo ancora vuoto non lascia un buco, lo dice in grigio. Facendo clic su una riga si apre il modulo di quella tavola; il pulsante in alto a destra le apre o le chiude tutte, e la casella accanto filtra su tutto il testo della riga.

Ogni riga si salva per conto suo, con il proprio pulsante: e' piu' facile capire che cosa si e' scritto, e un errore su una scheda non trascina le altre. Compaiono anche le tavole nascoste, segnate come tali: il testo di una tavola nuova si scrive prima di pubblicarla, non dopo.

  • Sommario: una riga, compare sulla scheda in home;
  • Descrizione estesa: compare nella pagina della tavola;
  • Scala, atto e data di approvazione sono dati ufficiali, vanno trascritti dagli atti. Finche' restano vuoti il portale non li mostra, invece di scrivere "non disponibile";
  • Immagine: percorso dalla radice del sito. Accanto all'etichetta compare se il file esiste davvero e quanto pesa.
Il portale non distingue fra contenuti completi e in lavorazione: quello che viene pubblicato si presume finito. Un'immagine di comodo, quindi, non va messa qui: si lascia il campo vuoto finche' non c'e' l'estratto vero, e al suo posto compare l'icona della tavola.

7. Toponomastica

E' l'editor dello stradario, del grafo stradale e dei numeri civici. Occupa tutto lo schermo e non scorre: stradario a sinistra, mappa al centro, scheda dell'elemento a destra.

81vie nello stradario
512archi del grafo
1343numeri civici
520nodi
232 archi non sono assegnati ad alcuna via. 1313 civici non sono agganciati ad alcun arco.

Stradario

Le vie sono la base di tutto: archi e civici non portano il nome, portano soltanto il codice della via, e il nome si risolve da qui. Per questo rinominare una via non richiede di propagare nulla e non esiste il caso di un nome rimasto indietro.

  • il codice si puo' imporre quando si aggiunge la via: va messo quello dell'anagrafe comunale, se esiste. Lasciandolo vuoto ne viene assegnato uno libero;
  • due vie non possono avere lo stesso nome, ne' lo stesso codice;
  • una via non si elimina finche' ha archi o civici: il messaggio dice quanti sono.

Strumenti della mappa

StrumentoChe cosa fa
Naviga sposta la mappa; cliccando un elemento se ne apre la scheda. Esc riporta sempre qui
Disegna un arco traccia il tratto stradale, doppio clic per chiudere. Richiede una via attiva
Posiziona un civico clic sul punto, poi il numero si scrive nella scheda a destra
Sposta trascina un vertice di un arco, oppure un civico intero
Inserisci vertice clic sull'arco nel punto dove serve la piega
Cancella vertice clic vicino al vertice da togliere. Sotto i due vertici il comando si rifiuta
Spezza divide l'arco nel punto cliccato
Unisci clic sul primo arco, poi sul secondo
Elimina toglie l'arco o il civico cliccato, con conferma
Aggiorna rilegge gli elementi dell'area inquadrata e rimette in ordine gli strumenti: da premere se il disegno smette di agganciare i vertici
Ripulisci nodi toglie i nodi rimasti isolati dopo le cancellazioni
Nomi delle vie scrive il nome della via su ogni arco, a meta' del tratto, e dichiara (senza via) quelli che non ne hanno. E' il modo per accorgersi dei tratti spezzati: due segmenti attaccati con lo stesso nome sono quasi sempre un arco solo diviso per sbaglio, da unire. Agganciando un civico si accendono da sole e portano anche il numero, che li' e' quello che serve

Come si costruisce il grafo

  1. si aggiungono le vie nello stradario;
  2. si seleziona una via e si tracciano i suoi archi. Gli estremi che cadono entro mezzo metro da un arco esistente si agganciano allo stesso nodo: e' questo che tiene insieme la rete. Senza, due strade disegnate sullo stesso incrocio resterebbero scollegate;
  3. si posizionano i civici e si indica il numero.

Gli elementi si caricano per l'area inquadrata: se la mappa e' troppo distante non compaiono, e il messaggio invita ad avvicinarsi. Non e' un limite da aggirare, e' cio' che evita di tirare giu' l'intero grafo a ogni spostamento.

Spezzare e unire

  • Spezza: il primo tratto tiene il numero di prima, il secondo ne riceve uno nuovo. Nel punto di taglio nasce un nodo condiviso, e i civici agganciati si ridistribuiscono fra i due tratti in base alla distanza. Tagliare su un estremo viene rifiutato: produrrebbe un moncone, non due archi;
  • Unisci: il risultato resta sul primo arco cliccato, il secondo sparisce e i suoi civici passano al primo. I due devono essere della stessa via e avere un estremo in comune; dove il primo ha un campo vuoto, eredita quello del secondo.

Civici: posizione e arco

La posizione di un civico gia' inserito si cambia in due modi:

  • trascinandolo sulla mappa con lo strumento Sposta;
  • scrivendo Est e Nord nella scheda e salvando.

L'aggancio all'arco e' un'altra cosa. Il programma sa proporre l'arco piu' vicino della stessa via, ma la prossimita' non e' una regola: un civico puo' affacciare su un tratto che geometricamente non e' il piu' vicino. Per questo nella scheda c'e' il campo Arco su cui affaccia, con tre modi di riempirlo:

  • scrivendo il numero dell'arco a mano; vuoto o zero significa nessun arco;
  • con il pulsante puntatore, che lo fa scegliere cliccandolo sulla mappa;
  • con il pulsante magnete, che lo ricalcola per prossimita' — solo quando lo si chiede.
L'arco agganciato si disegna in blu quando il civico e' selezionato. E' il modo per accorgersi che l'assegnazione automatica ha scelto il tratto sbagliato.

Trascinando un civico l'arco non viene ricalcolato: se qualcuno l'aveva scelto a mano, spostare il punto di un metro non deve disfare quella decisione.

Sfondo cartografico

Sotto al grafo si possono mettere i temi del catalogo: ci sono tutti quelli risultati pubblicati sul servizio. Si scelgono nella finestra dello scambio dati, con due caselle affiancate: a sinistra i disponibili, in ordine alfabetico; a destra gli accesi. Si spostano con le frecce o con un doppio clic.

La casella di destra si legge come una legenda: il primo copre quelli sotto, e le frecce su e giu' ne cambiano la posizione. Un tema opaco messo in cima nasconde tutti gli altri, ed e' li' che si vede subito.

La scelta si ricorda. Ogni spostamento di voce viene salvato subito, e riaprendo l'editor si ritrova lo sfondo su cui si stava lavorando: chi ricalca su foto aerea non deve rifare la scelta ogni volta. La preferenza vale per tutta la console, non per il singolo operatore.

Finisce nell'impostazione toponomastica.sfondi di sito.xml, dove si puo' anche scrivere a mano: identificativi dei temi separati da virgola. Li' l'ordine e' quello di disegno, dal basso; nella casella compaiono rovesciati, perche' una legenda si legge dall'alto. Cancellando l'impostazione si torna ai quattro di partenza: territorio, strade, base catastale ed edifici.

Fra i temi c'e' anche la foto aerea. Non passa dal servizio cartografico: e' uno sfondo a tasselli, cioe' quadratini gia' pronti a zoom fissi, in un altro sistema di coordinate che la mappa riproietta da sola. Per ricalcare una strada che sul catastale non c'e' e' spesso l'unico riferimento disponibile. Va tenuta in fondo all'elenco, sotto tutto il resto: e' opaca e coprirebbe qualunque tema le stia sotto.

Caricare i civici dall'anagrafe

Un elenco di numeri civici si carica da Esporta e importa, elenco Numeri civici, anche senza coordinate: basta lasciare vuote le colonne x e y. Il civico entra in archivio con il suo numero, il suo esponente e la sua via, e resta da posizionare. O tutte e due le coordinate vuote o tutte e due compilate: una sola non e' un dato parziale, e' un dato sbagliato, e viene rifiutata.

Conviene caricare invece di ribattere. Numero, esponente e via vengono dall'anagrafe e devono arrivare identici: e' li' che entrano gli errori di trascrizione, e un civico sbagliato e' un certificato sbagliato. La posizione invece la decide chi disegna, e si corregge quando serve.

Un civico senza posizione non compare sulla mappa e non si puo' interrogare: c'e' il numero, manca il punto.

La coda

Scelta una via nello stradario, se ha civici da posizionare compare il riquadro Da posizionare con la coda in ordine di numero. Il pulsante Posiziona sulla mappa, o lo strumento con l'elenco numerato nella barra, accende la modalita': da li' ogni clic mette a terra un civico e la coda si accorcia. Finita la coda si torna da soli alla navigazione.

Non si e' obbligati a seguire l'ordine. Per strada capita di avere davanti il 47 mentre la coda propone il 3: basta cliccare il numero nell'elenco e sara' quello a scendere al clic successivo. La casella sopra la coda cerca il numero quando ce ne sono troppi per trovarlo a occhio. Senza scelta tocca al primo, come prima; messo quel civico si torna a proporre la coda.

Lo stesso risultato si ottiene disegnando il civico a mano e scrivendo il numero nella scheda: se quel numero e' gia' in anagrafe e aspetta una posizione, non ne nasce un secondo — viene posizionato quello, e la console lo dice. Un numero gia' posizionato viene invece rifiutato: quello e' un doppione vero.

L'arco viene assegnato per prossimita', come per un civico disegnato a mano, e si puo' correggere dalla scheda. Numero, via e campi aggiuntivi non si toccano: quelli vengono dall'anagrafe, e un clic sulla mappa non e' il posto dove correggerli.

Per controllare a chi e' agganciato che cosa basta selezionare: scegliendo un arco si accendono dello stesso colore i civici che gli sono stati assegnati, e scegliendo un civico si accende il suo arco. Il legame e' un numero dentro una scheda e non si vedrebbe altrimenti; cosi' un civico finito sull'arco sbagliato si nota a colpo d'occhio. L'elemento selezionato resta piu' marcato di quelli che gli sono legati.

Il riquadro Via selezionata ha il pulsante Inquadra i suoi archi: porta la mappa su tutto quello che la via ha disegnato, archi e civici gia' posizionati. Si muove solo quando lo si chiede — lo stradario si scorre anche solo per leggerlo, e una mappa che salta a ogni riga farebbe perdere il punto su cui si stava lavorando.

La coda viene riletta dal server dopo ogni posizionamento, non accorciata a memoria: se due persone lavorano sulla stessa via, nessuna delle due si ritrova a piazzare un civico che l'altra ha gia' messo.

Importare il grafo da OpenStreetMap

Per non ridisegnare da zero una rete che esiste gia' c'e' uno strumento a riga di comando, tools\importa-osm.ps1. Scarica le strade dentro il confine comunale, ne ricostruisce la topologia — un arco fra un incrocio e l'altro, non un arco per ogni tratto disegnato in OSM — converte le coordinate in EPSG:3004 e riscrive grafo.xml e stradario.xml. Con -SoloProva dice che cosa scriverebbe senza toccare niente; le copie precedenti finiscono in App_Data\dati\storico.

Non sostituisce lo stradario ufficiale. I nomi in OpenStreetMap li scrivono i contributori: su Sellano sono quattordici in tutto, e i codici via non hanno alcun rapporto con quelli del Comune. Si importa la geometria, che e' il lavoro lungo; i nomi e i codici si riconciliano dopo, dall'editor.
Licenza. I dati di OpenStreetMap sono pubblicati con licenza ODbL: richiede di citare la fonte, e un archivio che ne deriva eredita la clausola di condivisione allo stesso modo. Prima di pubblicare come toponomastica comunale un grafo che viene da OSM la cosa va verificata con chi di competenza.

I civici non vengono toccati: se puntavano agli archi di prima, dopo un'importazione puntano a codici che non significano piu' la stessa cosa e vanno riassegnati.

Riferimenti esterni e scambio con QGIS e CAD

L'ultimo pulsante della barra degli strumenti, quello con le due frecce, apre lo scambio dati: si usa all'inizio e alla fine del lavoro, non mentre si disegna.

Un riferimento esterno — xrif, come si chiama in CAD — e' un disegno che arriva da fuori e si sovrappone a quello in corso, per ricalcarlo. Non e' uno sfondo: lo sfondo e' quello che sta sotto, e qui sono i temi cartografici. Serve per il rilievo di una lottizzazione, la planimetria di un comparto, una tavola che sul servizio cartografico non c'e'. Si carica un DXF in ASCII fino a 30 MB. Il file viene letto subito e ne resta solo la geometria: l'originale non viene conservato ne' pubblicato, e non finisce fra gli allegati — quella cartella e' servita da IIS, e la sua lista di estensioni ammesse e' chiusa apposta.

Vengono lette le entita' che compongono una pianta in due dimensioni: linee, polilinee, archi, cerchi, punti, testi e i blocchi, che in un rilievo sono ovunque. Restano fuori splines, tratteggi e tutto cio' che e' tridimensionale; quello che viene saltato viene contato, e il messaggio lo dice invece di lasciar credere che il file fosse vuoto. Un DXF binario viene rifiutato con l'indicazione di riesportarlo in ASCII.

Le coordinate devono essere in EPSG:3004, le stesse della mappa. Un disegno in coordinate locali comparira' lontanissimo dal paese: e' quello che succede anche aprendolo in QGIS. Il pulsante Vai sul disegno porta la mappa dove il disegno sta davvero, ed e' il modo di accorgersene invece di credere che il caricamento non sia andato.

Il riferimento si disegna in grigio sottile sopra a tutto il resto, con la trasparenza regolabile. Sta sopra perche' e' il disegno da ricalcare: se il grafo appena tracciato lo coprisse proprio dove si sta lavorando non servirebbe piu' a niente. Resta sotto al solo rombo dell'aggancio, che deve essere sempre leggibile. Non intercetta i clic: cliccando su una sua linea non succede niente, si seleziona solo quello che si puo' davvero modificare. Se ne possono tenere piu' d'uno e sceglierne uno per volta, o nessuno.

Aggancio ai punti del riferimento esterno

Vedere il disegno non basta: per ricalcarlo la punta deve cadere sullo spigolo del rilievo, non mezzo metro piu' in la. Il pulsante con il mirino, sulla barra degli strumenti, accende l'aggancio; lo stesso interruttore sta nella finestra dello scambio dati, con le sue regolazioni.

Ad aggancio acceso, mentre si traccia un arco, si sposta un vertice o si posiziona un civico, il punto scatta su quello che in CAD si chiama osnap, nell'ordine:

  • il vertice piu' vicino del disegno importato;
  • il punto medio di un segmento;
  • l'incrocio fra due segmenti che si tagliano davvero (non fra i loro prolungamenti, che in CAD sono un comando a parte);
  • se non c'e' nessuno di questi entro la tolleranza, il punto piu' vicino della linea.

Un rombo rosso segna dove sta agganciando: senza un riscontro non si sa se la punta ha preso il vertice o sta cadendo a mano libera, e ci si accorge dell'errore solo dopo aver salvato. La tolleranza si sceglie fra sei e trenta pixel: stretta quando i dettagli sono fitti, larga quando si lavora da lontano.

I punti si calcolano solo per l'area inquadrata e si rifanno a ogni spostamento della mappa: su un rilievo comunale intero cercare tutti gli incroci a coppie bloccherebbe la pagina. Accanto alle regolazioni e' scritto quanti ne sono stati trovati, e se si e' arrivati al limite viene detto: basta avvicinarsi. Punti medi e incroci si possono spegnere separatamente, i vertici ci sono sempre.

Le esportazioni portano fuori il grafo e i civici.

  • GeoJSON per QGIS, uno per gli archi e uno per i civici: si trascinano dentro il programma e arrivano gia' in EPSG:3004, dichiarato dentro il file. Le coordinate non vengono riproiettate in WGS84 apposta: la trasformazione di Monte Mario la fa QGIS con i suoi parametri, ed e' meglio di un conto scritto a mano qui. Ogni feature porta con se' la via, il numero e i campi aggiunti in Struttura dei dati.
  • DXF della vista corrente per il CAD: riporta quello che si sta guardando in quel momento, quindi conviene prima inquadrare. Su tre livelli separati — ARCHI, CIVICI, NUMERI — cosi' in CAD si possono spegnere i numeri e tenere solo le linee. Accanto c'e' anche l'esportazione di tutto, per quando serve il grafo intero.

8. Struttura dei dati

Definisce quali campi hanno archi e civici, oltre a quelli che il grafo non puo' non avere (identificativo, geometria, nodi, via, numero, posizione). Quello che si dichiara qui compare subito nell'editor della toponomastica: non serve toccare il codice.

TipoCome si presenta a chi compila
Testo liberouna casella, con un limite di caratteri che si decide qui
Numerouna casella; la virgola decimale viene accettata e convertita nel punto
Scelta da un elencouna tendina con i soli valori ammessi
Si oppure nouna tendina a due voci

Due cose da tenere presenti:

  • il nome e' la chiave con cui il valore viene scritto nell'archivio. Cambiarlo su un campo gia' compilato equivale a crearne uno nuovo: i valori di prima smettono di comparire, pur restando nel file. L'etichetta, invece, si cambia quando si vuole;
  • togliere un campo non cancella i dati. Restano nell'archivio e ricompaiono se il campo viene rimesso. Accanto a ogni entita' la pagina dice quanti elementi hanno gia' un valore in ciascun campo, cosi' si sa che cosa si sta smettendo di mostrare.

Vengono rifiutati: i nomi che il grafo usa per conto proprio (id, lunghezza, codVia, x, y, arco…), i nomi con spazi o che non cominciano per lettera, i nomi ripetuti, e gli elenchi senza alcun valore ammesso.

9. Esporta e importa

Serve ai caricamenti massivi: rinominare duecento temi, riscrivere il catalogo dei contenuti collegati dopo una variante, riordinare i livelli di una tavola, caricare lo stradario da un archivio esterno. Cose che a mano non si fanno.

Gli elenchi che si scambiano sono cinque:

ElencoChe cosa contiene
Temi cartograficiun tema per riga, con livello, stile e shapefile di origine
Contenuti collegatiuna classe per riga, con i suoi tre riferimenti
Livelli di una tavolai livelli di una sola tavola; chiede quale
Stradariocodice e nome delle vie
Numeri civicicivici e coordinate, con i campi aggiunti in Struttura dei dati

Il formato

E' un CSV con il punto e virgola, che Excel apre con un doppio clic senza procedure di importazione. Salvandolo, va bene sia CSV UTF-8 sia CSV normale: le lettere accentate vengono riconosciute in tutti e due i casi. Conviene sempre partire da un'esportazione e correggere quella: la prima riga deve avere gli stessi nomi di colonna, altrimenti il file viene rifiutato. L'ordine delle colonne non conta, e le colonne in piu' vengono ignorate.

Sotto la scelta dell'elenco c'e' la tabella che spiega colonna per colonna che cosa ci va. Una colonna segnata sola lettura viene esportata per essere consultata ma ignorata quando si importa: e' il caso di pubblicato nei temi, che lo scrive solo la verifica sul GeoServer.

Come si importa

Si fa in due tempi, e non e' un passaggio burocratico: un file sbagliato riscrive duecento voci in un colpo.

  1. Prova legge il file, controlla tutto e dice quante voci verrebbero aggiunte, modificate, tolte o lasciate stare, elencando anche che cosa cambia. Non scrive niente.
  2. Applica resta spento finche' la prova non e' andata a buon fine, e riusa lo stesso testo che e' stato provato. Cambiando elenco, tavola, file o modalita' la prova decade e va rifatta: applicare qualcosa di diverso da quello che e' stato mostrato sarebbe il modo piu' facile di combinare un guaio.

La scelta che cosa fare delle voci che il file non nomina e' la cosa a cui stare attenti. Lasciarle aggiunge e aggiorna soltanto, e non toglie mai niente: e' quella giusta quasi sempre. Toglierle fa diventare il file l'elenco intero, e cancella quello che non c'e' dentro: serve dopo un lavoro fatto davvero per intero fuori, e viene chiesta conferma prima di procedere.

O entra tutto o non entra niente. Gli errori vengono raccolti tutti prima di scrivere: un file con anche una sola riga sbagliata non lascia mezzo elenco importato. Il messaggio dice il numero di riga e che cosa non va, cosi' si corregge il foglio e si riprova.

Quello che viene rifiutato, e non e' poco:

  • colonne mancanti nella prima riga;
  • una chiave vuota o ripetuta due volte nello stesso file;
  • un livello che punta a un tema cartografico che non esiste;
  • un civico su una via che non sta nello stradario, o con coordinate illeggibili;
  • una via che sparirebbe dallo stradario avendo ancora civici o archi appesi: il messaggio dice quanti sono, e vanno svuotati dalla toponomastica prima.

Riordinare i livelli

Nei livelli di una tavola l'ordine delle righe e' l'ordine di disegno. Riordinando le righe nel foglio e reimportando con Toglierle si riordina la legenda in un colpo solo, senza spostare un livello alla volta con le frecce. La prova lo segnala a parte, perche' i conteggi guardano i valori e un riordino li lascia tutti identici: senza quell'avviso direbbe che non cambia niente proprio nel caso in cui si e' andati nel foglio apposta per riordinare.

Prima di ogni importazione la configurazione precedente finisce in App_Data\config\storico, come per ogni altro salvataggio: se il file importato era sbagliato, si torna indietro da li'.

10. Impostazioni

Dati dell'ente, testate del portale, cartografia e visualizzatore per Windows.

  • Indirizzo del GeoServer: lasciandolo vuoto vale l'impostazione GeoServer di Web.config. Dietro un reverse proxy va indicato il percorso interno, per esempio /geoserver. Il pulsante Prova il GeoServer verifica l'indirizzo scritto a video, prima di confermarlo;
  • Tavola aperta senza indicazione nell'indirizzo: e' quella che compare aprendo /viewer.aspx senza parametri. Attualmente Sintesi. Senza questa impostazione si aprirebbe la prima in ordine, che puo' essere quella con meno livelli pubblicati;
  • Sistema di riferimento: EPSG:3004. Va cambiato solo se cambia la cartografia sottostante;
  • Visualizzatore per Windows: il riquadro di scarico compare in home solo se il file indicato esiste davvero. Sotto il campo la pagina dice se lo trova e quanto pesa.

Le credenziali di posta restano in Web.config e non passano da qui: non devono essere modificabili da una pagina web.

11. Dove stanno i dati, e come si torna indietro

Non c'e' alcun database. Tutto sta in file XML sotto App_Data, che il server web non serve mai direttamente.

CartellaContenuto
App_Data\config configurazione: sito, profili, temi, gruppi, link, sezioni, attributi, utenti
App_Data\dati dati operativi: stradario, grafo, civici, luoghi, fogli, mappali, statistiche
App_Data\...\storico copie di sicurezza automatiche: le ultime 20 per la configurazione, le ultime 15 per i dati

Ogni salvataggio conserva la versione precedente nella cartella storico, con data e ora nel nome. Per tornare indietro si copia il file voluto al posto di quello corrente: il portale se ne accorge da solo e rilegge, senza riavviare nulla.

La scrittura e' atomica sull'intera operazione: quando una modifica tocca due archivi, prima vengono preparati entrambi e solo dopo sostituiti. Cosi' non puo' capitare che il grafo risulti aggiornato e i civici no. Se un file risulta momentaneamente occupato da un altro programma (sincronizzazione, antivirus) il salvataggio insiste qualche volta prima di arrendersi.

Registri

  • App_Data\dati\registro-toponomastica.log: una riga per ogni modifica a vie, archi e civici, con data, operatore, azione ed elemento. E' testo separato da tabulazioni, si apre con qualunque strumento;
  • attachments\log.txt: registro tecnico degli errori e dei salvataggi. Ruota da solo oltre i 2 MB.

12. Controlli prima di pubblicare

  1. ConsoleSenzaAccesso in Web.config rimesso a False;
  2. <compilation debug="true"> rimesso a false: con la compilazione di prova le pagine sono piu' lente, non vengono memorizzate dai browser come dovrebbero, e gli errori mostrano dettagli interni a chiunque;
  3. almeno un'utenza attiva, con password e indirizzo di posta funzionante;
  4. impostazioni di posta verificate: senza, nessuno riesce a completare l'accesso;
  5. indirizzo del GeoServer corretto per l'ambiente di pubblicazione, provato con il pulsante apposito;
  6. verifica sul GeoServer eseguita, cosi' i livelli effettivamente pubblicati risultano accesi. Quello che risulta da pubblicare non compare affatto nel portale: ne' in legenda ne' sulla mappa, e non viene segnalato al cittadino;
  7. nessuna immagine di comodo nelle schede: dove manca l'estratto vero il campo va lasciato vuoto;
  8. quadro generale senza segnalazioni, o con segnalazioni di cui si conosce il motivo.