ArcCatalog afferma che i riferimenti spaziali non corrispondono tra il set di dati e la classe di funzionalità con lo stesso sistema di coordinate?


31

Ho un set di dati di funzionalità che utilizza GCS_WGS_1984 come sistema di coordinate geografiche. Include alcune classi di funzioni.

Questo set di dati di funzionalità è esso stesso in un geodatabase di file che contiene alcune altre classi di funzionalità nella radice di gdb. Una di queste è una classe di funzioni denominata "punti" che utilizza anche GCS_WGS_1984 come sistema di coordinate.

Ho pensato che sarebbe banale usare ArcCatalog per trascinare la classe di caratteristiche dalla radice del gdb nel set di dati delle caratteristiche poiché hanno lo stesso sistema di coordinate. Sfortunatamente ArcGIS fornisce una finestra di dialogo di errore che dice:

Failed to paste points
The spatial references do not match

Perché questo fallisce? Se il GCS della classe di caratteristiche e il set di dati delle caratteristiche sono uguali, non dovrebbe funzionare? Ho verificato questo è il caso tramite le finestre di dialogo, nonché esportando il file prj sia per il set di dati che per la classe e utilizzando uno strumento diff per confrontare i due. Sono identici

Il riferimento spaziale di una classe di caratteristiche è diverso dal sistema di coordinate / proiezione?

Tentare di copiare la classe di caratteristiche nel set di dati delle caratteristiche tenendo premuto il tasto Ctrl mentre si trascina i risultati nel crash di ArcCatalog ogni volta (peccato su ESRI).

Immagino di poter provare mezzi alternativi per spostare le classi di funzioni. Utilizzare CopyFeatures nel set di dati. Progetto dalla classe di caratteristiche a una nuova classe di caratteristiche all'interno del set di dati delle caratteristiche?


Puoi pubblicare il file gdb da qualche parte? Forse cancella tutte o alcune delle funzionalità se è grande, sembra che potrebbe essere riprodotto anche con occhiali vuoti.
Kirk Kuykendall,

4
Vorrei avere il tempo di andare giù per ogni piccola stranezza in cui mi imbatto con ArcGIS, spesso devo solo conviverci e trovare la soluzione meno piacevole successiva. Ho usato Gestione dati -> Copia funzione per copiare in una nuova classe di caratteristiche (nome temporaneo), cancellata vecchia classe di caratteristiche, rinominata nuova classe di caratteristiche in modo che corrisponda a vecchia. L'uso di ArcGIS non dovrebbe richiedere una laurea in test del software. = (
mindless.panda

2
"non dovrebbe richiedere una laurea in test del software" , chat.stackexchange.com/transcript/message/1116371
matt wilkie

è solo il nome, possono corrispondere ma se hanno un nome diverso elimina questo messaggio, ignoralo.
Se non lo sapete, basta GIS il

Risposte:


21

Lo stesso sistema di coordinate non è sempre un sistema di coordinate identico . Ho riscontrato situazioni in cui alcune operazioni e strumenti di geoprocessing penseranno che le classi di caratteristiche non condividano un sistema di coordinate comune perché il nome descrittivo della proiezione differisce ("Yukon Albers" vs "Albers - custom") sebbene i parametri siano identici o perché di posizioni decimali diverse (falso nording 500000,00 vs 500000,0000).

Quello che faccio di solito è assicurarmi che i sistemi di coordinate Feature Dataset (e F.class) vengano creati con il nostro file .prj standard posizionato nella parte superiore di C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(rende il CS disponibile con meno clic) e / o copiando il CS da un modello di classe di caratteristiche principali conservato da qualche parte sempre a portata di mano.

In parte in risposta a questo problema, ho anche un set di dati di funzionalità vuoto ( D:\s.gdb\_template) che incanalare tutti i nostri dati come filtro del primo passo prima di fare qualsiasi altra cosa con loro. Tra un sistema di coordinate comune ciò assicura anche che la precisione, il dominio spaziale ecc. Siano identici.

Aggiornamento: vedi la risposta di Andy sull'utilizzo di python, solo 2 righe, per copiare il sistema di riferimento spaziale del set di dati delle caratteristiche da una classe di caratteristiche del modello. Questo ha funzionato per me in ArcCatalog 10.3 quando il metodo interattivo di definizione dell'SR selezionando una classe di caratteristiche da importare non funzionava.


