Créer des métadonnées pour plusieurs jeux de données simultanément dans ArcGIS 10

11

J'essaie de trouver un moyen de créer des métadonnées via Arc Catalog pour plusieurs jeux de données simultanément. Je travaille au sein d'une géodatabase fichier, qui se compose de plusieurs classes d'entités et rasters. Les données ont un thème commun, je voudrais donc créer un modèle de métadonnées pour un élément, puis remplir d'autres ensembles de données dans les mêmes informations de métadonnées. Je prévois d'utiliser un modèle de métadonnées standard ISO.

J'ai fait quelques recherches et il semble qu'il y ait trois options (mais ni l'une ni l'autre n'ont réussi jusqu'à présent): - utilisez l'outil 'Importateur de métadonnées' dans Conversion Toolbox (cependant je pourrai copier les métadonnées sur une à une) uniquement) - X-tools pro dispose de l'option «Modification des métadonnées par lots», mais après avoir défini les paramètres dans ArcMap, je ne peux pas voir ces canges via Arc Catalog - la troisième option ajoute «Importateur par lots» ( http: //edndoc.esri .com / arcobjects / 9.0 / Samples / Metadata / Importers / Batch_Importer / Batch_Importer.htm ). J'ai réussi à l'ajouter à ArcCatalog mais je ne suis pas en mesure de l'exécuter (je reçois le message d'erreur «ICommand_OnClick ()).

Je travaille avec ArcGIS 10.

Magda
la source
J'ai essayé de faire les étapes comme l'a dit Oliver et c'est logique, mais je ne sais pas quoi faire avec l'iso, car il a dit (le système bien sûr ...) "le jeu de données arcgis à l'iso 19139 n'existe pas ou non "J'ai essayé l'option tout mais ça ne marche pas. Je travaille avec arcinfo 10.0 / sp5 pleas me emaling: [email protected]

Réponses:

4

Désolé de dire que vous n'allez pas trouver un moyen rapide de le faire à partir du SP2; principalement parce que les métadonnées sont gravement cassées @ ArcGIS 10. Je ne m'attendrais vraiment pas à ce que l'exemple de code que vous voyez fonctionne correctement, je pense qu'il pourrait même endommager les métadonnées. Votre véritable seule option sera de le faire manuellement.

Nous avons entrepris un important projet de mise à jour des métadonnées au cours des 2 derniers mois et en raison des problèmes dans ArcGIS 10, nous avons dû l'exécuter manuellement; couche par couche.

Je souhaite qu'il y ait de meilleures nouvelles pour vous; Je te souhaite bonne chance.

DEWright
la source
Merci pour votre réponse. Heureusement, l'ensemble de données sur lequel je travaille n'est pas trop étendu, je peux donc le faire manuellement en quelques heures. Mais la question se pose lorsque l'ensemble de données est volumineux. Quelque chose à laquelle Esri doit penser ..
Magda
Je comprends, ou qu'en est-il de la possibilité de définir certaines options globales pour un lot de fichiers, par exemple des mises à jour des informations de contact ou de vos exclusions de responsabilité. Ce genre de chose aiderait tant d'utilisateurs.
DEWright
Je pense que je l'ai craqué avec quelques modifications aux outils existants. Faites-moi savoir si vous êtes intéressé
Oliver Burdekin
@Magda Avez-vous déjà essayé l'outil?
Oliver Burdekin
5

Je viens de créer des métadonnées simultanément pour certains rasters. Ils se trouvaient dans un espace de travail de fichier par opposition à un espace de travail de géodatabase, donc je ne sais pas si ce sera un problème. Si je comprends bien, vous essayez de créer des métadonnées génériques pour plusieurs fichiers. Voici ce que j'ai fait:

Ouvrez arcCatalog et mettez à jour les métadonnées pour l'un des fichiers

Soyez générique pour que le texte s'applique à tous les fichiers

Exportez les métadonnées dans le même dossier. (J'ai la spécification d'implémentation de métadonnées ISO 19139 sélectionnée dans mes options arcCatalog).

Le fichier sera exporté en tant que fichier .xml.

Ouvrez l'outil suivant: Outils de conversion> Métadonnées> Importer des métadonnées ... ouvrez-le avec un clic droit et choisissez "batch" (c'est celui avec le symbole du générateur de modèle à côté)

Vous pouvez maintenant ajouter votre fichier .xml de métadonnées exporté en tant que source et accéder à tous les fichiers auxquels appliquer en tant que cible.

Certes, c'est un peu gênant de le faire pour les grands ensembles de données (en naviguant vers chaque fichier par exemple), mais comme il s'agit d'un modèle, vous pouvez facilement le modifier pour qu'il fonctionne plutôt comme un outil. Choisissez l'option récursive et elle ajoutera tous les fichiers dans un dossier pour avoir les métadonnées attachées. En fait, je pourrais le faire maintenant et le publier ici.

* Mise à jour *

J'ai créé un outil qui sert mon objectif de simplement mettre à jour la section DESCRIPTION d'un fichier. Si vous souhaitez l'utiliser, faites-le moi savoir. Il a des bizarreries mais il fonctionne.

Oliver Burdekin
la source
J'ai fini par utiliser «Importer des métadonnées» en mode batch. @Oliver - oui - je serais très intéressé de voir cet outil!
Magda
@Magda, vous pouvez m'envoyer un e-mail à [email protected] Il serait bon de tester ce modèle sur les données de quelqu'un d'autre.
Oliver Burdekin
Bonjour @Oliver, je voudrais utiliser votre outil. Ensuite, je n'ai pas besoin de réessayer par moi-même. Merci :-)
Shiuli Pervin
Salut @ShiuliPervin Veuillez m'envoyer un e-mail à [email protected] avec un échantillon de vos données et vos besoins exacts. Veuillez inclure votre version d'ArcGIS. Merci.
Oliver Burdekin
0

Oui, j'ai fait ce petit script que je lance depuis le cahier Jupyter. Modifiez simplement selon les besoins les variables metadatain et metawriter . Il ajoutera récursivement des métadonnées à tous les fichiers avec une extension (par exemple shp) dans un répertoire.

import os
import xml.etree.ElementTree as ET
metadatain = ET.parse(r'ADDRESS\TO\METADATA.xml')
root = metadatain.getroot()

def metawriter(folder_path, extension):
    for path, subdirs, files in os.walk(folder_path):
        for name in files:
            file_extension = os.path.splitext(name)[-1]
            if(extension in file_extension):
            #if(file_extension.lower() in name.lower()):
                file_path = os.path.join(path,name)
                file_name = os.path.splitext(file_path)[0]
                print(file_path)
                print(file_name)
                metafile = file_name + extension + ".xml"
                print(metafile)
                metadatain.write(metafile)



metawriter(r'ADDRESS\TO\FOLDER', '.FILEXTENSION')

* Notez les contre-obliques

Roberto Zeeland
la source