ERROR 000212: No se puede crear el origen del evento XY ¿No se pudo ejecutar (MakeXYEventLayer)?

10

Tengo un archivo csv que tiene un tamaño de 133 MB y tiene más de 1.3 millones de líneas de datos. Cada línea de datos tiene su propio lat / long y me preguntaba cuál sería la mejor manera de mostrar esos puntos basados ​​en los lat / longs en ArcGIS Desktop 10 y, finalmente, convertirlo en un archivo de forma de punto.

Hasta ahora he probado la herramienta "Crear capa de evento XY", pero eso sigue fallando ...

ERROR 000212: No se puede crear el origen del evento XY Error al ejecutar (MakeXYEventLayer).

El archivo csv está formateado correctamente y los campos lat / long son numéricos, por lo que no tengo idea de por qué sigue fallando.

Así es como se ven las 2 primeras líneas de mi CSV, la primera línea es lo que debería ser el encabezado:

"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"

¿Algunas ideas?

Furlong
fuente
2
Deberá dividir el archivo, incluso mejor cargarlo en una base de datos, geodatabase de archivos como mínimo - gis.stackexchange.com/questions/4414/…
Mapperz
Tengo una red de pesca que quiero dividir en un tamaño superior a 2 gb. ¿Alguna idea de cómo hacerlo en ArcGIS? Será de gran ayuda. Gracias, Ibe
Ibe
Gracias por señalar Una P más: ¿Hay alguna forma en QGIS de convertir un ráster en shapefile (el tamaño del shapefile nuevamente sería mayor de 2 gb)?
Ibe

Respuestas:

7

Esto puede ser un poco más complicado, pero si mis dos centavos valen algo (y si está usando productos de MS Office), recomendaría importar su .csv a una base de datos de MS Access .mdb como una tabla. (Nota: hay un límite de tamaño de 2 GB para una base de datos .mdb ).

Luego puede agregar esa tabla .mdb de Access en su documento de ArcMap y hacer clic con el botón derecho> "Mostrar datos x, y":

Rick-click

Al mantener sus datos en una base de datos y leer de esa tabla para mostrar sus puntos de datos x, y, puede realizar cambios en sus datos y esos cambios se reflejarán automáticamente en los puntos de datos x, y la próxima vez que actualice la visualización del mapa en lugar de tener que crear un nuevo shapefile o vista de capa cada vez. Esto también parece una forma más sólida de administrar una cantidad de datos tan grande.

Puntos de datos x, y resultantes

Jason
fuente
2
2 GB es el límite máximo para MS Access y GeoDatabase personal: tenga cuidado al acercarse a este límite, ya que las geodatabases personales en edición son más grandes que no editar.
Mapperz
@Mapperz, tiene razón, 2 GB es el límite de tamaño para una base de datos .mdb, ya sea creada por Arc o no. Hablé mal. Tengo varios que se acercan a 2 GB de tamaño (pero ninguno más) que solía mapear estaciones de registro de nivel de agua en el sureste de los EE. UU., Entre otras cosas.
Jason
Excelente, lo cargué en un mdb y luego lo exporté a un archivo GeoDatabase y está funcionando muy bien, ¡gracias!
Furlong
12

Como los valores de los campos Lat y Long "32.363544","-110.969778"tienen comillas, no se tratan realmente como numéricos.

Los datos de visualización xy necesitan que los campos x e y sean numéricos.

Elimine las comillas circundantes y debería funcionar. Si tiene acceso a una máquina Unix grep / sed, seguro que facilitaría este trabajo. También hay puertos de Windows de estas herramientas.

Además, evitaría usar "Long" como nombre de campo; puede haber casos en los que se trate como una palabra reservada.

Kirk Kuykendall
fuente
1
"32" correcto es una cadena y debe ser numérico
Mapperz
2

¿Tiene una línea de encabezado en el archivo CSV que podría confundir a ArcGIS?

Además, intente copiar solo una de las líneas del CSV y vea si funciona, de esa manera puede eliminar los errores de formato. Use un editor de texto como UltraEdit o Notepad ++ que sean capaces de abrir archivos de texto grandes para copiar su línea de muestra.

No sé cómo funciona el importador de ArcGIS, pero puede encontrar que el archivo es demasiado grande para que pueda manejarlo, por lo que es posible que deba dividirse en trozos.

MerseyViking
fuente
2

Si tiene SQL Server Express, es posible que pueda hacer algo de trabajo pesado allí.

Esto se combina a partir de un par de consultas diferentes (donde el lat / long eran campos de texto):

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

Es posible que deba configurar el servidor sql para consultas distribuidas ad hoc.

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

Puede ser excesivo para 1 trabajo, pero vale la pena si se trata con frecuencia de muchos archivos diferentes. Aunque con los archivos grandes, es posible que desee mirar bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) para la importación masiva.

Jay Cummins
fuente
0

Si solo desea crear un shapefile a partir de él, pruebe QGIS www.qgis.org El complemento de texto delimitado que se puede cargar desde QGIS lo hace fácil. Si luego desea llevarlo a ArcMap, asegúrese de que la proyección se realice primero a través de ArcCatalog.

Jukka
fuente
0

También asegúrese de que sus títulos no tengan espacios. Por ejemplo, "UTM Zone" debería ser "UTM_Zone" Solo algo a tener en cuenta, ya que fue un problema para mí al importar.

Tristán Delantero
fuente