Différence entre les fonctions de copie et les outils de classe d'objets vers la classe d'objets?

13

J'ai une classe d'entités dans un jeu de données d'entités dans une géodatabase fichier (FGDB), et j'en ai besoin d'une copie dans un autre FGDB.

Dans ArcGIS 10.1, j'ai utilisé l'outil "Copier les entités", et il semble être le même (selon l'outil "Comparer les entités"). À l'aide de l'outil "Classe d'entités vers classe d'entités", je reçois les messages suivants de "Comparaison d'entités":

Field: Field OBJECTID domain fixed is different (Base: false, Test: true).
Field: Field Shape domain fixed is different (Base: false, Test: true).

Quelqu'un a-t-il une idée des différences entre "Copier des fonctionnalités" et "Classe d'entités en classe d'entités"? Que signifient les messages de Feature Compare?

Dan
la source

Réponses:

16

L' outil Classe d'entités vers classe d' entités est un outil de conversion . L'idée est de convertir une classe d'entités dans un format (par exemple, un fichier de formes) en un autre (par exemple, une géodatabase). Il permet également à l'utilisateur de contrôler la carte des champs - c'est-à-dire quels champs seront copiés.

L' outil Copier les fonctions crée simplement une copie exacte des fonctions d'entrée. Remarque - cet outil peut également être utilisé pour la conversion de données mais ne peut pas être utilisé pour manipuler la carte de champ.

Radar
la source
9

La différence la plus fondamentale est le niveau auquel chacune des fonctions fonctionne.

L' outil ClasseLayer d'entités vers classe d'entités fonctionne au niveau, ce qui signifie que, quelles que soient les entités sélectionnées, il les traite comme un tout. Une nouvelle classe d'entités va être créée. Cela signifie que vous contrôlez la structure de la nouvelle classe de fonctions, y compris l'ajout et la suppression de champs. Vous pouvez choisir un sous-ensemble d'entités à copier, mais l'accent est mis sur la structure de calque elle-même.

D'un autre côté, l' outil Copier les fonctionnalités fonctionne au Featureniveau individuel . Ici, l'accent est mis sur la prise d'un sous-ensemble d'entités d'une couche et leur copie et tous leurs attributs dans une nouvelle couche. Copier les fonctionnalités signifie également prendre tous les attributs.

Il y a des avantages et des inconvénients à chaque approche. Les deux outils créeront une nouvelle classe d'entités, avec un nouveau nom ou si le paramètre de géotraitement est correct, en remplaçant une classe d'entités existante. L' Feature Class to Feature Classoutil vous permet de mapper des champs, mais vous limite à une SQLrequête pour exporter tout type de sous-ensemble d'entités. leCopy Features outil vous permet de sélectionner une ou toutes les fonctions de la classe de fonctions s'il s'agit d'une feature layeravec une sélection qui lui est appliquée. Le compromis étant qu'il n'y a aucun contrôle sur la structure de la classe de fonctions de sortie. HT à @ blah238 pour la clarification.

Modifier - 13/05/2013

Après avoir examiné de plus près votre deuxième question et les commentaires des autres concernant sa publication en tant que deuxième question, il semble qu'elle soit directement liée à la comparaison des avantages entre les deux outils.

Les résultats de l' outil de comparaison des fonctionnalités montrent que le ObjectIDet le Shapechamp sont différents. Je ne suis pas sûr des paramètres que vous avez choisis pour cet outil, mais dans le document d'aide , il indique que vous souhaitez choisir appropriéSort commandes pour vous assurer que vous comparez les mêmes fonctionnalités.

C'est probablement une hypothèse sûre que vous avez utilisé l'ObjectID comme fonction de tri, ou que vous avez simplement utilisé la valeur par défaut, car les deux classes de fonctionnalités ont les mêmes fonctionnalités. Cela fait apparaître une différence critique entre les deux outils:

Copy Features Conserve l'ObjectID des entités copiées. Feature Class to Feature Classgénère un nouveau ObjectID pour chaque entité. Cela supprime toutes les lacunes dans la numérotation consécutive qui se produisent lorsque des fonctionnalités sont supprimées ou combinées avec d'autres.

Ainsi, l'outil de comparaison des fonctionnalités constate des différences dans le champ ObjectID, car ils n'ont plus les mêmes numéros, et dans le champ Shape, car deux fonctionnalités avec le même ObjectID peuvent désormais ne plus être identiques.

Exemple: deux couches, chacune avec 100 fonctionnalités. La plage d'ObjectID va de 1 à 100. À un certain moment, la fonctionnalité 98 est supprimée, laissant 99 fonctionnalités Regardons les 5 dernières fonctionnalités de chaque couche:

Original    Copy Feat    Feat to Feat  
    95          95             95  
    96          96             96  
    97          97             97  
    99          99             98  
   100         100             99

Comme vous pouvez le voir, 98 est manquant dans un calque, ce qui déclenche la non-correspondance ObjectID. ObjectID 99 fait désormais référence à différentes fonctionnalités, déclenchant la non-correspondance de forme.

Il existe quelques situations où il est utile de maintenir un ObjectID. Ce sont généralement les cas où ESRI a établi des liens internes entre des entités ou des couches, comme dans les classes de relations ou les réseaux géométriques .

Obtenez spatial
la source
5
Je pense que les deux outils créeront une nouvelle classe d'entités ou remplaceront une classe existante. La différence est que Copier les entités respecte les sélections d'entités et ne copiera les entités sélectionnées que si l'entrée est une couche d'entités avec une sélection. Aucun des deux n'ajoutera d'entités à une classe d'entités existante. Pour cela, vous devez utiliser Append ou un InsertCursor.
blah238
1
Avez-vous une idée de la raison pour laquelle Compare Feature retournerait une différence entre le fichier source et le fichier généré par "Feature Class to Feature Class"?
Dan
@Dan - J'ai ajouté ce que je pense explique les résultats de la comparaison des fonctionnalités. J'espère que cela aide.
Obtenez Spatial
Une autre raison pour laquelle la comparaison des fonctionnalités peut trouver des différences dans la forme est due à la précision en virgule flottante, voir: gis.stackexchange.com/questions/40481/…
Sous le radar