Gestão da cache como administrador
Para uma camada com a cache ativada no servidor, o Lizmap manterá a cache quando o utilizador movimentar e fizer zoom no mapa. Para obter um melhor desempenho, o Lizmap Web Client também pode gerar automaticamente a cache de mosaicos no servidor.
Nalguns casos, é desejável remover a cache do servidor, por exemplo, quando o estilo foi alterado e os mosaicos necessitam de ser atualizados. Para isso, existem duas soluções:
Remover totalmente a cache de um repositório Lizmap
Na interface de administração, na página Gestão de mapas, para cada repositório, o administrador pode esvaziar a cache de todas as camadas de todos os repositórios de projetos utilizando o botão Esvaziar cache.
Remover a cache, camada por camada, para cada projeto Lizmap
Quando o administrador está ligado e consulta um mapa Lizmap, uma pequena cruz vermelha é apresentada à direita do nome de cada camada que está configurada com cache do servidor. Clicar na cruz, após confirmação, permite esvaziar a cache do servidor apenas para essa camada do projeto QGIS.
Apenas o administrador, quando ligado, consegue visualizar essas cruzes vermelhas, tendo permissão para limpar a cache.
Configuração do sistema de cache
In the
, you can configure the caching system which is used. You can choose between different kind of caching :Ficheiros
SQLite
Redis (é necessário um servidor Redis)
Gerar mosaicos
É possível pré-gerar os mosaicos para qualquer camada de um projeto QGIS configurado com a opção cache do lado do servidor. É necessário ter acesso total ao servidor em que o Lizmap se encontra instalado e utilizar um programa de terminal para estabelecer ligação ao mesmo. É necessário também conhecer os IDs dos repositórios Lizmap bem como o código do projeto (o nome do ficheiro do projeto QGIS sem a extensão).
Neste exemplo, apresentamos comandos para gerir a cache de mosaicos para o projeto de demonstração Montpellier
, fornecido com o Lizmap Web Client. Assumimos também que a aplicação Lizmap está instalada na pasta /var/www/lizmap-web-client/
.
# Go to the application folder
cd /var/www/lizmap-web-client/
É importante saber que o Lizmap publica as camadas em cache no WMTS (Web Map Tiled Service). Os seguintes conceitos são utilizados como opções do gerador de cache de mosaicos do Lizmap:
TileMatrixSet - No Lizmap, representa o código de projeção, por exemplo EPSG:3857 (Pseudo mercator).
TileMatrixMin - Este é o nível mínimo de zoom.
TileMatrixMax - É o nível máximo de zoom.
Aviso
O nível de zoom não é uma escala de mapa, mas o nível de zoom. No plugin Lizmap, o editor do projeto pode configurar escalas para o projeto publicado, por exemplo, a lista: 100000, 50000, 25000, 10000. O ID do nível de zoom depende de alguns CRS e da forma como se configurou o projeto Lizmap. É possível ter uma ideia do ID da escala digitando lizMap.map.getZoom() na consola Javascript do navegador web ao ampliar o mapa.
Em primeiro lugar deverão ser verificados os recursos de cache relativos a um projeto bem como alguns detalhes referentes a uma camada específica do mesmo.
# 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
Neste exemplo, pode verificar-se que a camada de barramento possui 3 TileMatrixSet diferentes, correspondentes aos 3 sistemas de coordenadas espaciais diferentes disponíveis para este projeto no Lizmap (configurado em
).Nota
Se o nome da camada contiver alguns espaços, será necessário utilizar «».
É importante verificar os recursos de cache antes de gerar a cache para uma determinada camada. Os recursos de cache serão utilizados no próximo comando. O próximo comando poderá falhar caso os recursos de cache não se encontrem disponíveis.
Só após um bom nível de conhecimento de uma determinada camada, será possível gerar a cache adequada para a mesma:
# 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
Após a geração de mosaicos, é necessário atualizar os direitos sobre a cache:
lizmap/install/set_rights.sh www-data www-data