Les ensembles de données vous permettent d'importer des données géospatiales à partir d'un fichier local ou de Google Cloud Storage vers Google Maps Platform. Vous pouvez ensuite associer un ensemble de données à un ou plusieurs styles de carte dans la console Cloud. Après avoir associé l'ensemble de données à un style de carte, utilisez l'API de style basé sur les données pour appliquer un style dynamique à votre application Maps.
Vous pouvez également utiliser une API REST pour importer vos données géospatiales dans un ensemble de données. Pour en savoir plus, consultez la section API Maps Datasets.
Configurer les rôles
Pour créer et gérer des ensembles de données dans un projet Google Cloud, vous devez disposer du rôle IAM Owner (Propriétaire) ou Editor (Éditeur) du projet.
Vous pouvez également attribuer les rôles IAM suivants à un compte utilisateur ou à un compte de service que vous utilisez pour gérer des ensembles de données :
- Le rôle
Maps Platform Datasets Admin
accorde à l'utilisateur ou au compte de service un accès en lecture/écriture aux ensembles de données du projet. Ce rôle permet à l'utilisateur d'effectuer toutes les opérations sur un ensemble de données. - Le rôle
Maps Platform Datasets Viewer
accorde un accès en lecture seule aux ensembles de données du projet. Ce rôle vous permet de lister, d'obtenir ou de télécharger des éléments d'un ensemble de données.
Pour en savoir plus, consultez Attribuer un rôle IAM à l'aide de la console Google Cloud.
Source de données d'un ensemble de données
Après avoir créé un ensemble de données, importez les données dans l'ensemble de données à partir de Google Cloud Storage ou d'un fichier local.Lorsque vous importez des données à partir de Cloud Storage, spécifiez le chemin vers la ressource contenant les données dans Cloud Storage. Ce chemin d'accès est au format
gs://GCS_BUCKET/FILE
.L'utilisateur qui effectue la requête doit disposer du rôle Lecteur des objets Storage ou de tout autre rôle comprenant l'autorisation
storage.objects.get
. Pour en savoir plus sur la gestion des accès à Cloud Storage, consultez Présentation du contrôle des accès.- Lorsque vous importez des données à partir d'un fichier local, spécifiez le chemin d'accès au fichier GeoJSON, KML ou CSV contenant les données à importer.
Conditions préalables
Lorsque vous créez un ensemble de données :
- Les noms à afficher doivent être uniques au sein de votre projet Google Cloud.
- Les noms à afficher doivent comprendre moins de 64 octets (ces caractères étant représentés au format UTF-8, chaque caractère peut correspondre à plusieurs octets dans certaines langues).
- Les descriptions doivent comprendre moins de 1 000 octets.
Lorsque vous importez des données :
- Les types de fichiers CSV, GeoJSON et KML sont acceptés.
- La taille maximale autorisée pour les fichiers est de 500 Mo.
- Les noms de colonnes d'attributs ne peuvent pas commencer par la chaîne "?_".
- Les géométries tridimensionnelles ne sont pas acceptées. Cela inclut le suffixe "Z" au format WKT et les coordonnées d'altitude au format GeoJSON.
Bonnes pratiques pour la préparation des données
Si vos données sources sont complexes ou volumineuses, comme des points denses, des segments de ligne longs ou des polygones (les fichiers sources de plus de 50 Mo appartiennent souvent à cette catégorie), envisagez de simplifier vos données avant de les importer pour obtenir les meilleures performances dans une carte visuelle.
Voici quelques bonnes pratiques pour préparer vos données:
- Réduire les propriétés des éléments géographiques Conservez uniquement les propriétés d'éléments géographiques nécessaires pour styliser votre carte, par exemple "id" et "category". Vous pouvez joindre des propriétés supplémentaires à une fonctionnalité dans une application cliente à l'aide de styles basés sur les données sur une clé d'identifiant unique. Pour en savoir plus, consultez Afficher vos données en temps réel avec les styles basés sur les données.
- Si possible, utilisez des types de données simples pour les objets d'établissement, tels que des entiers, afin de réduire la taille des tuiles et d'améliorer les performances de la carte.
- Simplifiez les géométries complexes avant d'importer un fichier. Vous pouvez le faire dans un outil géospatial de votre choix, tel que l'utilitaire Open Source Mapshaper.org, ou dans BigQuery à l'aide de ST_Simplify sur des géométries de polygone complexes.
- Regroupez les points très denses avant d'importer un fichier. Vous pouvez le faire dans un outil géospatial de votre choix, comme les fonctions de clustering turf.js Open Source, ou dans BigQuery à l'aide de ST_CLUSTERDBSCAN sur des géométries de points denses.
Pour obtenir des conseils supplémentaires sur les bonnes pratiques concernant les ensembles de données, consultez Visualiser vos données avec Datasets et BigQuery.
Exigences GeoJSON
Le SDK Maps pour Android est compatible avec la spécification GeoJSON actuelle. Le SDK Maps pour Android est également compatible avec les fichiers GeoJSON contenant l'un des types d'objets suivants:
- Objets Geometry : un objet Geometry est une forme spatiale, décrite comme une union de points, de lignes et de polygones avec facultativement des trous.
- Objets Feature : un objet Feature contient une géométrie et des paires nom/valeur supplémentaires, dont la signification dépend de l'application.
- Collections d'éléments géographiques : une collection d'éléments géographiques est un ensemble d'objets Feature.
Le SDK Maps pour Android n'est pas compatible avec les fichiers GeoJSON contenant des données dans un système de coordonnées (SRC) autre que WGS84.
Pour en savoir plus sur GeoJSON, consultez la page sur la conformité RFC 7946.
Exigences KML
Voici les exigences du SDK Maps pour Android:
- Toutes les URL doivent être locales (ou relatives) par rapport au fichier lui-même.
- Les géométries acceptées sont les points, les lignes et les polygones.
- Tous les attributs de données sont considérés comme des chaînes.
- Icônes ou
<styleUrl>
définis en dehors du fichier - Liens réseau tels que
<NetworkLink>
- Superpositions au sol telles que
<GroundOverlay>
- Géométries 3D ou toute balise d'altitude telle que
<altitudeMode>
- Spécifications concernant la prise de vue telles que
<LookAt>
- Styles définis dans le fichier KML
Exigences du format CSV
Pour les fichiers CSV, les noms de colonnes acceptés sont indiqués ci-dessous par ordre de priorité :
latitude
,longitude
lat
,long
x
,y
wkt
(Well-Known Text)address
,city
,state
etzip
address
- Une seule colonne contenant toutes les informations d'adresse telles que
1600 Amphitheatre Parkway Mountain View, CA 94043
Par exemple, votre fichier contient des colonnes nommées x
, y
et wkt
.
Étant donné que x
et y
ont une priorité plus élevée d'après l'ordre des noms de colonnes acceptés dans la liste ci-dessus, les valeurs des colonnes x
et y
sont utilisées, et la colonne wkt
est ignorée.
En outre :
- Chaque nom de colonne doit appartenir à une seule colonne. Autrement dit, vous ne pouvez pas avoir de colonne nommée
xy
contenant à la fois les coordonnées x et y. Les coordonnées x et y doivent se trouver dans des colonnes distinctes. - Les noms de colonnes ne sont pas sensibles à la casse.
- L'ordre des noms de colonnes n'a pas d'importance. Par exemple, si votre fichier CSV contient les colonnes
lat
etlong
, elles peuvent apparaître dans n'importe quel ordre.
Gérer les erreurs d'importation de données
Lorsque vous importez des données dans un ensemble de données, vous pouvez rencontrer l'une des erreurs courantes décrites dans cette section.
Erreurs GeoJSON
Voici quelques erreurs GeoJSON courantes :
- Champ
type
manquant, ou bien letype
n'est pas une chaîne. Le fichier de données GeoJSON importé doit contenir un champ de type chaîne nommétype
dans chaque définition d'objet Feature et Geometry.
Erreurs KML
Voici quelques erreurs KML courantes :
- Le fichier de données ne doit contenir aucun des éléments géographiques KML non acceptés dont la liste figure plus haut dans ce document. Sinon, l'importation des données risque d'échouer.
Erreurs CSV
Voici quelques erreurs CSV courantes :
- Certaines lignes ne contiennent aucune valeur dans une colonne de géométrie. Toutes les lignes d'un fichier CSV doivent contenir des valeurs non vides pour les colonnes de géométrie. Les colonnes de géométrie incluent :
latitude
,longitude
lat
,long
x
,y
wkt
address
,city
,state
etzip
address
- Une seule colonne contenant toutes les informations d'adresse telles que
1600 Amphitheatre Parkway Mountain View, CA 94043
- Si
x
ety
sont des colonnes de géométrie, assurez-vous que les unités sont la longitude et la latitude. Certains ensembles de données publics utilisent différents systèmes de coordonnées sous les en-têtesx
ety
. Si vous utilisez des unités incorrectes, l'ensemble de données sera peut-être importé, mais dans le rendu, les points de l'ensemble de données pourront s'afficher à des emplacements inattendus.
Créer un ensemble de données
Pour créer un ensemble de données :
- Dans la console Google Cloud, accédez à la page Ensembles de données.
- Cliquez sur Créer un ensemble de données.
- Saisissez le nom de l'ensemble de données. Chaque ensemble de données doit avoir un nom unique.
- Saisissez éventuellement une description pour l'ensemble de données.
- Cliquez sur Continuer. La page Importer des données s'affiche.
- Sélectionnez Ordinateur de bureau (pour un fichier local sur votre système) ou Bucket Google Cloud Storage comme Source d'importation des données à charger dans l'ensemble de données.
- Pour Ordinateur de bureau, cliquez sur Parcourir, puis sélectionnez le fichier dans le sélecteur.
- Pour Bucket Google Cloud Storage, cliquez sur Parcourir, puis sélectionnez le bucket et le fichier contenant les données.
- Sélectionnez le format de fichier.
- Cliquez sur Continuer pour examiner vos paramètres.
Cliquez sur Créer. La page Ensembles de données s'affiche avec votre nouvel ensemble de données. L'état doit être Traitement en cours.
Si les données sont bien importées:
- L'état de l'ensemble de données est défini sur TERMINÉ.
- L'ensemble de données devient la version "active" et est celle utilisée par votre application.
Si une erreur se produit lors de l'importation:
- L'état de la nouvelle version de l'ensemble de données est défini sur un état autre que TERMINÉ.
Afficher ou modifier un ensemble de données
Une fois que vous avez créé un ensemble de données, vous pouvez l'afficher ou le modifier:
- Dans la console Google Cloud, accédez à la page Ensembles de données.
- Cliquez sur le nom de l'ensemble de données. La page Détails de l'ensemble de données s'affiche.
- Cliquez sur l'onglet Détails pour afficher des informations sur l'ensemble de données. Dans cet onglet, vous pouvez également modifier le nom et la description de l'ensemble de données.
- Cliquez sur l'onglet Aperçu pour afficher votre ensemble de données sur une carte (ensembles de données avec un état TERMINÉ ou ANNULÉ uniquement).
- Cliquez sur l'onglet Données de la table pour afficher tous les attributs de l'ensemble de données (ensembles de données avec un état TERMINÉ ou ANNULÉ uniquement). Ce sont les attributs que vous pouvez utiliser pour styliser l'ensemble de données sur la carte.
- Cliquez sur le bouton Télécharger pour télécharger les données dans un fichier local.
- Cliquez sur le bouton Supprimer pour supprimer l'ensemble de données.
Cliquez sur le bouton Import Data File (Importer le fichier de données) pour importer de nouvelles données dans l'ensemble de données.
Lorsque vous importez de nouvelles données dans l'ensemble de données, vous créez une nouvelle version. Si les nouvelles données sont bien importées:
- L'état de la nouvelle version de l'ensemble de données est défini sur TERMINÉ.
- La nouvelle version devient la version "active" et est celle utilisée par votre application.
Si une erreur se produit lors de l'importation:
- L'état de la nouvelle version de l'ensemble de données est défini sur un état autre que TERMINÉ. Par exemple, si une version "active" précédente existe, l'état du jeu de données est défini sur REVERTED (REVERTI).
- La version de l'ensemble de données précédemment "active" reste la version "active" et est celle utilisée par votre application.