Suite

Filtrer la légende MapComposer pour afficher uniquement les couches visibles sur la carte

Filtrer la légende MapComposer pour afficher uniquement les couches visibles sur la carte


J'ai écrit une fonction en Python / PyQGIS (pas d'application autonome, donc copiez/collez-la dans l'éditeur de la console Python pour l'exécuter) qui prend un VectorLayer comme argument, crée un objet MapRenderer pour cette couche, puis crée un objet MapComposer en utilisant le MapRenderer, ajoute la carte, un titre et une légende à la composition et l'enregistre sous forme de fichier png.

Tout fonctionne bien, à l'exception du fait que la légende inclut toujours toutes les couches actuellement visibles dans le widget de couche QGIS. Ce que j'aime avoir, c'est de n'afficher que le calque dans la légende que j'ai passé au MapRenderer (puis à la composition). Voir l'exemple suivant.

Voilà à quoi ressemble le widget de couche QGIS : deux couches sont chargées, une est sélectionnée.

Voilà à quoi ressemble l'image de sortie lors de l'exécution du script ci-dessous : Les deux couches du widget de couche sont incluses dans la légende au lieu de la seule première couche (qui est la seule visible dans le tracé).

C'est mon scénario. Lorsque vous essayez de l'exécuter vous-même, définissez lerép_intrigueen haut de celui-ci pour correspondre au répertoire de sortie souhaité. Le script ne charge aucune couche, cela doit donc être fait à l'avance.

from PyQt4.QtCore import * from PyQt4.QtGui import * plotdir = r'C:pyqgis_plots' def saveImagesWithMapComposer(layer): print 'enregistrer des images avec map composer' ####### # configurer le jeu de calques, étendue et créez un moteur de rendu de carte ####### mapRenderer = QgsMapSettings() #nouveau dans QGIS 2.4 - remplace QgsMapRenderer() #mapRenderer = QgsMapRenderer() layeret = [layer.id()] mapRenderer.setLayers(layerset) # lors de l'utilisation de QgsMapRenderer, remplacez-le par setLayerSet(layerset) mapRectangle = mapRenderer.fullExtent() mapRenderer.setExtent(mapRectangle) mapRenderer.setOutputSize(QSize(1600,1200)) #lors de l'utilisation de QgsMapRenderer(), setOutputSize a besoin d'un deuxième argument 'int ' ####### # crée une composition et passe le rendu ####### comp = QgsComposition(mapRenderer) comp.setPlotStyle(QgsComposition.Print) dpi = comp.printResolution() dpmm = dpi / 25.4 width = int(dpmm * comp.paperWidth()) height = int(dpmm * comp.paperHeight()) ####### # ajouter une carte à la composition ####### x, y = 0, 0 w, h = comp.paperWidt h(), comp.paperHeight() composerMap = QgsComposerMap(comp, x, y, w, h) comp.addItem(composerMap) ####### # create label ####### composerLabel = QgsComposerLabel( comp) composerLabel.setText(layer.name()) composerLabel.adjustSizeToText() comp.addItem(composerLabel) composerLabel.setItemPosition(20,10) ####### # créer une légende ####### composerLegend = QgsComposerLegend(comp) composerLegend.model().setLayerSet(mapRenderer.layers()) #lors de l'utilisation de QgsMapRenderer, utilisez layerSet() au lieu de couches() composerLegend.setTitle() comp.addItem(composerLegend) composerLegend.setItemPosition(20, 20) ####### # créer une image et initialiser ####### image = QImage(QSize(width, height), QImage.Format_ARGB32) image.setDotsPerMeterX(dpmm * 1000) image.setDotsPerMeterY(dpmm * 1000) image.fill(0) ####### # Composition de rendu ####### imagePainter = QPainter(image) sourceArea = QRectF(0, 0, comp.paperWidth(), comp.paperHeight() ) targetArea = QRectF(0, 0, largeur, hauteur) comp.render(imagePainter, targetArea, sourceAre a) imagePainter.end() # Enregistrer l'image sur le disque (autres extensions possibles) image.save(plotdir + layer.name() + '.png">

