Differenza tra gli strumenti Copia funzioni e Classe da caratteristica a Classe di caratteristica?


13

Ho una classe di funzionalità all'interno di un set di dati di funzionalità in un file geodatabase (FGDB) e ne ho bisogno di una copia in un altro FGDB.

In ArcGIS 10.1, ho usato lo strumento "Copia funzionalità" e sembra essere lo stesso (secondo lo strumento "Confronto funzionalità"). Utilizzando lo strumento "Da classe caratteristica a classe caratteristica", ricevo i seguenti messaggi da "Confronto funzioni":

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

Qualcuno ha qualche idea sulle differenze tra "Funzioni di copia" e "Classe di funzionalità in classe di funzionalità"? Cosa significano i messaggi da Feature Compare?

Risposte:


16

Lo strumento da Classe caratteristica a Classe caratteristica è uno strumento di conversione . L'idea è di convertire una classe di caratteristiche in un formato (ad es. Shapefile) in un altro (ad es. Geodatabase). Consente inoltre all'utente di controllare la mappa dei campi, ovvero i campi su cui verranno copiati.

Lo strumento Copia funzioni crea semplicemente una copia esatta delle funzioni di input. Nota: questo strumento può essere utilizzato anche per la conversione dei dati ma non può essere utilizzato per manipolare la Field Map.


9

La differenza più fondamentale è il livello al quale ciascuna delle funzioni sta funzionando.

Lo strumento da Classe caratteristica a Classe caratteristica funziona a Layerlivello, il che significa che, indipendentemente dalle caratteristiche selezionate, le tratta nel loro insieme. Verrà creata una nuova classe di funzionalità. Ciò significa che hai il controllo sulla struttura della nuova featureclass, inclusa l'aggiunta e l'eliminazione di campi. È possibile scegliere un sottoinsieme di funzioni su cui copiare, ma l'enfasi è sulla struttura del livello stesso.

D'altro canto, lo strumento Funzioni di copia funziona a Featurelivello individuale . Qui, l'attenzione è focalizzata sul prendere un sottoinsieme di funzioni da un livello e copiarle e tutti i loro attributi su un nuovo livello. Copiare le funzionalità significa anche prendere tutti gli attributi.

Ci sono pro e contro per ogni approccio. Entrambi gli strumenti creeranno una nuova classe di caratteristiche, sia con un nuovo nome, sia se l'impostazione del geoprocessing è corretta, sovrascrivendo una classe di caratteristiche esistente. Lo Feature Class to Feature Classstrumento ti consente di mappare i campi, ma ti limita a una SQLquery per esportare qualsiasi tipo di sottoinsieme di funzionalità. Lo Copy Featuresstrumento ti consente di selezionare una o tutte le caratteristiche della classe featur se è una feature layercon una selezione applicata ad essa. Il compromesso è che non vi è alcun controllo sulla struttura della classe di output. Da HT a @ blah238 per il chiarimento.

Modifica - 13/05/2013

Dopo aver esaminato più da vicino la tua seconda domanda e i commenti degli altri sul postarla come seconda domanda, sembra che sia direttamente correlato al confronto tra i due strumenti.

I risultati dello strumento Confronto funzioni mostrano che ObjectIDil Shapecampo e il campo sono diversi. Non sono sicuro dei parametri che hai scelto per questo strumento, ma nel documento della Guida , afferma che vuoi scegliere gli Sortordini appropriati per assicurarti di confrontare le stesse funzionalità.

Probabilmente è un presupposto sicuro che tu abbia usato l'ObjectID come funzione di ordinamento, o semplicemente utilizzato il valore predefinito, poiché le due featureclass hanno le stesse caratteristiche. Ciò fa emergere una differenza critica tra i due strumenti:

Copy Features Mantiene l'ObjectID delle funzioni da copiare. Feature Class to Feature Classgenera un nuovo ObjectID per ogni funzione. Ciò rimuove eventuali lacune nella numerazione consecutiva che si verificano quando le funzioni vengono eliminate o combinate con altre.

Pertanto, lo strumento Confronto funzioni rileva differenze nel campo ObjectID, poiché non hanno più gli stessi numeri e nel campo Forma, perché due funzioni con lo stesso ObjectID potrebbero non essere più identiche.

Esempio: due livelli, ciascuno con 100 funzioni. Intervallo ObjectID compreso tra 1 e 100. Ad un certo punto nel tempo, la funzione 98 viene eliminata, lasciando 99 funzioni Diamo un'occhiata alle ultime 5 caratteristiche in ogni livello:

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

Come puoi vedere, 98 manca da un livello, innescando la mancata corrispondenza ObjectID. ObjectID 99 ora fa riferimento a diverse funzionalità, innescando la mancata corrispondenza della forma.

Vi sono alcune situazioni in cui è utile mantenere un ObjectID. Questi sono generalmente i casi in cui ESRI ha creato collegamenti interni tra funzionalità o livelli, come nelle Classi di relazione o Reti geometriche .


5
Penso che entrambi gli strumenti creeranno una nuova classe di funzionalità o ne sovrascriveranno una esistente. La differenza è che Copia funzioni rispetta le selezioni di funzioni e copierà le funzioni selezionate solo se l'input è un feature layer con una selezione. Nessuno dei due aggiungerà funzionalità a una classe di funzionalità esistente. Per questo è necessario utilizzare Append o un InsertCursor.
blah238,

1
Hai idea del perché Compare Feature restituirebbe una differenza tra il file sorgente e il file generato da "Feature Feature to Feature Class"?
Dan,

@ Dan - Ho aggiunto alcuni elementi che ritengo spiegano i risultati del Confronto funzioni. Spero che sia d'aiuto.
Ottieni Spatial

Un altro motivo per cui Feature Compare può trovare differenze nella forma è dovuto alla precisione in virgola mobile, vedere: gis.stackexchange.com/questions/40481/…
Below the Radar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.