Les applications JMap Web utilisent une approche basée sur la production d’images de cartes générées par JMap Server. Les images peuvent être produites sous la forme d’une série de tuiles adjacentes les unes aux autres, pour chaque niveau d’échelle. Le nombre de tuiles pour les niveaux d’échelles inférieures (petite échelle, peu de détails d’une grande portion du territoire) est petit, tandis qu’il est typiquement très élevé pour les niveaux d’échelles supérieures (grande échelle, beaucoup de détails d’une petite portion du territoire).
La création de ces images se fait sur demande lorsque des utilisateurs naviguent sur la carte dans des applications web. Le travail fait par JMap Server pour produire ces images est considérable et peut occasionner un délai non négligeable dans ces applications. Pour améliorer les performances, il est conseillé d’utiliser un système de mise en cache des tuiles (tile cache). Un tel système conserve chaque tuile en cache une fois qu’elle est produite et peut aussi demander à JMap Server de produire à l’avance l’ensemble des images pour chaque couche. Cette opération peut demander plusieurs heures de travail durant lesquelles JMap Server sera très sollicité. De plus, l’espace de stockage requis pour l’ensemble des tuiles mises en cache peut être considérable. Par la suite, puisque toutes les images seront déjà produites et disponibles, la navigation dans les applications web s’en trouvera accélérée.
JMap Server est compatible avec le produit en code libre GeoWebCache (http://geowebcache.org). Cependant, pour fournir une meilleure intégration avec JMap Admin, K2 Geospatial fournit sa version de GeoWebCache légèrement adaptée. Consultez le site web de K2 Geospatial pour télécharger l’installeur de GeoWebCache pour JMap Server.
La figure suivante illustre l’utilisation de GeoWebCache avec JMap.
Pour utiliser GeoWebCache conjointement avec JMap Server, des paramètres sont requis dans JMap Admin afin de fournir à JMap les informations de connexion vers GeoWebCache. Ces paramètres sont saisis dans la section JMap Server / Paramètres.
L’URL vers GeoWebCache indique à quelle adresse JMap Server communique avec GeoWebCache. Le fait de fournir plusieurs URL différentes permet aux applications web de lancer plusieurs requêtes d’images simultanément, ce qui donne de meilleures performances lors du chargement de la carte. Ces URL doivent utiliser des noms de domaines ou des adresses IP qui pointent vers la même instance de GeoWebCache (p.ex. cache1.jmaponline.net, cache2.jmaponline.net).
Le nom d’utilisateur et le mot de passe configurés permettent à JMap Server de se connecter et d’envoyer des commandes à GeoWebCache. Par exemple, JMap Server peut demander à GeoWebCache de créer, effacer ou mettre à jour des caches de tuiles. Ces paramètres doivent correspondre à ce qui est configuré dans GeoWebCache. Voir plus bas pour plus d’information sur la configuration de GeoWebCache.
Consultez la section Paramètres de JMap Server pour plus d’information sur la configuration de ces paramètres.
GeoWebCache n’est pas inclus avec JMap et doit être installé séparément. Pour plus d’information sur l’installation et la configuration de GeoWebCache, consultez cet article.
Si GeoWebCache est bien installé et configuré, vous pouvez l’utiliser avec les applications de type JMap Web. La configuration de l’utilisation de GeoWebCache pour ces applications se fait lors du déploiement. C’est au moment de la configuration des couches que vous pouvez sélectionner l’option Mise en cache. Pour plus de détails référez-vous à la section Applications JMap Web.
Dans la section d’information d’une application JMap Web déjà déployée, il y a une sous-section Couches mises en cache. Cette section montre la liste des couches pour lesquelles l’option Mise en cache a été activée. Cette section vous permet de gérer la mise en cache et d’accéder à la console de gestion de GeoWebCache. Si aucune couche n’est mise en cache, cette section ne s’affiche pas.
Pour chaque couche, appuyez sur Remplir pour démarrer la production du cache de tuile. Ce processus peut être annulé en appuyant sur Annuler. Pour effacer le cache pour une couche, appuyez sur le bouton Effacer. La production du cache peut être très longue. Si vous désirez gérer le cache directement à partir des interfaces de GeoWebCache, cliquez sur Gérer dans GeoWebCache.
Les paramètres suivants s’appliquent aux applications de type JMap Web.
Ce type d’application nécessite une configuration de couches qui peut être différente de celle qui existe dans le projet à diffuser. JMap Web affiche des images de cartes qui sont générées par JMap Server à partir des couches du projet. Une image contient souvent des données de plusieurs couches combinées ensemble.
Les images produites peuvent être des tuiles (images à tailles fixes) ou non (images à tailles variables). Dans le cas des images tuilées, elles peuvent être générées à l’avance ou sur demande et peuvent être mises en cache pour de meilleures performances. Les images non tuilées sont toujours générées à la demande. En général, couches d’images tuilées offrent de meilleures performances et une expérience utilisateur plus fluide, mais elles peuvent introduire des effets de bordures et peuvent surcharger le serveur si leur nombre est élevé.
Les cartes de base sont des couches qui servent à afficher une carte en arrière-plan. Les données des cartes de base sont statiques et ne sont pas interrogeables par JMap. Une seule carte de base peut être affichée à la fois dans l’application mais l’utilisateur peut sélectionner celle de son choix, si plusieurs sont disponibles.
Les cartes de base peuvent être composées de couches du projet JMap ou provenir de services externes (OpenStreetMap, Bing Maps, WMTS, Mapbox). Lorsqu’elles sont produites par JMap Server, tuilées et mises en cache, elles peuvent être partagées par plusieurs applications JMap Web.
Les paramètres suivants s’appliquent lors de la création d’une couche JMap (statique ou dynamique) pour JMap Web.
Les propriétés géographiques de l’application JMap Web permettent de redéfinir certaines propriétés du projet pour cette application. Ce type d’application peut générer une charge de travail importante sur JMap Server et un espace de stockage considérable si vous utilisez un serveur GeoWebCache. En réduisant l’étendue maximale de la carte et l’échelle maximale, vous pouvez donc aider à diminuer la charge et améliorer les performances. Par défaut, JMap Web utilisera les mêmes propriétés que celles définies dans le projet.
Les paramètres suivants s’appliquent aux applications JMap Web.
Vous pouvez ajouter une couche en cliquant sur .
Options de l’application
Projet
Sélectionnez le projet à ouvrir au démarrage de JMap Web.
Langue
Sélectionnez la langue à utiliser dans JMap Web. Les éléments de l’interface graphique (menus, boutons, textes des fenêtres, etc.) seront dans langue sélectionnée. Si vous sélectionnez l’option Automatique, la langue de l’interface graphique sera celle des paramètres régionaux du système de l’utilisateur, ou l’anglais, si cette langue n’est pas prise en charge par JMap. La configuration du projet (noms des couches, infobulles, etc.) sera dans la langue sélectionnée, si les traductions pour cette langue sont disponibles dans le projet. Si vous sélectionnez l’option Automatique, la langue du projet sera celle des paramètres régionaux du système de l’utilisateur. Si la langue du système n’est pas disponible dans le projet, la langue par défaut définie dans le projet sera utilisée.
Rotation de la carte
Vous pouvez définir la rotation à appliquer à la carte à l’ouverture de l’application.
Accès contrôlé
Cette option permet de déterminer si l’accès à cette application doit être contrôlé. Si cette option est activée, une fenêtre d’authentification apparaîtra au démarrage de l’application. Si l’option n’est pas sélectionnée, le projet doit permettre l’ouverture de sessions anonymes.
Afficher la barre latérale à l’ouverture
Détermine si la barre latérale (contenant la liste des couches et les recherches) sera affichée à l’ouverture de l’application.
Zoom continu
Cette option permet de zoomer de manière continue sur la carte. Si cette option n’est pas cochée, les zooms se font en incréments prédéterminés. Cette option est automatiquement désactivée si Google Maps est affiché comme carte de base. Cette option est cochée par défaut.
Outil de géolocalisation
Sélectionnez cette option pour activer l’outil de géolocalisation dans l’application. L’option n’est disponible que si l’application est déployée avec le protocole HTTPS. Si cette option est désactivée, le bouton de géolocalisation est absent de l’interface utilisateur.
Outils d’édition des données
Sélectionnez cette option pour activer les outils d’édition des données géométriques et de leurs attributs. Même si ces outils sont activés, l’utilisateur doit posséder les permissions nécessaires pour modifier des données d’une couche.
Outils de sélection
Sélectionnez cette option pour activer les outils de sélection dans l’application. Si cette option est désactivée, le bouton de sélection sera absent de l’interface utilisateur.
Outils de Google
Sélectionnez cette option pour activer les fonctions de recherches d’adresses, de calcul d’itinéraires et de Street View de Google. Important : Vous devez vous assurer d’utiliser cette option conformément à la licence d’utilisation de Google.
Outils de partage
Sélectionnez cette option pour activer les outils de partage (lien vers cette carte, carte intégrée et créer une image). Si cette option est désactivée, le menu de partage sera absent de l’interface utilisateur.
Partager sur les réseaux sociaux
Si l’option des outils de partage est sélectionnée, vous pouvez sélectionner cette option pour activer le partage de cartes sur les réseaux sociaux (Facebook, LinkedIn, Twitter).
GeoWebCache
Utilisateur
Si vous utilisez un serveur GeoWebCache, entrez le compte utilisateur que GeoWebCache doit utiliser pour accéder à l’application déployée et au projet sélectionné. Ce compte utilisateur doit absolument avoir les permissions nécessaires pour ouvrir le projet associé à cette application déployée. Consultez la section Utilisation de GeoWebCache pour plus d’information.
Mot de passe
Entrez le mot de passe que GeoWebCache doit utiliser pour accéder à l’application déployée et au projet associé.
Avancé
Cross-Origin Request Sharing
Cochez cette option si l’application doit être embarquée dans un site web dont le nom de domaine (DNS) est différent de celui de l’application.
X-Frame Options
Les options offrent l’éventail de possibilités pour que l’application JMap Web soit appelée à partir d’un iframe.
Référents autorisés X-Frame
Ajoutez toute URL de domaine autorisée à appeler l’application dans un iframe. Les URL doivent être séparées par des point-virgule.
Exemple http://172.17.101.14:8082; http://172.17.101.15:8083.
Inactivité d’une session
Cochez cette option pour permettre de fermer la session d’un utilisateur après une période déterminée d’inactivité.
Adresse REST API
JMap Web nécessite les services REST de JMap Server. Entrez une adresse des services REST différente si ceux-ci ont été déployés sur un autre serveur.
Propriétés
Nom de la couche
Nom qui identifie la couche. Ce nom sera présenté à l’utilisateur dans le gestionnaire de couches de l’application. Le nom doit être unique.
Format de l’image
Format utilisé pour la production des images de la couche. Pour les couches comportant des photos aériennes ou satellitaires, le format JPEG offre généralement les meilleurs taux de compression. Par contre, ce format ne permet pas d’ajuster la transparence de la couche, qui est opaque.
Carte de base
Détermine si la couche sera une carte de base ou non.
Visible
Détermine si la couche sera initialement visible ou non visible à l’ouverture de l’application. Cette option ne s’applique pas aux couches qui sont des cartes ce base.
Listée
Détermine si la couche sera affichée dans la liste des couches présentées aux utilisateurs. Une couche peut être affichée sur la carte sans être affichée dans la liste.
Tuilée
Détermine si les images de la couche seront tuilées ou non. Les couches statiques sont automatiquement tuilées.
Mise en cache
Sélectionnez cette option si vous souhaitez que GeoWebCache soit utilisé pour mettre en cache les tuiles générées pour cette couche. Cette option n’est disponible que pour les couches statiques. Consultez la section Utilisation de GeoWebCache pour plus d’information.
Composition de la couche
Couches disponibles
Liste des couches du projet qui sont disponibles pour inclure dans la nouvelle couche.
Couches sélectionnées
Liste des couches qui sont sélectionnées pour faire partie de la nouvelle couche. Vous pouvez définir l’ordre d’affichage des couches du projet qui composent la nouvelle couche. Toutes les couches sélectionnées seront dessinées ensemble dans les images produites par JMap Server.
Carte miniature
Sélectionner
Lorsque la couche est une Carte de base, vous pouvez sélectionner une image pour la représenter en miniature dans l’application. L’image à téléverser doit avoir une taille de 100x100 pixels, dans le cas contraire elle sera modifiée pour atteindre cette taille. Si vous ne sélectionnez pas une image, la miniature affichera une image par défaut.
1
Utilisez ces outils pour redéfinir les étendues initiale et maximale au besoin. Par défaut, ce sont les étendues du projet qui sont utilisées. Limiter l’étendue maximale de la carte peut grandement réduire la taille des données en cache pour ce type d’application. L’étendue maximale est représentée par la ligne au trait plein. L’étendue initiale est représentée par la ligne au trait pointillé.
2
Localiser… La fonction Localiser permet de rechercher les données sur la carte. Dans certains cas, les étendues connues par JMap peuvent être incorrectes et la carte affichée par défaut peut sembler vide. Pour vous aider à localiser correctement les données, vous pouvez utiliser cet outil pour zoomer sur l’étendue d’une couche en particulier ou sur l’étendue du projet entier. Une fois les données bien localisées, vous pouvez redéfinir des étendues maximale et initiale valides.
3
Échelle maximale Ce paramètre permet de redéfinir l’échelle maximale de la carte afin de limiter les possibilités d’agrandissement de la carte par l’utilisateur. Par défaut, l’échelle maximale définie dans la configuration du projet est utilisée, mais il est possible de spécifier une autre échelle. Spécifier une échelle maximale plus petite permet de réduire de beaucoup la taille des données en cache pour ce type d’application.
4
Niveaux / Échelles Affiche la liste des niveaux de zoom et les échelles qui seront utilisés par l’application. Les niveaux sont déterminés par l’échelle maximale et l’étendue maximale. Permettre des niveaux supplémentaires Cette option permet à JMap Web, dans certains cas particuliers, d’afficher la carte à des échelles plus grandes (zoom plus proche) que celles utilisées normalement. L’échelle maximale normalement utilisée est d’environ 1:1000. OpenLayers, la bibliothèque avec laquelle JMap Web est développé permet une échelle 1:211. Si l’échelle maximale définie plus haut est supérieure à 1:211 (p. e. 1:100), vous devez sélectionner cette option afin d’autoriser JMap Web à zoomer d’avantage. La plupart des cartes de base (Google Maps, Bing Maps, OpenStreetMap, Mapbox) ne peuvent pas s’afficher de manière optimale aux niveaux supérieurs à 1:1000.
5
Étendue maximale Les paramètres de l’étendue maximale sont affichés au bas de la carte (coordonnée X, Y du point inférieur gauche, largeur et hauteur, dans le système de coordonnées du projet). Vous pouvez aussi saisir les paramètres directement dans les champs respectifs.
Types de couches
Couche dynamique JMap
Couche dynamique JMap (projet entier)
Couche statique JMap
Couche dynamique vectorielle
Les couches dynamiques vectorielles sont des couches vectorielles provenant du projet qui ne peuvent pas être tuilées ni mises en cache. Elles sont un bon choix pour des données qui peuvent changer souvent ou qui requièrent une plus grande interactivité. L’utilisateur pourra contrôler la visibilité de la couche, afficher des thématiques et leurs légendes, faire de l’édition de données, des sélections, etc. Une couche dynamique vectorielle permet une grande interactivité avec les couches qui la composent.
Google Maps
Ajoute une carte de base qui affiche la carte de Google Maps. Pour que cette couche s’affiche correctement avec les autres couches, la projection du projet JMap doit obligatoirement être la même que celle utilisée par Google Maps, soit WGS84 / Pseudo-Mercator (EPSG:3857). Vous pouvez choisir les types de cartes (plan, relief, satellite, satellite hybride) que vous voulez ajouter. Important : Pour que cette couche s’affiche vous devez entrer une clé d’API Google Maps dans votre configuration. Dans l’interface de configuration de la couche s’affiche la clé existante mais vous ne pouvez pas l’éditer dans l’interface. La section Paramètres de JMap Server offre les détails pour entre ou éditer une clé API Google Maps. Vous devez vous assurer d’utiliser cette option conformément à la licence d’utilisation de Google.
Bing Maps
Ajoute une carte de base qui affiche la carte de Bing Maps. Pour que cette couche s’affiche correctement avec les autres couches, la projection du projet JMap doit obligatoirement être la même que celle utilisée par Bing Maps, soit WGS84 / Pseudo-Mercator (EPSG:3857). Vous pouvez choisir les types de cartes (route, satellite, satellite avec légendes) que vous voulez ajouter. Important : Pour que cette couche s’affiche vous devez entrer une clé d’API Bing Maps dans votre configuration. Dans l’interface de configuration de la couche s’affiche la clé existante mais vous ne pouvez pas l’éditer dans l’interface. La section Paramètres de JMap Server offre les détails pour entre ou éditer une clé API Bing Maps. Vous devez vous assurer d’utiliser cette option conformément à la licence d’utilisation de Microsoft.
OpenStreetMap
Ajoute une carte de base qui affiche la carte de OpenStreetMap. Pour que cette couche s’affiche correctement avec les autres couches, la projection du projet JMap doit obligatoirement être la même que celle utilisée par OpenStreetMap, soit WGS84 / Pseudo-Mercator (EPSG:3857). Vous devez vous assurer d’utiliser cette option conformément à la licence d’utilisation de OpenStreetMap.
Mapbox Map
Ajoute une carte de base qui affiche une carte de Mapbox. Pour que cette couche s’affiche correctement avec les autres couches, la projection du projet JMap doit obligatoirement être la même que celle utilisée par Mapbox, soit WGS84 / Pseudo-Mercator (EPSG:3857). Vous pouvez choisir les types de cartes (Light, Streets, Dark, Satellite, Outdoors) que vous voulez ajouter.
Vous devez vous assurer d’utiliser cette option conformément à la licence d’utilisation de Mapbox.
GeoWebCache
Ajoute une couche statique JMap en réutilisant un cache de tuiles existant disponible dans GeoWebCache. Pour plus d’information, consultez la section Utilisation de GeoWebCache.
Couche WMTS
Ajoute une couche provenant d’un serveur compatible avec WMTS (version 1.0.0). Vous devez donner un nom à la couche et indiquer si vous souhaitez que la couche soit visible à l’ouverture de l’application et listée dans le menu Couches. Vous pouvez utiliser une couche existante dans le projet ou vous connecter directement à une source externe pour obtenir les données. Dans ce cas, vous devez fournir l’URL GetCapabilities qui retournera les capacités du serveur WMTS. L’URL devrait être semblable à celle‑ci : http://www.server.com/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities
Exemple https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/WMTS/1.0.0/WMTSCapabilities.xml Vous devez ensuite sélectionner la couche à ajouter à l’application JMap Web. Seules les couches dont la projection est la même que celle du projet sont sélectionnables.
Les couches dynamiques peuvent être tuilées ou non, mais sont toujours générées sur demande et ne peuvent pas être mises en cache. Elles sont un bon choix pour des données qui peuvent changer souvent ou qui requièrent une plus grande interactivité. L’utilisateur pourra contrôler la visibilité de chacune des couches qui composent la couche dynamique, afficher des thématiques et leurs légendes, faire de l’édition de données, des sélections, etc. Une couche dynamique permet une grande interactivité avec les couches qui la composent.
Les couches dynamiques pour le projet entier sont un type spécial de couche dynamique qui présente les couches du projet avec leur organisation (hiérarchie de groupes et de couches). Elles sont un moyen rapide de déployer une application qui présente fidèlement un projet JMap. Par contre, puisqu’elles sont toujours dynamiques et peuvent être composées d’un grand nombre de couches, elles n’offrent pas des performances optimales quand le nombre d’utilisateurs est élevé. Une couche dynamique pour l'ensemble du projet montre la structure des couches telle qu'elle est définie dans le projet. Elle offre un niveau élevé d'interactivité avec toutes les couches.
Les couches statiques sont toujours tuilées et souvent mises en cache. Elles sont un bon choix pour des données qui ne changent pas souvent. Elles peuvent être des cartes de base, ou non. Elles sont moins interactives que les couches dynamiques. L’utilisateur pourra voir la composition d’une couche statique (sauf si c’est une carte de base) mais ne pourra pas contrôler la visibilité de chacune d’elles, ni demander l’affichage de thématiques ou faire de l’édition des données. L’utilisateur pourra par contre afficher des infobulles et faire des sélections sur les couches qui composent une couche statique. Les couches statiques JMap peuvent être utilisées comme cartes de base.