Comment comparer les schémas de deux géodatabases fichier?


13

Nous avons un modèle de géodatabase, que nous envoyons à nos créateurs de données régionaux. Ils mettent à jour ces géodatabases et numérisent toutes les données de leur région dans les classes de fonction prédéfinies.

Maintenant que nous avons les géodatabases fichier, nous constatons que souvent de nombreuses classes de fonctionnalités ont été modifiées. Peut-être qu'un champ pourrait être ajouté ou supprimé. Dans certains cas, la classe d'entités elle-même est supprimée ou une nouvelle créée.

Je souhaite obtenir un rapport indiquant les classes d'entités et les tables modifiées, ainsi que les champs différents dans les tables et les classes de fonctions communes.

J'ai déjà examiné plusieurs questions telles que:

Mais les réponses données dans ces questions n'ont pas été utiles.


Je ne suis pas sûr du protocole ici à SE avec des sujets nécroissants, mais j'avais une question connexe à la vôtre, Devdatta: existe-t-il un outil qui prend votre solution à partir du complément X-ray et résout les différences entre les GeoDBs / XML?
Kyle Shepard

@KyleShepard La procédure habituelle est de poser une nouvelle question, pour un nouveau problème. Vous pouvez créer un lien vers une ancienne question si elle contient des informations connexes. Et pour répondre à votre question, je n'ai rien trouvé de tel. Vous pourriez peut-être poser une nouvelle question, et quelqu'un qui a trouvé quelque chose y répondra.
Devdatta Tengshe

Réponses:


9

Il existe un merveilleux complément appelé X-ray pour ArcCatalog . Il a de nombreuses fonctionnalités, mais celui que nous avons fini par utiliser était l'outil «Analyser la différence» du menu Outils.

Il trouve pour vous la différence entre une géodatabase et un document d'espace de travail XML. Nous venons d'exporter le schéma de notre modèle de géodatabase vers XML, et nous y avons comparé les différentes géodatabases.

Il ne faut guère quelques secondes pour afficher un joli rapport avec toutes les classes d'entités et les champs manquants ou différents dans les deux géodatabase.


Ça a l'air génial. Est-ce que cela fonctionne sur 10.1?
Fezter


7

Je pense que l'écriture d'un script python conviendrait mieux à ce que vous essayez de comprendre. Voici un flux de travail de script général:

Comparez d'abord la géodatabase 1 (geo1) à la géodatabase 2 (geo2)

  1. Recherchez / parcourez geo1 et obtenez le nom de la classe d' entités (fc) 1 et recherchez le même nom fc dans un autre geo2 (si le nom fc1 ne peut pas être trouvé dans geo2, puis écrivez le premier nom fc dans le fichier texte)
  2. Si l'étape 1 fc1 == nom fc2, répertoriez les champs dans fc1 et recherchez les champs dans fc2, si le nom du champ fc1 est introuvable dans fc2, puis écrivez le nom du champ fc1 dans le fichier texte
  3. Ensuite, recherchez ou répertoriez le domaine dans geo1, puis recherchez le même nom de domaine dans geo2, si domaine geo1 == domaine geo2, obtenez d'abord la valeur codée du domaine 1 et voyez s'il existe dans le domaine 2, sinon, écrivez le nom de domaine geo1 ou valeur codée par domaine dans un fichier texte.

Deuxième en sens inverse comparer geo2 à geo1

Suivez les étapes 1 à 3 ci-dessus mais dans l'ordre inverse geo2 à geo1

Une fois le script terminé, inspectez le fichier texte des résultats pour détecter d'éventuelles divergences.


3

Il semble que vous ayez déjà une bonne réponse. Mais pour tous ceux qui cherchent à comprendre leurs schémas de géodatabase, je peux également recommander ArcGIS Diagrammer , un programme autonome écrit par l'une des équipes d'Esri.

ArcGIS Diagrammer est un outil de productivité permettant aux professionnels SIG de créer, modifier ou analyser un schéma de géodatabase. Le schéma est présenté sous forme de graphiques modifiables dans un environnement familier aux utilisateurs de Microsoft Visual Studio. ArcGIS Diagrammer est essentiellement un éditeur visuel pour les documents d'espace de travail xml d'ESRI qui peuvent être créés dans ArcMap ou ArcCatalog.


pour clarifier, il ne nécessite pas Visio - mais il semble un peu "familier aux utilisateurs de Visio" en ce qu'il a utilisé une disposition similaire
Stephen Lead

Oui, tu as raison. On dirait que je me suis trompé.
Devdatta Tengshe
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.