En regardant votre commentaire ci-dessus, pour QGIS 2.6, vous pouvez faire quelque chose comme ceci pour insérer une couche dans le modèle de légende :

####### # créer une légende ####### composerLegend = QgsComposerLegend(comp) layerGroup = QgsLayerTreeGroup() layerGroup.insertLayer(0, the_layer) composerLegend.modelV2().setRootGroup(layerGroup)

Existe-t-il un moyen de masquer une couche du LayerSwitcher (OpenLayers) tout en voyant le GeoExt.LegendPanel correspondant ?

J'ai une légende de mes couches de carte. Il ajoute une légende de couleur pour chaque couche ajoutée dynamiquement.

Mon problème : Quand je demande que le calque soit caché dans le sélecteur de calques (je ne veux pas le voir là-bas) il ne m'affiche plus la légende, même si le calque est visible.

Existe-t-il un moyen de le garder hors du layerSwitcher tout en laissant ma légende s'afficher ? Je veux contourner le problème que me cause la bibliothèque. S'il y avait un moyen de masquer la couche du LayerSwitcher d'OpenLayers SANS utiliser DisplayInLayerSwitcher : false, cela résoudrait mon problème.

Voici le code de ma légende :

PS : Depuis le site GeoExt : Le LegendPanel inclura des légendes pour toutes les couches du layerStore avec lequel il est configuré, sauf si la couche est configurée avec displayInLayerSwitcher : false, ou un enregistrement de couche a un champ hideInLegend avec la valeur true. Un filtrage supplémentaire peut être effectué en configurant un filtre sur le LegendPanel.


7.1 Le sous-onglet Contenu

le Contenu sous-onglet du Superpositions Le volet contient les couches qui peuvent être visualisées sur la carte. Les couches contiennent des données qui, lorsqu'elles sont activées, apparaissent sur le fond de carte. Ils peuvent également être manipulés et interrogés à des fins analytiques. Si la couche est activée, elle apparaîtra sur la carte, et si elle est désactivée, elle ne sera pas visible. Les calques sont regroupés en thèmes, ou panneaux, sur la Contenu sous-onglet. Ils peuvent être considérés comme une arborescence de répertoires de contenus de données pouvant être visualisés sur la carte.

7.1.1 Activer et désactiver les calques

Couches dans le Contenu Le volet peut être activé et désactivé à l'aide de la case à cocher à côté de chaque couche. Une coche signifie que la couche est active et peut être affichée sur la carte si les données sont visibles à l'étendue actuelle de la carte. Les couches actives peuvent être identifiées. Une case à cocher vide signifie que la couche n'est pas active sur l'affichage de la carte.

  1. Sélectionnez le Superpositions languette.
  2. Sélectionnez le Contenu sous-onglet.
  3. Développez un panneau de thème.
  4. Choisissez un calque à activer en cliquant pour placer une coche dans la case à gauche du nom du calque (Figure 7-1)

7.1.2 Développer et réduire les calques

Couches dans le Contenu le sous-onglet peut être développé afin que vous puissiez afficher les sous-couches. Ceci est utile car vous pouvez activer un sous-ensemble de couches d'entités à partir de la couche parent. Moins il y a d'entités à introduire dans la carte lorsque vous activez une couche, plus elle se chargera rapidement.

  1. Sélectionnez le Superpositions languette.
  2. Sélectionnez le Contenu sous-onglet.
  3. Développez un panneau de thème.
  4. Sélectionnez un calque à développer en cliquant sur le bouton à côté du calque souhaité (Figure 7-2).
  5. Réduisez le calque en cliquant sur le bouton.

7.1.3 Icône Actualiser

Certaines couches de données dans The National Map Viewer, comme dans le panneau Other Featured Data, contiennent un contenu dynamique qui est actualisé périodiquement. Ces couches ont une Rafraîchir située à droite du nom du calque dans le Contenu volet sous Superpositions. Maintenir le curseur sur le Rafraîchir L'icône fait apparaître une petite info-bulle qui affiche le taux de rafraîchissement de la couche.