Queste lievi modifiche al bel nome di stampa o alle posizioni decimali che menzionate non sarebbero presenti nel file .prj esportato con l'opzione Salva con nome? In tal caso, perché i file prj diversi non mostrano nulla? Mi ero chiesto se lievi differenze nella risoluzione x, y potessero causare anche il conflitto.
mindless.panda,

1
Potrebbe essere che il file .prj creato con "Salva con nome" non sia esattamente uguale a quello memorizzato internamente. Uso un set di dati "filtro" per garantire una risoluzione spaziale comune, ecc.
matt wilkie,

3
Aggiungerò un ulteriore aspetto a questo: a volte i set di dati da altre fonti vengono generati come contenenti valori M e Z quando in realtà non hanno M o Z. Ho scoperto che alcuni strumenti ESRI rilevano il sistema di coordinate Z vuoto come no corrispondenza, nonostante il fatto che i sistemi di coordinate X / Y corrispondano esattamente.
DPierce,

16

Questa è una spiegazione piuttosto che una risposta.

Noi (Esri) facciamo dei test piuttosto severi su nomi e valori del sistema di riferimento di coordinate. Il test "è uguale" non restituirà un errore se si confrontano 500000,00 e 500000,000000, ma potrebbe non riuscire se uno è realmente 500000,0 e l'altro 500000,00000005. Stiamo lavorando per aggiungere alias per i nomi in modo che "uguale" passi di più.

Come menzionato mindless.panda e matt wilkie, le differenze potrebbero essere negli altri valori di un riferimento spaziale. Un riferimento spaziale include il sistema di riferimento delle coordinate e i valori di archiviazione / elaborazione. Per l'archiviazione: xy, z e misura risoluzione ed estensioni. Per l'elaborazione: xy, z e misurare i valori di tolleranza. Qualsiasi differenza in questi può causare un errore non uguale.


6
la tua risposta è molto apprezzata. Mi piacerebbe davvero vedere la gestione degli errori, in particolare in ciò che viene segnalato all'utente, migliorare in ArcGIS. Sono necessari errori più informativi, con l'opzione per ottenere informazioni ancora più dettagliate se lo si desidera. Ancora una volta, grazie a ESRI per il tempo dedicato a rispondere.
mindless.panda,

2
Secondo, la proposta di fornire maggiori informazioni sugli errori. Nelle ultime due settimane ho riscontrato lo stesso errore ( Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID. ) a causa di una serie di problemi. Questo è un messaggio esasperante da ricevere poiché non posso fare altro che provare a eseguire ciò che ho fatto una seconda volta per vedere se l'errore si ripete, oppure rinunciare e usare un altro metodo (o software, che è sempre più il caso).
djq,

9

Ecco cosa ho fatto per risolvere il problema (usando arcpy in ArcGIS 10.0) -

Ciò presuppone quanto segue:

  • FGDB - C: \ gisdata \ Test.gdb
  • Classe di caratteristiche - C: \ gisdata \ Test.gdb \ bldg

È possibile modificare i percorsi e i nomi degli oggetti nel codice e incollarlo nella finestra di Python in ArcCatalog.

sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)

Dopo aver creato il set di dati di funzionalità è possibile trascinare e rilasciare le classi di funzionalità.


1
Grazie! Questo ha funzionato per me oggi in una situazione in cui l'utilizzo dello strumento interattivo per definire il nuovo sistema di coordinate del set di dati di funzionalità selezionando una classe di funzionalità esistente non funzionava (v10.3).
matt wilkie

7

Questo problema mi stava uccidendo! Dopo aver salvato un sacco di classi di caratteristiche da un file CAD, ho provato diverse volte a definire i loro sistemi di coordinate e poi organizzarli in set di dati di caratteristiche. Ho provato sia a definire tutte le f.classes necessarie sia alle f.dataset dalla proiezione WGS_1984_UTM_42N ufficiale da ESRI, nonché a impostare la proiezione per il set di dati, quindi importare quella proiezione per le f.classes usando lo strumento Define Projection. O nessuna f.classes verrebbe incollata, o 1 lo farebbe e gli altri no.

Grazie a @Matt Wilkie in questo post , lo strumento da Classe caratteristica a Classe caratteristica sembra aver risolto il problema. Importa correttamente le f.classes nel set di dati desiderato, anche se non ho ancora definito il sistema di coordinate per la f.class in questione.

