Avec les cartes de couches d'Amazon Quick Sight, vous pouvez désormais tracer des points et des itinéraires, comme les emplacements de magasins dans une ville ou les vols au départ d'un aéroport. Les cartes géospatiales aident les entreprises à repérer des modèles liés à la localisation, comme les performances d'une région ou la concentration des clients. Amazon Quick Sight prend en charge cela avec plusieurs types de cartes, notamment les cartes de points, les cartes colorées et les cartes de couches. Lorsque les cartes de couches ont été lancées, vous pouviez télécharger un fichier GeoJSON pour dessiner des couches de formes personnalisées, telles que des territoires ou des districts commerciaux, et joindre ces formes à un jeu de données. Cela gérait bien les régions et les frontières, mais cela ne couvrait pas les emplacements individuels qu'elles contiennent ni les itinéraires qui les relient.
Les cartes de couches prennent désormais en charge deux types de géométrie supplémentaires à partir du même flux de travail GeoJSON : Point et LineString. Les points marquent des emplacements spécifiques, comme des sites de magasins ou d'installations individuels. Un LineString trace l'itinéraire entre des emplacements, comme un trajet de livraison ou un vol entre aéroports.
Amazon Quick Sight, la capacité de business intelligence (BI) d' Amazon Quick, est un service BI unifié. Il fournit des tableaux de bord interactifs modernes, des requêtes en langage naturel, des rapports au pixel près, des informations issues du machine learning (ML) et des analyses intégrées à grande échelle. Amazon Quick réunit des agents d'IA pour les insights commerciaux, la recherche et l'automatisation dans une expérience intégrée, vous aidant à travailler plus intelligemment et plus rapidement tout en préservant les politiques de sécurité et d'accès.
Dans cet article, nous présentons la structure du jeu de données et du fichier GeoJSON requises par les cartes de couches. Nous expliquons également comment fonctionnent les points et les lignes dans un visuel de carte de couches et quand choisir chacun. Enfin, nous abordons des techniques avancées pour contrôler le viewport, superposer des géométries et mettre à jour des fichiers GeoJSON par programmation.
Considérations relatives à la structure du jeu de données
Une carte de couches obtient ses formes à partir d'un fichier GeoJSON et ses métriques d'un jeu de données Quick Sight, et une clé partagée joint les deux. La manière dont vous structurez chacun d'eux détermine ce que la carte peut afficher. Cette section couvre ce dont vous avez besoin avant de commencer et comment un fichier GeoJSON est organisé.
Prérequis
Voici les prérequis nécessaires avant de créer une carte de couches dans Quick Sight :
- Un fichier GeoJSON décrivant votre géométrie.
- Un jeu de données Quick Sight contenant les métriques et les dimensions.
- Une clé de jointure partagée entre le jeu de données Quick Sight et le fichier GeoJSON.
- Le fichier GeoJSON doit être enregistré au format .geojson, avec une taille de fichier maximale prise en charge de 100 Mo.
Structure du fichier GeoJSON
GeoJSON est un format basé sur JSON pour décrire des entités géographiques telles que des points et des lignes.
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [88.4, 22.6]
},
"properties": { "prop0": "value0" }
}, {
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[88.2, 22.4],
[88.9, 23.1],
[89.5, 22.8],
[90.1, 23.6]
]
},
"properties": { "prop0": "value0" }
}]
}
La structure du fichier est la suivante :
- FeatureCollection représente l'ensemble du fichier. Il possède un type FeatureCollection et un champ features array.
- Feature est un élément unique de la carte. Il transporte une geometry (la forme) et un objet properties , qui contient la clé de jointure.
- geometry possède un type (Point, LineString ou Polygon) et ses coordinates. Les coordinates contiennent une seule position [longitude, latitude] pour un Point, et une liste ordonnée de positions pour un LineString.
Configuration du jeu de données Quick Sight et de son GeoJSON
Dans Quick Sight, lorsque vous configurez une couche dans un visuel de carte à couches, deux paramètres principaux sont à prendre en compte. Le premier est Geometry type to visualize, qui définit quelle géométrie du fichier GeoJSON est affichée : des Points, des Lines ou des Polygons. Une couche affiche un seul type de géométrie à la fois ; ainsi, lorsqu’un fichier mélange les types comme dans l’exemple précédent, seules les Features du type sélectionné apparaissent sur la carte. Le second consiste à faire correspondre le Shape file key field au Dataset key field, ce qui relie chaque Feature du GeoJSON à une ligne de votre jeu de données Quick Sight. Les noms des champs n’ont pas besoin d’être identiques, mais les valeurs, elles, doivent l’être. Les deux exemples suivants montrent cela de bout en bout, d’abord une couche LineString puis une couche Point .
Exemple : couche LineString
Considérons des données d'exemple montrant un vol de JFK vers une ville de destination comme Los Angeles. La structure GeoJSON d'un seul point de données est configurée comme suit :
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[-73.7781, 40.6413],
[-85.5627, 40.6407],
[-97.1415, 39.4569],
[-108.1612, 37.1753],
[-118.4085, 33.9416]
]
},
"properties": { "route_id": "JFK-LAX" }
}
La ligne correspondante dans le jeu de données Quick Sight contient les informations suivantes :
Figure 1 : ligne du jeu de données pour la route JFK-LAX, indexée par route_id
Le champ route_id est utilisé pour joindre le jeu de données Quick Sight au fichier GeoJSON. Le GeoJSON contient une entité de ce type par route, et le jeu de données une ligne par route. Le type de géométrie à visualiser est défini sur Lines.
Figure 2 : la route JFK-LAX dessinée comme une couche LineString
Exemple : couche de points
Considérons des données d'exemple montrant l'emplacement d'un magasin de détail comme Long Island City. La structure GeoJSON d'un seul point de données est configurée comme suit :
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-73.9490, 40.7447]
},
"properties": { "store_id": "S-109" }
}
La ligne correspondante dans le jeu de données Quick Sight contient les informations suivantes :
Figure 3 : Ligne de jeu de données pour un magasin, indexée par store_id
Le champ store_id est utilisé pour joindre le jeu de données Quick Sight au fichier GeoJSON. Le fichier GeoJSON contient un élément de ce type par magasin, et le jeu de données une ligne par magasin. Le type de géométrie à visualiser est défini sur Points.
Figure 4 : Un magasin tracé comme une couche de points
Lignes dans les visuels de carte à couches
Les visuels de carte à couches prennent désormais en charge la géométrie LineString , reliant une liste ordonnée de coordonnées en un chemin unique. Comme indiqué dans la section sur la structure des données, chaque itinéraire est un élément, et ses coordonnées sont les positions ordonnées que la carte relie en séquence.
Utilisez des lignes lorsque c'est la relation entre les lieux que vous souhaitez montrer, comme des trajectoires de vol, des itinéraires de livraison, des voies maritimes ou des segments de pipeline. Le visuel trace chaque chemin à partir des coordonnées de votre fichier GeoJSON plutôt que de le générer à partir de vos données au chargement. Un champ de votre jeu de données joint peut déterminer l'encodage de couleur de la ligne, ce qui vous permet de regrouper les itinéraires selon ce que représente ce champ. En plus de la couleur, vous pouvez personnaliser les lignes avec des contrôles d'épaisseur et d'opacité pour ajuster la proéminence visuelle et la clarté sur la carte. La clé de jointure dans l'objet de propriétés du GeoJSON relie chaque LineString à la ligne du jeu de données qui alimente son infobulle et sa couleur.
Par exemple, une équipe des opérations aéroportuaires pourrait cartographier les vols au départ de New York (JFK) un jour donné. Le fichier GeoJSON contient un LineString par itinéraire, indexé par un identifiant de route joint au jeu de données. Chaque ligne part de JFK et se termine à sa destination, comme Los Angeles, Chicago ou Miami. Le jeu de données fournit l'origine, la destination et le transporteur qui apparaissent dans l'infobulle.
Figure 5 : Vols au départ de JFK tracés comme des itinéraires LineString vers plusieurs destinations
Points dans les visuels de carte à couches
Amazon Quick Sight propose un type de visuel natif carte de points qui géocode automatiquement les noms de lieux et se rafraîchit selon votre planification SPICE ou votre connexion Direct Query. Il prend en charge le dimensionnement dynamique des points, l'encodage de couleur et les styles de points tels que les points en cluster et les dégradés de densité de carte de chaleur. Il fonctionne mieux avec des données qui changent fréquemment et lorsque vous souhaitez que la carte réponde visuellement à ces changements.
Avec la prise en charge ajoutée des couches de points GeoJSON dans les visuels de carte à couches, Quick Sight offre désormais une seconde capacité de cartographie de points avec quelques différences clés. Les points des visuels de carte à couches utilisent une taille de marqueur uniforme et ne prennent pas en charge le géocodage ; vous devez donc fournir des coordonnées explicites dans le fichier GeoJSON. En contrepartie, vous pouvez contrôler précisément la fenêtre d'affichage, en verrouillant la carte sur une région géographique exacte et en désactivant le déplacement et le zoom.
Le tableau suivant résume les différences clés :
| Caractéristique | Carte de points | Points des visuels de carte à couches |
| Source de données | Valeurs de latitude/longitude ou noms de géolocalisation dans votre jeu de données | Éléments Point GeoJSON joints à votre jeu de données par une clé partagée |
| Géocodage | Reconnaît automatiquement la ville, le comté, l'État, le pays et le code postal | Non disponible. Vous devez fournir des coordonnées explicites dans le fichier GeoJSON |
| Mises à jour des lieux | La cartographie se met à jour automatiquement avec les rafraîchissements SPICE ou Direct Query lorsque les valeurs de lieu changent | Le visuel utilise un fichier GeoJSON statique pour les emplacements des points. Nécessite un rechargement manuel ou un appel API pour mettre à jour la géométrie |
| Fenêtre d'affichage | S'ajuste automatiquement à vos données, déplacement et zoom toujours activés | Ajustement automatique par défaut, configuration possible pour autoriser le déplacement et le zoom |
| Apparence | La taille et la couleur peuvent être encodées à partir du jeu de données. Configuration du style de points disponible (basique, cluster, carte de chaleur) | Taille uniforme des marqueurs personnalisable, opacité de remplissage, couleur et épaisseur de bordure. La couleur peut être encodée à partir du jeu de données |
Choisir les points visuels de la carte de couche lorsque :
- Vous avez besoin d'une fenêtre d'affichage verrouillée et non défilable.
- Vos emplacements sont fixes et sélectionnés avec soin (tels que des bureaux régionaux, des centres de distribution ou des magasins de détail) plutôt que de changer à chaque actualisation des données.
- Vous prévoyez de combiner des points avec d'autres types de géométrie (abordé dans la section des cas d'usage avancés).
Prenons l'exemple d'une marque de vente au détail dont les responsables régionaux utilisent un tableau de bord Quick Sight pour suivre les performances des magasins dans une zone métropolitaine. Le fichier GeoJSON contient une entité Point pour chaque magasin avec une propriété d'identifiant de magasin qui se joint au jeu de données. Le jeu de données contient les métriques (type de magasin, revenu mensuel, trafic quotidien en magasin) qui pilotent l'infobulle et l'encodage des couleurs. Vous positionnez la carte au niveau de zoom couvrant la zone métropolitaine, puis vous désactivez la navigation sur la carte afin que celle-ci s'affiche avec une vue cohérente à chaque chargement. Les responsables ne peuvent pas accidentallement dézoomer vers une vue nationale ou mondiale.
Figure 6 : Emplacements des magasins sous forme de points avec la navigation sur la carte désactivée pour verrouiller la vue de la zone métropolitaine
Cas d'usage avancés
Les sections précédentes couvrent une configuration standard d'une carte à calques. Utilisez les techniques suivantes lorsque vous avez besoin de plus de contrôle sur ce que voient les lecteurs, souhaitez combiner des types de géométrie dans une même vue ou avez besoin d'une géométrie qui évolue dans le temps.
Contrôle de la fenêtre d'affichage
Lorsque vous devez contrôler la fenêtre d'affichage dans les visuels de carte à calques, vous pouvez effectuer un panoramique et un zoom vers la vue souhaitée manuellement. Désactivez ensuite la navigation sur la carte pour la verrouiller en place. Pour les cas d'usage nécessitant des limites plus précises ou un contrôle programmatique, vous pouvez définir les coordonnées exactes de la fenêtre d'affichage via la définition du visuel à l'aide des API Quick Sight.
Le visuel de carte à calques stocke sa configuration de fenêtre d'affichage dans la propriété MapState au sein de ChartConfiguration. Cette propriété accepte deux champs :
- Bounds: les coordonnées géographiques définissant la zone minimale visible (Nord, Sud, Est, Ouest).
- MapNavigation:
ENABLEDouDISABLEDpour contrôler si les lecteurs peuvent effectuer un panoramique et un zoom.
Bien que la propriété bounds ne soit pas exposée dans la console, vous pouvez définir ces limites lorsque vous travaillez avec le JSON de définition du tableau de bord pour la gestion programmatique des ressources. Par exemple, pour définir les limites, modifiez le bloc MapState dans la définition du visuel, puis appelez les API CreateDashboard ou UpdateDashboard .
Les limites définissent la zone minimale dont la visibilité est garantie. La carte effectue un zoom pour s'assurer que toute cette zone tient dans le conteneur du visuel. Pour un ajustement le plus serré possible avec un espace supplémentaire minimal ajouté à la carte, faites correspondre le rapport hauteur/largeur de vos limites à la forme de votre conteneur de visuel.
Superposition de géométries
Pour les cas d'usage nécessitant de combiner plusieurs types de géométrie dans une seule vue, vous pouvez superposer des visuels les uns sur les autres. Par exemple, la capture d'écran suivante illustre le tracé des emplacements des clients sous forme de points à l'intérieur de limites régionales américaines définies par des polygones. Cette composition montre quels territoires présentent la plus forte densité de clients et peut être utilisée pour établir des corrélations avec d'autres métriques présentes dans le jeu de données, telles que les performances.
Figure 7 : Points clients superposés à l'intérieur de limites régionales polygonales
Ce deuxième exemple illustre la combinaison de points sous forme d'arrêts le long d'un itinéraire de livraison. La LineString trace l'itinéraire prévu et les entités Point marquent chaque arrêt planifié en cours de route.
Figure 8 : Un itinéraire de livraison tracé sous forme de LineString avec des marqueurs Point pour chaque arrêt
Pour superposer des géométries, vous empilez plusieurs visuels de carte à calques les uns sur les autres, en suivant ces étapes :
- Utilisez la disposition libre : Modifiez le paramètre de disposition de la feuille en libre-forme afin que les visuels puissent se chevaucher et s'empiler.
- Créez deux visuels de carte à couches : Créez les deux visuels de carte à couches que vous combinez en une seule vue, par exemple un utilisant un fichier GeoJSON de type Point et un utilisant un fichier GeoJSON de type LineString.
- Utilisez des limites correspondantes : En utilisant l'approche décrite précédemment pour contrôler le viewport, vérifiez que tous les visuels de carte à couches utilisent des limites identiques afin d'avoir la même vue de carte sous-jacente.
- Désactivez le déplacement et le zoom : Pour chaque visuel de carte à couches, désactivez le déplacement et le zoom sous Map options afin que l'alignement reste le même.
- Masquez la carte de base et l'arrière-plan sur la couche supérieure : Définissez l'arrière-plan du visuel supérieur sur masqué sous Display settings et désactivez la carte de base sous Map options.
- Empilez les visuels : Déplacez le visuel du dessus au-dessus de la couche de base par glisser-déposer ou en faisant correspondre des coordonnées précises de taille et de position sous Display settings.
L'ordre des couches suit l'ordre d'empilement des visuels dans la disposition libre. Pour modifier la position d'un visuel dans la pile, choisissez l'icône de menu (trois points) sur le visuel, puis choisissez Send backward ou Bring forward. Les lecteurs peuvent accéder à l'info-bulle du visuel le plus haut, placez donc en haut la couche dont les lecteurs ont besoin pour consulter les détails. Chaque feuille prend en charge jusqu'à cinq visuels de carte à couches.
Mise à jour dynamique du GeoJSON
Contrairement aux autres visuels Quick Sight où les données sont actualisées via SPICE ou Direct Query, la géométrie de la carte à couches réside dans le fichier GeoJSON lui-même. Lorsque votre jeu de données s'actualise selon un calendrier, les métriques sont mises à jour (par exemple, les couleurs changent et les valeurs des info-bulles sont actualisées), mais la géométrie reste à sa position d'origine.
Pour mettre à jour ce qui apparaît sur la carte, comme un nouvel itinéraire, de nouveaux emplacements de points ou des limites actualisées, vous devez mettre à jour le fichier GeoJSON et republier le tableau de bord. Vous pouvez remplacer un fichier GeoJSON manuellement via la console Quick Sight en modifiant le visuel de carte de couche dans l'Analysis et en téléchargeant un nouveau fichier. Cela convient aux modifications peu fréquentes, comme la mise à jour des limites de territoires chaque trimestre ou l'ajout d'un nouveau magasin.
Pour les mises à jour automatisées, à la demande ou dynamiques, le processus fait appel à Amazon Simple Storage Service (Amazon S3) et aux API Quick Sight décrites dans les étapes suivantes :
- Téléchargez le nouveau GeoJSON vers Amazon S3 : Générez votre géométrie mise à jour et enregistrez-la dans un Amazon S3 bucket. Les solutions personnalisées peuvent utiliser d'autres services AWS tels que Amazon Location Service pour créer les fichiers GeoJSON.
- Référencez le fichier dans la définition du tableau de bord : La définition du tableau de bord contient un StaticFiles tableau avec un
SpatialStaticFileentrée pour chaque fichier GeoJSON. Modifiez la référence du fichier vers l'emplacement S3 de votre fichier mis à jour entrée pour chaque fichier GeoJSON. - Appelez l'API UpdateDashboard : Soumettez la définition mise à jour avec la nouvelle référence de fichier en utilisant le UpdateDashboard API.
- Appelez l'API UpdateDashboardPublishedVersion : Publiez la modification afin qu'elle soit visible par les lecteurs du tableau de bord avec le UpdateDashboardPublishedVersion API.
L'exemple suivant utilise ce modèle pour prendre en charge des mises à jour de carte à la demande dans un tableau de bord intégré afin de générer des itinéraires optimaux entre des lieux et des points de passage. Bien que cela dépasse le cadre de cet article, il s'agit d'un cas d'utilisation avancé qui combine chacune des approches précédentes.
Figure 9 : Génération d'itinéraires à la demande dans un tableau de bord intégré
Conclusion
Dans cet article, nous avons montré comment utiliser la géométrie Point et LineString dans les cartes de couches d'Amazon Quick Sight pour tracer des emplacements spécifiques et les itinéraires qui les relient. Nous avons couvert la structure GeoJSON et la jointure de jeux de données qu'exigent les cartes de couches, et comparé les points des cartes de couches avec la carte de points native. Nous avons également parcouru des techniques avancées pour contrôler la fenêtre d'affichage, superposer des visuels distincts dans une même vue, et actualiser les fichiers GeoJSON avec Amazon S3 et les API de Quick Sight.
Pour en savoir plus sur les cartes superposées, consultez la documentation des cartes superposées Amazon Quick Sight. Visitez le Amazon Quick Community pour se connecter avec ses pairs et rester informé des dernières fonctionnalités et ressources.