Vous trouverez ci-dessous un exemple étape par étape de la façon d'utiliser le Rafraîchir icône.

  1. Sélectionnez le Superpositions languette.
  2. Sélectionnez le Contenu sous-onglet.
  3. Trouvez le Rafraîchir situé à droite du nom de la couche.
  4. Maintenez votre curseur sur le Rafraîchir pour voir le taux de rafraîchissement en minutes (Figure 7-3).

7.1.4 Symbologie

La symbologie est un ensemble de conventions, de règles ou de systèmes de codage qui définissent la manière dont les entités géographiques sont représentées avec des symboles sur une carte, comme une légende. Dans le Superpositions volet, vous pouvez accéder à une couche et afficher la symbologie utilisée sur l'affichage de la carte pour cette couche particulière. Cela vous permet de comprendre clairement comment les entités de cette couche sont représentées sur l'affichage de la carte.

  1. Sélectionnez le Superpositions languette.
  2. Sélectionnez le Contenu sous-onglet.
  3. Développez un panneau de thème.
  4. Développez une couche jusqu'à sa symbologie. Vous devrez peut-être développer plusieurs sous-couches pour accéder à la symbologie, qui se trouve au niveau le plus bas de l'arborescence des couches (Figure 7-4).

Dans le panneau Calques, cliquez sur le Actions du panneau icône en haut à droite du panneau. Cliquer sur Afficher la légende pour ouvrir le Panneau Légende. Le panneau contient la légende de toutes les couches activées (cochées) dans la table des matières. À Fermer la Légende, cliquez sur le en haut du panneau Légende pour revenir au panneau Calques.

La symbologie, ou les symboles utilisés pour une couche (qui sont affichés dans la légende), peuvent également être consultés dans la table des matières. Clique sur le Informations sur la légende à gauche du nom du calque pour afficher la légende. Dans le cas où un seul symbole est utilisé dans une couche, ce symbole est visible à la place de l'icône d'information de la légende.


2 réponses 2

Au cas où quelqu'un envisagerait cela à l'avenir, il existe une nouvelle méthode viable.

Si vous utilisez la version développement/Github du package de brochure, addLegend() prend désormais en charge les arguments group et layerId.

(Exécutez la commande devtools::install_github('rstudio/leaflet') pour installer)

Même la dernière version de CRAN (1.1.0) prend en charge layerID .

En supposant que vous utilisiez la version de développement, le code suivant devrait fonctionner :

Cela devrait avoir l'effet souhaité de n'afficher une légende que lorsque le calque correspondant est actif.

Un problème potentiel est que par défaut, toutes les couches de dépliants sont actives. Si vous avez des polygones qui se chevauchent, cela peut conduire à une carte moins attrayante visuellement. Et, si vous avez plusieurs légendes, ce sera également un problème.

Ce que vous pouvez faire, c'est utiliser la fonction hideGroup().

Si vous souhaitez que seul le groupe A de l'exemple ci-dessus soit actif au début, vous pouvez ajouter


2 réponses 2

Bon, maintenant je pense avoir compris ton problème. Vous trouverez ci-dessous un autre exemple, qui montre uniquement la légende et le contrôle des groupes actifs. Pour cela, j'ai créé 2 html_legends pour le groupe A et pour le groupe B.

Lorsque vous utilisez l'argument LayerId, il n'affiche qu'un seul marqueur par groupe. Si vous voulez voir tous les marqueurs, l'argument LayerId ne doit pas être donné. Je t'ai fait un autre exemple. Je pense que cela devrait être le cas maintenant :) Je crée également 2 icônes et je filtre les données des tremblements de terre, en fonction de la colonne mag à l'intérieur de la fonction renderLeaflet, comme vous le faites dans l'affectation des icônes.

Essayez-vous d'en faire une Shiny-App ? J'ai écrit quelque chose de similaire pour une Siny-App, où seule la légende des groupes cliqués apparaît.

Si ce n'est pas censé être une application brillante, vous pouvez faire quelque chose comme ceci (vous devez affecter la carte du dépliant à une variable (dans ce cas "carte"). Vous pouvez donc l'appeler et l'adapter par la suite.

La variable groups stocke tous les groupes disponibles et activeGroup stocke les groupes actuellement actifs. Vous pouvez ensuite l'utiliser avec certaines instructions if-else pour n'afficher que la légende du groupe actif.

Bien que cela ne soit pas interactif comme un script R normal. Vous devrez appeler à plusieurs reprises l'appel activeGroup pour vérifier quels groupes sont encore actifs. Dans Shiny, cette interactivité serait donnée.


Contrôles de carte

Contrôles de la carte :

En cochant ou décochant les cases ci-dessous, vous pouvez basculer les différents contrôles de Google Maps visibles sur le canevas de la carte.

La commande Zoom ajoute des icônes +/- qui peuvent être utilisées pour modifier le niveau de zoom. Le contrôle Street view introduit une icône qui peut être glissée vers un emplacement sur la carte où vous souhaitez voir la vue au niveau de la rue (si disponible). La commande Type de carte introduit un menu déroulant dans lequel vous pouvez sélectionner si la carte est une feuille de route (avec un terrain activable) ou une imagerie satellite. Le contrôle Plein écran introduit une icône qui peut être utilisée pour développer la carte pour occuper votre plein écran.

Type de curseur :

Le menu déroulant du type de curseur vous permet de faire varier le type de curseur entre une main (glisser pour déplacer la carte) et un curseur avec des options de panoramique sélectionnables.


Cliquez pour calculer l'intersection géométrique de toutes les géométries. L'intersection est une géométrie représentant les zones ou lignes communes de toutes les géométries d'entrée. La géométrie du résultat peut être modifiée ou avoir d'autres calculs effectués dessus.

Cliquez pour soustraire les géométries secondaires de la géométrie principale. Le résultat est une géométrie qui contient toutes les zones/lignes/points qui apparaissent dans la géométrie primaire mais pas dans les géométries secondaires. La géométrie du résultat peut être modifiée ou avoir d'autres calculs effectués dessus.


Enquêter sur les reliefs du monde avec ArcGIS Online

par Joseph Kerski

Enquêter sur les reliefs du monde. L'étude des régions est un sujet clé en géographie, en éducation à l'environnement, en biologie et dans d'autres disciplines. Utilisons ArcGIS et examinons un moyen clé d'étudier les régions, à travers les reliefs.

Enquêter sur les reliefs du monde avec ArcGIS . Ouvrez un nouvel onglet dans votre navigateur Web et accédez à la carte Web suivante : http://www.arcgis.com/home/webmap/viewer.html?useExisting=1&layers=3760a3c1b848410e974f35eea533d9e8

Panoramique en Australie. À gauche de la carte, utilisez Contenu pour désactiver toutes les couches à l'exception des divisions :

Afficher la légende. Cliquez sur chacune des trois divisions couvrant l'Australie, en notant leur taille et leur emplacement.

Accédez à la fenêtre contextuelle, qui reflète la table attributaire derrière la carte (le « I » ou la partie information du SIG), en notant les informations sur chaque région de relief.

