ERRORE 000212: Impossibile creare l'origine evento XY Impossibile eseguire (MakeXYEventLayer)?


10

Ho un file CSV che ha una dimensione di 133 MB e contiene oltre 1,3 milioni di righe di dati. Ogni linea di dati ha il suo lat / long e mi chiedevo quale sarebbe il modo migliore per visualizzare quei punti basati sui lat / long in ArcGIS Desktop 10 e alla fine trasformarli in un shapefile punto?

Finora ho provato lo strumento "Crea livello eventi XY" ma questo continua a fallire ...

ERRORE 000212: Impossibile creare l'origine evento XY Impossibile eseguire (MakeXYEventLayer).

Il file CSV è formattato correttamente e i campi lat / long sono numerici, quindi non ho idea del motivo per cui continua a bloccarsi.

Ecco come appaiono le prime 2 righe del mio CSV, la prima riga è quella che dovrebbe essere l'intestazione:

"LAT","LONG","CUSTOMER_MASTER_ID","STORE_NBR","TRANSACTION_DT","SKU_DIVISION_ID","SKU_DEPARTMENT_ID","SKU_CLASS_ID","SKU_CATEGORY_ID","SKU_NBR","SALES_AMT"
"32.363544","-110.969778","2000000792627","2940","8/11/2010","2060","3920","5120","84021","5127866","13.99"

Qualche idea?


2
Sarà necessario suddividere il file - ancora meglio caricarlo in un database - file geodatabase come minimo - gis.stackexchange.com/questions/4414/…
Mapperz

Ho una rete che voglio spezzare in una dimensione superiore a 2 GB. Qualche idea su come farlo in ArcGIS? Sarebbe di grande aiuto. Grazie, Ibe
Ibe,

Grazie per aver indicato. Ancora un D: Esiste un modo in QGIS per convertire un raster in file di forma (la dimensione del file di forma sarebbe di nuovo maggiore di 2 GB)?
Ibe,

Risposte:


7

Questo potrebbe essere un po 'più complicato, ma se i miei due centesimi valgono qualcosa (e se stai usando i prodotti MS Office), ti consiglio di importare il tuo .csv in un database .mdb di MS Access come tabella. (Nota: esiste un limite di dimensioni di 2 GB per un database .mdb ).

È quindi possibile aggiungere tale tabella .mdb di Access nel documento ArcMap e fare clic con il tasto destro del mouse> "Visualizza dati x, y":

Rick-click

Mantenendo i dati in un database e leggendo da quella tabella per visualizzare i punti dati x, y, è possibile apportare modifiche ai dati e tali modifiche verranno automaticamente riflesse nei punti dati x, y al successivo aggiornamento della visualizzazione della mappa invece di dover creare un nuovo shapefile o vista layer ogni volta. Questo sembra anche un modo più efficace per gestire una così grande quantità di dati.

Punti di dati x, y risultanti


2
2 GB è il limite massimo per MS Access e Personal GeoDatabase - fai attenzione quando ti avvicini a questo limite poiché i geodatabase personali nella modifica sono più grandi della non modifica.
Mapperz

@Mapperz, hai ragione, 2 GB è il limite di dimensione per un database .mdb che sia creato da Arc o no. Ho parlato male. Ne ho diversi che stanno avvicinando 2 GB di dimensioni (ma nessuno sopra) che ho usato per mappare le stazioni di registrazione del livello dell'acqua negli Stati Uniti sud-orientali, tra le altre cose.
Jason,

Eccellente, l'ho caricato in un mdb e poi lo ho esportato in un file GeoDatabase e funziona alla grande, grazie!
Furlong,

12

Poiché i valori dei campi Lat e Long "32.363544","-110.969778"hanno delle virgolette attorno, non sono realmente trattati come numerici.

I dati di visualizzazione xy richiedono che i campi xey siano numerici.

Rimuovi le virgolette circostanti e dovrebbe funzionare. Se hai accesso a una macchina unix grep / sed renderebbe questo lavoro più semplice. Ci sono anche porte Windows di questi strumenti.

Inoltre, eviterei di usare "Long" come nome di campo - potrebbero esserci casi in cui viene trattato come una parola riservata.


1
"32" corretto è stringa e deve essere numerico
Mapperz

2

Hai una riga di intestazione nel file CSV che potrebbe confondere ArcGIS?

Inoltre, prova a copiare solo una delle righe dal CSV e verifica se funziona, in questo modo puoi eliminare gli errori di formattazione. Utilizzare un editor di testo come UltraEdit o Notepad ++ in grado di aprire file di testo di grandi dimensioni, per copiare la linea di esempio.

Non so come funzioni l'importatore ArcGIS, ma potresti scoprire che il file è troppo grande per essere gestito, quindi potrebbe essere necessario suddividerlo in blocchi.


2

Se hai SQL Server Express, potresti essere in grado di eseguire alcune operazioni di sollevamento.

Questo è messo insieme da un paio di query diverse (dove lat / long erano campi di testo):

SELECT 
CONVERT(float,[latitude]) lat
,CONVERT(float,[longitude]) long
INTO TEMPPTS
FROM
OPENROWSET ('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\temp;',
'SELECT * from GPSQuery.txt') g
WHERE longitude IS NOT NULL AND len(longitude) > 0
and [latitude] IS NOT NULL AND len([latitude]) > 0

Potrebbe essere necessario configurare il server SQL per le query distribuite ad hoc.

sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

Potrebbe essere eccessivo per 1 lavoro, ma ne vale la pena se hai spesso a che fare con molti file diversi. Sebbene con i file di grandi dimensioni, potresti voler guardare bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) per l'importazione in blocco .


0

Se vuoi solo creare un file di forma da esso, prova QGIS www.qgis.org Il plugin di testo delimitato che può essere caricato con QGIS lo rende facile. Se poi vuoi portarlo in ArcMap, assicurati prima della proiezione tramite ArcCatalog.


0

Assicurati anche che i titoli non abbiano spazi. Ad esempio, "UTM Zone" dovrebbe essere "UTM_Zone" Solo qualcosa da tenere a mente, poiché è stato un problema per me durante l'importazione.

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.