Gestione della cache come amministratore

Per ogni layer con l’opzione id cache sul server attivata, Lizmap creerà la cache quando un utente effettuerà pan e zoom sulla mappa. Per avere migliori prestazioni, Lizmap Web Client può generare automaticamente la cache delle tile sul server

In alcuni casi, è preferibile rimuovere la cache del server, per esempio, quando viene cambiato lo stile e le tiles devono essere aggiornate. Ci sono due soluzioni possibili:

Rimuovere tutte le cache dal repository di Lizmap

Nell’interfaccia di amministrazione, nella pagina :guilabel:”Map Management”, per ogni repository, l’amministratore può cancellare la cache per tutti i layer di tutti i progetti del repository clickando sul bottone Cancella Cache

Cancellare la cache, un layer per volta, per ogni progetto Lizmap

Quando un amministratore è connesso e consulta un mappa su Lizmap, una piccola “x” rossa compare a destra del nome di ogni layer configurato per avere la cache sul server. Cliccando sulla “x”, dopo la conferma, viene cancellata la cache solo per quel layer nel progetto QGis

Solo l” amministratore autenticato vede le x rosse e ha i permessi per cancellare la cache

Configurazione del sistema di cache

Nella :menuselection: Amministrazione -> Configurazione Lizmap -> Cache, puoi configurare il sistema di caching che viene utilizzato. Puoi scegliere tra diversi tipi di cache:

  • Files
  • Sqlite
  • Redis (Necessario Server Redis)

Seeding

E” possibile pre-generare le tiles per ogni layer del progetto di QGIS che è stato configurato per essere copiato nella cache del server. Per fare ciò, è necessario il pieno accesso al server dove è installato Lizmap ed utilizzare un terminale per connettersi. Si devono anche conoscere gli ids dei repository di Lizmap e il code name del progetto (il nome del progetto di QGIS senza estensione).

In questo esempio, si mostreranno i comandi per gestire le tile per il progetto Montpellier di esempio, fornito con Lizmap Web Client. Assumiamo che il vostro Lizmap sia installato nella cartella: file:/var/www/lizmap-web-client/.

# Go to the application folder
cd /var/www/lizmap-web-client/

È importante sapere che Lizmap pubblica i layer in cache nei WMTS (Web Map Tiled Service). I seguenti concetti sono utilizzati come opzioni del Lizmap tile cache seeder:

  • In Lizmap, rappresenta il codice della proiezione, per esempio EPSG:3857 (Pseudo mercator).
  • TileMatrixMax - Questo è il minimo livello di zoom.
  • TileMatrixMax - Questo è il massimo livello di zoom.

Avvertimento

Il livello di zoom non è una scala della mappa, ma il livello di zoom. Nel plugin Lizmap, chi pubblica il progetto può configurare scale per il progetto pubblicato, per esempio la lista: 100000, 50000, 25000, 10000. L’ID del livello di zoom dipende da alcuni CRS e da come avete configurato il vostro progetto Lizmap. Potete avere un’idea dell’ID di scala digitando lizMap.map.getZoom() nella vostra console Javascript del web browser quando fate lo zoom sulla vostra mappa.

Prima si deve ottenere le capacità della cache di un progetto e alcuni dettagli del livello specifico.

# Command help
# php lizmap/scripts/script.php lizmap~wmts:capabilities [-v] repository project [layer] [TileMatrixSet]

# Get the capabilities for a given project published with Lizmap
# and generate the cache about these capabilities.
php lizmap/scripts/script.php lizmap~wmts:capabilities montpellier montpellier

# Get precisions about a specific layer
php lizmap/scripts/script.php lizmap~wmts:capabilities -v montpellier montpellier bus EPSG:3857
# which will return
For "bus" and "EPSG:4326" from TileMatrix 13 to 15
For "bus" and "EPSG:900913" from TileMatrix 14 to 16
For "bus" and "EPSG:3857" from TileMatrix 14 to 16

In questo esempio, si vede che il livello del bus ha 3 diversi TileMatrixSet, corrispondenti ai 3 diversi sistemi di coordinate spaziali disponibili per questo progetto in Lizmap (configurati nella Project properties ‣ QGIS Server).

Nota

Se il nome del tuo layer contiene spazi, devi usare «».

È importante generare le capacità della cache prima di generare la cache per un livello specifico. Le capacità della cache sono usate nel comando successivo. Il comando successivo potrebbe fallire se le capacità della cache non sono presenti.

Una volta che avete una buona conoscenza di un livello, potete generare la cache per esso:

# Command help
# php lizmap/scripts/script.php lizmap~wmts:seeding [-v] [-f] repository project layer TileMatrixSet TileMatrixMin TileMatrixMax

# Example
php lizmap/scripts/script.php lizmap~wmts:seeding -v -f montpellier montpellier bus EPSG:3857 12 14
# Which will return:
81 tiles to generate for "bus" "EPSG:3857" "14"
81 tiles to generate for "bus" "EPSG:3857" between "12" and "14"
Start generation
================
Progression: 6%, 5 tiles generated on 81 tiles
Progression: 12%, 10 tiles generated on 81 tiles
Progression: 18%, 15 tiles generated on 81 tiles
Progression: 24%, 20 tiles generated on 81 tiles
Progression: 30%, 25 tiles generated on 81 tiles
Progression: 37%, 30 tiles generated on 81 tiles
Progression: 43%, 35 tiles generated on 81 tiles
Progression: 49%, 40 tiles generated on 81 tiles
Progression: 55%, 45 tiles generated on 81 tiles
Progression: 61%, 50 tiles generated on 81 tiles
Progression: 67%, 55 tiles generated on 81 tiles
Progression: 74%, 60 tiles generated on 81 tiles
Progression: 80%, 65 tiles generated on 81 tiles
Progression: 86%, 70 tiles generated on 81 tiles
Progression: 92%, 75 tiles generated on 81 tiles
Progression: 98%, 80 tiles generated on 81 tiles
================
End generation

Dopo il seeding, aggiornare i diritti sulla cache :

lizmap/install/set_rights.sh www-data www-data