À gauche de la carte, accédez à À propos de > Plus de détails et examinez les métadonnées de la carte ( http://www.arcgis.com/home/item.html?id=3760a3c1b848410e974f35eea533d9e8 ). Cette carte contient des couches de divisions physiographiques nommées systématiquement compilées, de provinces physiographiques et de reliefs. Les caractéristiques sont attribuées et nommées sur la base des travaux du professeur Richard Murphy, Département de géographie de l'Université du Nouveau-Mexique, et du professeur E.M. Bridges, Université du Pays de Galles, Swansea, Royaume-Uni.

Revenez à votre carte (en utilisant le bouton « Ouvrir dans Map Viewer » en haut à droite de la page des métadonnées, ou en accédant à nouveau à l'URL ci-dessus pour la carte. Assurez-vous que seule la couche Divisions est à nouveau visible, sinon, activez-la couche sur et éteignez les autres.

Ouvrez le tableau de la couche Divisions > cliquez sur le champ shape_area > Trier par ordre décroissant.

Quelles sont les 3 plus grandes divisions de relief selon cet ensemble de données ? Faites défiler le tableau et notez que le Bouclier australien est, selon cet ensemble de données, classé 17e en superficie. Quels États d'Australie sont totalement ou partiellement dans le Bouclier australien ?

Zoomez sur Victoria en la recherchant dans la zone de recherche en haut à droite, ou en utilisant les outils de navigation + et –, ou en utilisant la zone de contrôle-glisser. Utilisez l'outil de transparence sous la couche Divisions pour estimer combien de Victoria tombe dans la région des Eastern Highlands et combien tombe dans la région des bassins sédimentaires. Remplacez le fond de carte par Terrain with Labels et comparez le terrain à la « limite » de la région de relief, en notant que la limite de la région de relief est généralisée et de portée continentale.

L'un des thèmes récurrents dans l'utilisation des SIG dans l'éducation est que l'échelle compte. Certains thèmes géographiques tels que les unités hydrologiques et les régions de relief, se nichent les uns dans les autres, visibles à mesure que l'échelle augmente (à des échelles plus grandes montrant plus de détails).

Sur votre carte, utilisez Contenu > et activez les provinces et les couches de caractères structurels, en notant comment elles s'imbriquent à l'intérieur des « divisions » que vous avez examinées il y a un instant.

Examen des reliefs par province désignée. Rendez le calque Landforms by Provinces visible et désactivez les autres. Rendez la Légende visible. Notez qu'il existe des centaines de reliefs nommés. Cliquez sur ceux qui couvrent Victoria et nommez les 5 qui couvrent l'état. Dans lequel vivez-vous et travaillez-vous ? Quelle région de relief couvre Sydney ? Adélaïde? Perth ? Kuala Lumpur? Tokyo ? Au fur et à mesure que vous recherchez et trouvez chaque ville, vous pouvez ajouter une note de carte à chacune, et en utilisant vos nouvelles compétences en technologie spatiale, vous pouvez vous connecter à ArcGIS, enregistrer cette carte et la partager avec votre classe en tant que carte World Landforms ou autre. nom similaire.

E xaminer les reliefs par caractère structurel. Rendez les formes de relief par caractère structurel visibles et désactivez les autres. Rendez la Légende visible. A noter la présence de zones volcaniques isolées en Nouvelle-Galles du Sud et à Victoria. Remplacez le fond de carte par Imagerie avec étiquettes et rendez la couche Caractère structurel semi-transparente. L'imagerie donne-t-elle des preuves de ces zones ? Dans certains endroits, oui, mais dans d'autres, l'utilisation des terres et la couverture terrestre masquent les roches volcaniques en dessous. Remplacez l'imagerie par Terrain with Labels et effectuez un panoramique sur le reste de l'Australie. Où existe-t-il des zones volcaniques isolées dans le reste du pays ? Panoramique vers d'autres endroits dans le monde, en nommant 3 zones où des zones volcaniques isolées occupent une grande partie du paysage.

D'autres questions à poser avec cet ensemble de données et ces outils à portée de main sont les suivantes : Quelles régions de relief en Australie soutiennent le plus l'agriculture ? Pourquoi? Dans quelles régions de relief se trouvent les plus grandes villes d'Australie ? Quelles régions de relief soutiennent et englobent les plus grandes villes du monde ? À l'aide de l'outil de mesure, mesurez la superficie des régions sélectionnées, telles que le bouclier australien, l'Himalaya ou le désert de Gobi. Quel est le plus grand ? Quelles questions voudriez-vous poser aux étudiants utilisant ces couches de données ?

Examen des caractéristiques hydrologiques. Les rivières, les bassins fluviaux et les bassins versants sont un autre moyen de comprendre le monde grâce à l'analyse régionale. En haut à droite de votre carte, utilisez Modifier la carte > Ajouter > Rechercher des couches > world hydro > sélectionnez « Esri hydro reference overlay » > Ajouter à la carte, comme suit :

Revenez à votre contenu pour votre carte et notez que vous avez maintenant une couche hydro montrant les rivières et les affluents. Désactivez toutes vos couches de relief. Remplacez le fond de carte par Terrain with Labels. Si vous avez toujours voulu une carte des rivières d'Australie ou de n'importe quel continent, vous en avez maintenant une !

Si cela aide à visualiser les frontières politiques, n'hésitez pas à remplacer le fond de carte par National Geographic ou un autre fond de carte. Dans quelle direction coulent la plupart des rivières à Victoria ? Pourquoi? Quelle est la rivière la plus proche de ton école ?

Vous avez fait beaucoup de bon travail sur cette carte, c'est donc une bonne idée de l'enregistrer afin de faire une analyse dessus maintenant et d'y revenir plus tard. Utilisez Enregistrer > Enregistrer sous, qui vous invitera à vous connecter à ArcGIS si vous n'êtes pas déjà connecté. Donnez à votre carte un titre, des balises et un résumé appropriés.

Traçage de l'eau au fur et à mesure qu'elle s'écoule en aval. Maintenant que vous êtes connecté, un outil simple mais puissant appelé Analyse apparaît maintenant en haut à gauche de votre carte :

Si Analysis n'apparaît pas, vous devez contacter votre administrateur pour votre compte ArcGIS et vous assurer que vous disposez de l'autorisation « éditeur ». L'autorisation de l'éditeur vous permet de créer des couches de carte, notamment via les fonctions d'analyse et via d'autres moyens.

Parce que vous avez la technologie spatiale à portée de main, faisons une analyse et déterminons comment l'eau s'écoule de votre école ou d'un autre endroit. Cela fait partie des outils d'analyse, qui vous permettent de superposer des couches de carte, de calculer des statistiques spatiales, d'interpoler des surfaces et bien plus encore. Pour l'instant, nous allons nous concentrer sur 1 outil d'analyse : Trace Downstream.

Utilisez Analyse > Rechercher des emplacements > Tracer en aval, comme suit :

Utilisez l'outil comme suit. Pour #1, cliquez sur le repère et faites-le glisser vers le point de la carte à partir duquel vous souhaitez tracer en aval. Il devrait déposer le point sur la carte et vous le verrez. Pour #2, faites la distance maximale de 5000 kilomètres.

Pour #3, donnez un nom approprié à la couche de carte résultante avec votre trace de flux. Ne cochez PAS la case « utiliser l'étendue actuelle de la carte ». (Inversement, effectuez un zoom arrière jusqu'à ce que vous voyiez toute l'Australie, puis cochez la case). Une fois terminé, > Exécuter l'analyse. Soyez patient pendant qu'il considère l'altitude et la hiérarchie et le débit du cours d'eau pour calculer la trace.

Une fois terminé, examinez le modèle spatial de votre résultat, en notant la direction, les villes et les zones de relief que l'eau passe

à travers, et l'endroit où votre eau pénètre dans l'océan. Utilisez l'outil de mesure pour mesurer la distance. Pour voir votre trace de flux plus clairement, changez le style en rouge ou orange et augmentez l'épaisseur de l'exemple de symbole de ligne ci-dessous.

Dans cet exemple, pourquoi l'eau fait-elle un si long voyage jusqu'à l'océan, alors que la distance au sud de la pointe est bien moindre ? Utilisez l'outil Mesurer pour mesurer la distance en ligne droite entre votre point et le rivage océanique le plus proche.

Ouvrez le tableau de la couche de trace. Notez la valeur dans le champ Longueur en kilomètres. De combien de kilomètres l'eau de votre point a-t-elle eu besoin pour atteindre l'océan ? Combien cela représente-t-il de plus en kilomètres et en pourcentage de la distance en ligne droite que vous avez mesurée ci-dessus ?

Prolonger la leçon. Il existe plusieurs façons de prolonger cette leçon. Étant donné que la technologie SIG est une boîte à outils ouverte de résolution de problèmes, vous n'êtes pas limité à faire uniquement ce qui est décrit dans cette activité.

Tout d'abord, vous pouvez également effectuer un traçage en aval d'autres emplacements dans le monde. Deuxièmement, vous pouvez ajouter une couche météo en temps réel à votre carte et discuter de la façon dont le débit de la rivière serait affecté par un événement pluvieux important ou un typhon, et quelles villes pourraient devoir être mises en alerte. Troisièmement, vous pouvez ajouter des stations de jaugeage des cours d'eau et le débit d'eau en temps réel à cette carte, et examiner leurs valeurs par rapport aux rivières et aux bassins versants, en étudiant l'effet de la fonte des neiges ou des pluies torrentielles sur la jauge du cours d'eau, l'emplacement du bassin versant, encore une fois à l'aide d'ArcGIS . Quatrièmement, vous pourriez enquêter entièrement sur une autre région du monde.

Toutes nos félicitations! Vous avez étudié des régions du monde à l'aide de la technologie SIG. Vous avez ouvert des cartes et créé vos propres cartes.


Présentation de la propriété

Collection contenant une liste plate de toutes les LayerViews créées liées au fond de carte, aux couches opérationnelles et aux groupes de couches dans cette vue.

Représente une animation de vue en cours initialisée par goTo().

Représente la vue d'un fond de carte unique après son ajout à la carte.

L'identifiant ou le nœud représentant l'élément DOM contenant la vue.

Une erreur fatale renvoyée lorsque la vue perd son contexte WebGL.

Indique si le focus du navigateur est sur la vue.

Permet d'ajouter des graphiques directement aux graphiques par défaut dans la vue.

La hauteur de la vue en pixels lus à partir de l'élément conteneur de vue.

Options pour configurer la gestion des entrées de la vue.

Indique si la vue est en train d'interagir (par exemple lors d'un panoramique ou par un outil interactif).

Une collection contenant une liste hiérarchique de toutes les LayerViews créées des couches opérationnelles de la carte.

La loupe permet d'afficher une partie de la vue sous forme d'image agrandie au-dessus de la vue.

Une instance d'un objet Map à afficher dans la vue.

Indique si la vue est en cours de navigation (par exemple lors d'un panoramique).

Options pour configurer le comportement de navigation de la vue.

Utilisez la propriété padding pour définir le centre, l'étendue, etc.

Un objet Popup qui affiche le contenu général ou les attributs des couches de la carte.

Lorsque true , cette propriété indique si la vue a satisfait toutes les dépendances, signalant que les conditions suivantes sont remplies.

Indique si la vue est en cours de redimensionnement.

Représente la valeur actuelle d'un pixel dans l'unité de spatialReference de la vue.

Un tableau contenant la largeur et la hauteur de la vue en pixels, par ex.

La référence spatiale de la vue.

Indique si la vue est animée, parcourue avec ou redimensionnée.

Indique si la vue est visible sur la page.

Le type de vue est soit 2d (indiquant une MapView) soit 3d (indiquant une SceneView).

Expose les widgets par défaut disponibles dans la vue et vous permet de les activer et de les désactiver.

Indique si la vue est mise à jour par des demandes de données supplémentaires au réseau ou par le traitement des données reçues.

Contient la collection de vues actives sur la page.

La largeur de la vue en pixels lue à partir de l'élément de conteneur de vue.

Détails de la propriété

Collection contenant une liste plate de toutes les LayerViews créées liées au fond de carte, aux couches opérationnelles et aux groupes de couches dans cette vue.

Représente une animation de vue en cours initialisée par goTo(). Vous pouvez regarder cette propriété pour être averti lorsque l'étendue de la vue change .

Représente la vue d'un fond de carte unique après son ajout à la carte.

L'identifiant ou le nœud représentant l'élément DOM contenant la vue. Ceci est généralement défini dans le constructeur de la vue.

Le nom de la classe. Le nom de classe déclaré est au format esri.folder.className .

Une erreur fatale renvoyée lorsque la vue perd son contexte WebGL. Surveillez cette propriété pour gérer correctement l'erreur et tenter de récupérer le contexte WebGL.

Indique si le focus du navigateur est sur la vue.

Permet d'ajouter des graphiques directement aux graphiques par défaut dans la vue.

La hauteur de la vue en pixels lus à partir de l'élément conteneur de vue.

Le conteneur de vue doit avoir une hauteur supérieure à 0 pour être affiché.

Options pour configurer la gestion des entrées de la vue.

Indique si la vue est en train d'interagir (par exemple lors d'un panoramique ou par un outil interactif).

Une collection contenant une liste hiérarchique de toutes les LayerViews créées des couches opérationnelles de la carte.

La loupe permet d'afficher une partie de la vue sous forme d'image agrandie au-dessus de la vue.

Une instance d'un objet Map à afficher dans la vue. Une vue ne peut afficher qu'une seule carte à la fois. D'un autre côté, une carte peut être visualisée par plusieurs MapViews et/ou SceneViews simultanément.

Cette propriété est généralement définie dans le constructeur de MapView ou SceneView. Voir la description de la classe pour des exemples démontrant la relation entre la carte et la vue.

Indique si la vue est en cours de navigation (par exemple lors d'un panoramique).

Options pour configurer le comportement de navigation de la vue.

Utilisez la propriété padding pour que le centre, l'étendue, etc. fonctionnent à partir d'une sous-section de la vue complète. Ceci est particulièrement utile lors de la superposition d'éléments d'interface utilisateur ou de contenu semi-transparent sur des parties de la vue. Voir l'exemple de remplissage de vue pour un exemple de la façon dont cela fonctionne.

Le remplissage gauche (en pixels).

Le rembourrage supérieur (en pixels).

Le bon remplissage (en pixels).

Le remplissage inférieur (en pixels).

Un objet Popup qui affiche le contenu général ou les attributs des couches de la carte.

La vue a une instance par défaut de Popup avec des styles prédéfinis et un modèle pour définir le contenu. Le contenu de cette instance par défaut peut être modifié directement dans le contenu du popup ou dans le PopupTemplate d'un calque.

Vous pouvez créer une nouvelle occurrence de Popup et la définir sur cette propriété pour personnaliser le style, le positionnement et le contenu de la popup en faveur de l'utilisation de l'occurrence de popup par défaut sur la vue.

Lorsque true , cette propriété indique si la vue a satisfait à toutes les dépendances, signalant que les conditions suivantes sont remplies.


API Google Maps v3 : identifiants de couche de données non définis

rôdeur de longue date, affiche pour la première fois ici, alors soyez doux.

Je construis une carte qui utilise des données analysées à partir d'une base de données MYSQL via PHP pour définir la couleur des polygones définis par un fichier geoJson (il utilise cet exemple sur le site de développement de Google comme modèle). Le problème que j'ai est que la couche de données ne s'initialise pas automatiquement lorsque la page se charge.

Le javascript/HTML complet est publié ci-dessous, mais la section de code qui a été utilisée dans l'exemple que je suis pour initialiser la couche de données est :

Cela me donne l'erreur "Uncaught TypeError: Cannot read property 'setProperty' of undefined". Si je commente l'auditeur, la couche de données se chargera correctement, mais seulement après avoir sélectionné manuellement une nouvelle entrée dans la liste déroulante (id='price_select').

Le fichier geoJson que je charge est relativement volumineux (

14 Mo) donc je pense que ce qui se passe, c'est que l'auditeur se déclenche avant que tout le fichier ne soit chargé ('addfeature' attend que la première fonctionnalité soit ajoutée, mais j'ai > 2000) et donc les districts analysés par le PHP don n'avez pas encore d'ID de fonctionnalité correspondant, qui est défini par le paramètre idPropertyName: 'Name' dans l'appel loadGeoJson. Je ne connais pas de moyen de définir l'écouteur pour qu'il ne se déclenche qu'une fois que l'ensemble du fichier GeoJson a été chargé. Alternativement, je pourrais me tromper complètement sur le fait que cela soit la cause de l'erreur.


Voir la vidéo: GISwijzer QGIS Print Layout Legend Source