Lo que tengo:
-
QGIS 3.18 en Win 10 que contiene un proyecto con:
- Mapa base de OpenStreetMap
- Capa de puntos (Geopackage, 5,1 MB), que representa los centroides de los edificios de una ciudad
- La capa de puntos está configurada con una visibilidad basada en la escala (sólo es visible cuando se amplía a más de 1:5000, lo que corresponde a una extensión del lienzo de aproximadamente 1km*1km y más pequeña), por lo que normalmente sólo son visibles unos pocos cientos de puntos (como máximo unos 1400) debido a la pequeña extensión del lienzo.
-
La capa de puntos se compone de:
- 54.000 características, extensión ca. 12*12 km
- Los atributos contienen dos campos:
fid
y un campo entero adicional
Lo que quiero hacer:
Quiero que el proyecto esté disponible como WebMap con qgis2web
plugin, ver. 3.16. Esto funciona bien para otros proyectos.
Cuál es el problema:
El mapa exportado se carga extremadamente lento y el navegador deja de responder. Lo mismo ocurre con la vista previa del plugin. Me aparece la advertencia:
El mapa presenta un gran número de características. La generación de la vista previa puede llevar algún tiempo.
Supongo que esto se debe a que intenta cargar todas las características de 54.000 puntos, incluso si sólo una pequeña sección de toda la extensión está dentro de la extensión actual del lienzo. La visibilidad basada en la escala aparentemente no puede ser convertida por el plugin qgis2web.
Lo que he probado: Cambiar la precision
en el plugin, pero sin éxito. También miré a los otros ajustes del plugin (compruebe el cluster
para la capa de puntos), pero no resuelven el problema.
También he probado a dividir la capa en varias capas pequeñas, basadas en una cuadrícula. El problema persiste. Supongo que Leaflet/el sitio web sigue intentando cargar todas las capas en la extensión actual del lienzo, por lo que el sitio se bloquea antes de que tenga la oportunidad de ampliarlo.
La pregunta:
Cómo se puede solucionar este problema para que tenga un WebMap con el mapa base de OSM + la capa de puntos, cargando en un tiempo razonable (unos segundos como máximo).
Capturas de pantalla: