Une connexion est une façon enregistrée d'atteindre des données que vous conservez ailleurs : une base de données, un entrepôt infonuagique, un compartiment de stockage ou un service SIG. Vous saisissez les renseignements une seule fois et vous réutilisez la connexion dans vos cartes et vos flux.
Ce que chaque source permet
| Source | Ajouter une couche à une carte | Lire dans un flux | Écrire depuis un flux |
|---|---|---|---|
| PostGIS | Oui | Oui | Une table |
| SQL Server | Oui | Oui | Une table |
| Amazon Redshift | Oui | Oui | Une table |
| BigQuery | Oui | Oui | Une table |
| Snowflake | Oui | Oui | Une table |
| Databricks | Oui | Oui | Une table |
| Amazon S3 | Oui | Oui | Un fichier |
| Google Cloud Storage | Oui | Oui | Un fichier |
| Stockage Blob Azure | Oui | Oui | Un fichier |
| Service d'entités ArcGIS | Oui | Oui | Non |
| OGC API Features ou WFS | Oui | Oui | Non |
| Catalogue STAC | Oui | Oui | Non |
Une couche ajoutée à partir d'une source peut être actualisée manuellement chaque fois que vous voulez les données les plus récentes, ou selon un horaire que vous définissez.
Créer une connexion
- Ouvrez « Paramètres », puis « Connexions ».
- Sélectionnez « Créer une connexion ».
- Choisissez le « Type de source » et donnez à la connexion un « Nom de la connexion ».
- Remplissez les renseignements propres à cette source. Lorsqu'une source en offre plusieurs, choisissez une « Méthode de connexion ».
- Sélectionnez « Tester la connexion ». « La connexion fonctionne. » confirme que Tamaat a atteint la source et s'y est connecté.
- Sélectionnez « Enregistrer la connexion ».
La page de chaque source énumère ses champs et ce que l'identifiant doit être autorisé à faire :
- Bases de données : PostGIS, SQL Server, Amazon Redshift
- Entrepôts infonuagiques : BigQuery, Snowflake, Databricks
- Stockage infonuagique : Amazon S3, Google Cloud Storage, Stockage Blob Azure
- Services SIG : services d'entités ArcGIS, OGC API Features, WFS, catalogues STAC
Ajouter une couche à partir d'une connexion
- Dans une carte, ajoutez une couche et choisissez « Connecter une source ».
- Choisissez la « Source » et la « Connexion ».
- Sous « Données », parcourez jusqu'à une table, une vue, une couche ou un fichier. Pour une base de données ou un entrepôt, vous pouvez sélectionner « Écrire plutôt une requête » et écrire un seul
SELECT. - Si les données comportent plus d'une colonne spatiale, choisissez la « Colonne de géométrie ».
- Donnez à la couche un « Nom de la couche » et ajoutez-la.
Tamaat copie les données dans la couche. La carte n'interroge pas votre source à chaque affichage : elle reste donc rapide et continue de fonctionner lorsque la source est hors ligne.
Actualiser une couche depuis sa source
Ouvrez le menu de la couche et choisissez « Actualiser depuis la source ». La boîte de dialogue indique la date de la dernière actualisation.
- La couche est remplacée en une seule étape. Si l'actualisation échoue ou que vous l'arrêtez, la couche conserve les données qu'elle avait.
- Si vous avez modifié la couche dans Tamaat, la boîte de dialogue indique « Cette couche comporte ses propres modifications ». L'actualisation les remplace par les données de la source; vous devez donc d'abord sélectionner « Remplacer les modifications apportées ici ».
- Si quelqu'un a modifié la couche après l'ouverture de la boîte de dialogue, l'actualisation est refusée et vous êtes invité à réessayer.
- Si la source ne contient plus aucune ligne, la couche devient vide. Elle ne continue pas d'afficher des données que la source n'a plus.
Actualiser selon un horaire
Dans la boîte de dialogue « Actualiser depuis la source », choisissez la fréquence sous « Actualiser automatiquement » : « Toutes les heures », « Toutes les 6 heures », « Toutes les 12 heures », « Tous les jours » ou « Toutes les semaines ». Choisissez « Désactivé » pour arrêter.
- Une actualisation planifiée utilise la connexion choisie dans la boîte de dialogue et s'exécute au nom de la personne qui l'a définie. Si cette connexion est supprimée ou ne peut plus s'authentifier, l'actualisation n'a pas lieu et la boîte de dialogue l'indique à sa prochaine ouverture.
- Une actualisation planifiée ne remplace jamais les modifications apportées dans la couche. Une couche qui comporte ses propres modifications est ignorée jusqu'à ce que vous l'actualisiez manuellement en sélectionnant « Remplacer les modifications apportées ici ».
- Une actualisation qui échoue laisse la couche telle qu'elle était, et la suivante a lieu à l'heure habituelle.
Utiliser une connexion dans un flux
- « Lecteur de base de données » lit une table, une vue ou une requête d'une base de données ou d'un entrepôt, ainsi qu'une couche d'un service SIG.
- « Lecteur de stockage infonuagique » lit un fichier d'un compartiment ou d'un conteneur.
- « Rédacteur de base de données » écrit le résultat du flux dans une table : « Créer une nouvelle table », « Ajouter des lignes » ou « Remplacer la table ». PostGIS offre aussi « Mettre à jour les lignes correspondantes et ajouter les autres ».
- « Rédacteur de stockage infonuagique » écrit un fichier dans un compartiment ou un conteneur.
L'écriture d'une table est sûre. Les lignes sont d'abord placées dans une table temporaire à côté de la cible, puis une seule étape finale crée, remplace ou complète votre table. Si l'écriture échoue, est arrêtée ou manque de temps, votre table est exactement comme elle était. L'identifiant doit donc avoir la permission de créer des tables dans le schéma où il écrit.
À savoir avant de vous connecter
- Tamaat atteint votre source par Internet. Une base de données ou un service qui ne répond qu'à l'intérieur d'un réseau privé ne peut pas être atteint. Autorisez l'adresse sortante de Tamaat dans votre pare-feu plutôt que d'ouvrir la source à tous.
- Les coordonnées sont conservées en longitude et latitude (WGS 84). PostGIS et Amazon Redshift convertissent les autres systèmes de coordonnées pour vous. SQL Server, Snowflake et Databricks ne le peuvent pas : des données dans un autre système sont refusées avec un message qui le nomme; convertissez-les dans une requête ou à la source.
- Une requête est une seule lecture. Écrivez un seul
SELECT. Tout ce qui modifie des données est refusé avant d'être envoyé. - Ne donnez à l'identifiant que ce dont il a besoin. L'accès en lecture pour les couches et les lecteurs; la permission de créer des tables seulement là où un flux écrit.