Conseils & Astuces ArcGIS Online - N°126
N° 126 - Créer des sauvegardes locales des couches d'entités de votre portail
Disposer de tout ou partie de ses données géospatiales sur une plateforme Cloud qui garantit la sécurité de vos données n'empêche pas de souhaiter, de temps en temps, réaliser une sauvegarde locale vos données. Par exemple, cela peut être intéressant pour archiver certains états ou étapes de vos jeux de données, se constituer un historique sur certaines couches ou simplement garder une trace de certaines données avant de les supprimer de la plateforme.
Pour les fichiers "statiques" (Shapefile, Géodatabase Fichier, fichier de paquetage, style web, GeoJSON, KML, image, document Office, autres...), un simple téléchargement sera nécessaire. Pour les couches d'entités (hébergées dans des bases de données), il existe principalement 2 méthodes qui peuvent être utilisées pour sauvegarder des données à partir d'ArcGIS Online.:
Exporter et télécharger des éléments depuis "Mon contenu"
Vous pourrez utiliser cette méthode pour enregistrer des copies individuelles de certains jeux de données depuis ArcGIS Online vers une machine locale. Ceci se fera à partir de la page des contenus selon la démarche suivante:
Sachez que tout contenu supprimé de votre portail d'organisation est définitivement supprimé et ne peut pas être récupéré.
Utilisez Python pour automatiser cette procédure
À l'aide de l'API ArcGIS pour Python, il est possible d'exporter et de télécharger chaque service d'entités hébergé de votre organisation (ou d'un utilisateur particulier) en tant que Géodatabase Fichier (FGDB) vers un emplacement sur un lecteur local. L'utilisation de cette méthode peut automatiser le téléchargement de plusieurs fichiers individuels en une seule opération. Votre script Python peut parcourir la liste des services d'entités, récupérer le titre du service, exporter la FGDB, télécharger cette FGDB en local, puis supprimer les éléments de FGDB générés temporairement dans "Mon contenu" sur votre portail ArcGIS Online.
A titre indicatif, voici un exemple de script permettant d'automatiser la sauvegarde de toutes les couches d'entités d'un utilisateur spécifique:
Pour aller plus loin, vous pouvez consulter cet article de la base de connaissances du support qui montre comment automatiser les téléchargements de FGDB des services d'entités hébergés à l'aide de l'API ArcGIS pour Python.
Pour les fichiers "statiques" (Shapefile, Géodatabase Fichier, fichier de paquetage, style web, GeoJSON, KML, image, document Office, autres...), un simple téléchargement sera nécessaire. Pour les couches d'entités (hébergées dans des bases de données), il existe principalement 2 méthodes qui peuvent être utilisées pour sauvegarder des données à partir d'ArcGIS Online.:
- Utiliser les capacités d'export et de téléchargement des éléments depuis "Mon contenu"
- Utilisez l'API Python ArcGIS pour parcourir et télécharger au format FGDB
Exporter et télécharger des éléments depuis "Mon contenu"
Vous pourrez utiliser cette méthode pour enregistrer des copies individuelles de certains jeux de données depuis ArcGIS Online vers une machine locale. Ceci se fera à partir de la page des contenus selon la démarche suivante:
- Afficher la page de description de votre couches d'entités, puis cliquer sur le menu "Exporter des données". Vous choisirez alors le format de données souhaité pour votre sauvegarde.
- Vous renseignerez ensuite les métadonnées du fichier à exporter.
Selon la taille de la couche d'entités et le format choisi, la durée de l'export peut prendre quelques secondes à plusieurs minutes.
- Une fois le fichier de sauvegarde généré, il vous suffira de le télécharger en local sur votre poste en cliquant sur le bouton "Télécharger".
- Vous pourrez alors décider de conserver le fichier de sauvegarde sur votre portail on non. Si vous le conservez, cela vous fait un niveau de sécurité supplémentaire. Pour mémoire, le stockage de ces fichiers consommera des crédits de stockage (1,2 crédits par Go par mois). Dans le cas contraire, vous supprimerez le fichier à l'aide du bouton "Supprimer" dans l'onglet "Paramètres".
Sachez que tout contenu supprimé de votre portail d'organisation est définitivement supprimé et ne peut pas être récupéré.
Utilisez Python pour automatiser cette procédure
À l'aide de l'API ArcGIS pour Python, il est possible d'exporter et de télécharger chaque service d'entités hébergé de votre organisation (ou d'un utilisateur particulier) en tant que Géodatabase Fichier (FGDB) vers un emplacement sur un lecteur local. L'utilisation de cette méthode peut automatiser le téléchargement de plusieurs fichiers individuels en une seule opération. Votre script Python peut parcourir la liste des services d'entités, récupérer le titre du service, exporter la FGDB, télécharger cette FGDB en local, puis supprimer les éléments de FGDB générés temporairement dans "Mon contenu" sur votre portail ArcGIS Online.
A titre indicatif, voici un exemple de script permettant d'automatiser la sauvegarde de toutes les couches d'entités d'un utilisateur spécifique:
In [1]:
from arcgis.gis import GIS
from IPython.display import display
username="xxxxxx"
password="xxxxxx"
myGIS = GIS("http://www.arcgis.com", username, password)
user = myGIS.users.get(username)
for item in user.items():
if (item.type == 'Feature Service'):
try:
service_title = item.title
version = "1"
fgdb_title = service_title + version
print('Export de l\'élément: ' + service_title)
result = item.export(fgdb_title,'File Geodatabase')
result.download(r'C:\\Export\ArcGISOnline')
result.delete()
except:
print('Une erreur s\'est produite sur l\'élément: ' + service_title)
Pour aller plus loin, vous pouvez consulter cet article de la base de connaissances du support qui montre comment automatiser les téléchargements de FGDB des services d'entités hébergés à l'aide de l'API ArcGIS pour Python.
Bonne route sur ArcGIS Online !
Pour retrouver l'ensemble des Conseils & Astuces ArcGIS Online, cliquez sur ce lien
0 comments :
Enregistrer un commentaire