Suite

Combiner plusieurs couches mises en cache/en mosaïque sur une application openlayers côté client ?


J'ai installé Geoserver avec geowebcache intégré.

J'ai 3 couches : eau, égout, base terrestre, et chacune est mise en cache séparément.

  1. Est-il possible de basculer ou de combiner les 3 couches mises en cache dans l'application openlayers ?

  2. Est-il efficace de combiner les trois séparément comme ça ? Les performances augmenteraient-elles ?


  1. Oui. Découvrez MapProxy, qui est capable de combiner plusieurs sources de tuiles, parmi beaucoup d'autres choses. Application vraiment cool.

  2. Je ne peux pas parler avec autorité de l'efficacité avec cette approche, mais votre application ne fait qu'un appel au lieu de trois. Cela semble plus efficace, non?

Vous pourriez même trouver qu'il est préférable de gérer la mise en cache avec MapProxy à la place. Pour notre propos particulier, c'est exactement ce qui s'est passé.


Le moyen le plus simple de combiner les couches et de les mettre en cache à l'aide de GeoWebCache est d'utiliser unGroupe de calquesqui agit exactement comme une couche dans OpenLayers mais est construit à partir des 3 couches de GeoServer.

Ce n'est que plus efficace si votre client veut toujours voir les trois couches.


Voulez-vous qu'il soit dynamique, comme dans, vous pouvez changer lequel des trois afficher côté client ? SI c'est le cas, vous pouvez former une demande qui combine 1,2 ou 3 couches en une seule demande get, et OpenLayers peut gérer cela, je pense.

Mais, en avez-vous besoin ? Essayez-le d'abord de manière simple, puis si vous rencontrez des problèmes de performances, envisagez de le combiner.

Pour répondre à vos questions spécifiques :

  1. Oui, c'est possible (voir code ci-dessous)

  2. Oui, mais l'augmentation des performances peut ne pas valoir la complexité de votre code d'applications Web

    var wms = new OpenLayers.Layer.WMS("TITLE FOR OVERLAY", "http://geoserverurl.example:8080/geoserver/ows?", {layers: "WORKSPACE1:LAYER1,WORKSPACE2,LAYER2"});

-- note, je n'ai pas testé le code, mais je pense que cela fonctionnera !


Voir la vidéo: Argali. Altai-vuorilammas on maailman suurin lammas. Venäjä. Altai. Tuva. Mongolia (Octobre 2021).