Inoltre, ho scoperto che lo script da Feature Class a Geodatabase (multiplo) funziona perfettamente per spostare f.classes in un f.dataset in blocco, tranne che deve essere fatto da Geodatabase a un altro (non in un f.dataset all'interno dello stesso geodatabase) . Ciò sembra essere dovuto al fatto che lo script non rinomina automaticamente le f.classes quando vengono copiate (o chiede all'operatore un nuovo nome, come in Feature Feature in Feature Class). Tuttavia, come sottolineato da altri (stesso thread collegato sopra), l'errore fornito è un 999999 generico.


4

Ho avuto questo problema quando volevo semplicemente spostare una classe di caratteristiche in un set di dati di caratteristiche in un GeoDatabase. Ho creato il mio set di dati delle caratteristiche e mi sono assicurato che avesse lo stesso sistema di coordinate. Più e più volte ho ricevuto "Impossibile incollare xyz I riferimenti spaziali non corrispondono" Il lavoro più rapido che ho trovato è stato importare il riferimento spaziale identico nel mio set di dati appena creato dalla classe di funzionalità che volevo importare in esso. Nel secondo passaggio della procedura guidata "Crea nuovo set di dati delle funzionalità".

Non so perché i riferimenti spaziali differiscano.


Ciao @Alan! Grazie per aver condiviso la tua esperienza e benvenuto sul nostro sito.
whuber

1
Ciao Alan, la procedura guidata per la creazione di un nuovo set di dati / classi di funzionalità non estrae sempre tutti i valori di archiviazione / elaborazione quando si utilizza "importa sistema di coordinate". Stiamo lavorando per risolverlo. Penso che questo sia quello che stai incontrando.
mkennedy,

1
Sto riscontrando questo problema - anche se creo il set di dati delle funzionalità e utilizzo il meccanismo di importazione e seleziono la classe di funzionalità, non riesco ancora a trascinare / copiare la classe di funzionalità nel set di dati di funzionalità appena creato senza l'errore summenzionato.
mindless.panda,

3

Penso che uno dei messaggi a ESRI sia quello di fornire informazioni più specifiche sul debug delle differenze di parametro quando si verifica questo errore. Anch'io ho riscontrato questo errore anche dopo aver attentamente controllato i sistemi di riferimento spaziale e le proiezioni, come penso che facciano la maggior parte degli utenti GIS.

Ho trovato la procedura di utilizzo delle funzionalità di copia di ArcToolbox per correggere i messaggi di errore che si verificano quando si utilizzano i meccanismi di importazione o copia. Qui dipendiamo dalla procedura della casella degli strumenti Copia funzioni per risolvere correttamente le differenze di riferimento o di proiezione prima di introdurre la classe di caratteristiche nel set di dati delle caratteristiche.

Ho anche provato a creare il set di dati di funzionalità con un sistema di proiezione definito al momento della creazione del set di dati, quindi a proiettare le classi di funzionalità nel set di dati di funzionalità utilizzando lo strumento di proiezione ArcToolbox con la stessa proiezione e ho ancora ricevuto l'errore descritto qui quando provo a importare oppure copiare la classe di funzionalità nel set di dati.

Questi problemi del sistema di coordinate vengono mascherati quando si utilizzano i dati in ArcMap. Poiché ArcMap esegue la proiezione al volo, più classi di funzioni ciascuna con proiezioni diverse possono essere aggiunte a una mappa ArcMap senza che l'utente ne sia consapevole. ArcMap avviserà dei diversi sistemi di riferimento delle coordinate.


1

OK. Ho trovato una soluzione! Fare clic con il pulsante destro del mouse sul set di dati delle caratteristiche in GDB e fare clic su Importa. Seleziona le funzionalità che ti servono, quindi OK.


0

Prova a utilizzare lo strumento Copia funzioni in Strumenti / funzionalità di gestione dati. Altrimenti continuavo a ricevere un errore, qualunque cosa facessi.


-1

Hai provato a portarlo su ArcMap e impostare i livelli come GCS_WGS_1984 e quindi esportare tutti i livelli in un geodatabase di file?

Se si dispone di uno o più layer con proiezioni diverse, è possibile esportarli ma modificare il frame di dati in GCS_WGS_1984?

Non ne sono sicuro in ArcGIS 10. Non li ho ancora ma sto usando 9.3.1.


1
Potresti chiarire i punti 1 e 2? Questi non sembrano essere accurati.
Aaron
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.