ERRO 000212: Não é possível criar a fonte de eventos XY Falha ao executar (MakeXYEventLayer)?

10

Eu tenho um arquivo csv com 133mb de tamanho e mais de 1,3 milhão de linhas de dados. Cada linha de dados tem seu próprio lat / long e eu queria saber qual seria a melhor maneira de exibir esses pontos com base no lat / long no ArcGIS Desktop 10 e, finalmente, transformá-lo em um shapefile de ponto?

Até agora, eu tentei a ferramenta "Make XY Event Layer", mas isso continua falhando ...

ERRO 000212: Não é possível criar a fonte de eventos XY Falha ao executar (MakeXYEventLayer).

O arquivo csv está formatado corretamente e os campos lat / long são numéricos, então não faço ideia do porquê ele continua travando.

Aqui está a aparência das duas primeiras linhas do meu CSV, a primeira linha é o que deve ser o cabeçalho:

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

Alguma ideia?

Furlong
fonte
2
Você precisará dividir o arquivo - melhor ainda, carregá-lo em um banco de dados - no mínimo geodatabase - gis.stackexchange.com/questions/4414/…
Mapperz
Eu tenho uma rede de pesca que eu quero dividir em um tamanho maior que 2gb. Alguma idéia de como fazê-lo no ArcGIS? Será muito útil. Obrigado, Ibe
Ibe
Obrigado por apontar. Mais uma pergunta: Existe uma maneira no QGIS de converter uma varredura em shapefile (o tamanho do shapefile novamente seria maior que 2gb)?
Ibe

Respostas:

7

Isso pode ser um pouco mais complicado, mas se meus dois centavos valerem alguma coisa (e se você estiver usando produtos do MS Office), recomendo importar o arquivo .csv para um banco de dados .mdb do MS Access como uma tabela. (Nota: existe um limite de tamanho de 2 GB para um banco de dados .mdb ).

Você pode adicionar a tabela .mdb do Access ao documento do ArcMap e clicar com o botão direito do mouse> "Exibir dados x, y":

Rick-clique

Ao manter seus dados em um banco de dados e ler a partir dessa tabela para exibir seus pontos de dados x, y, você pode fazer alterações nos dados e essas alterações serão refletidas automaticamente nos pontos de dados x, y na próxima vez que atualizar a exibição do mapa em vez de ter que criar um novo shapefile ou layer view sempre. Essa também parece ser uma maneira mais robusta de gerenciar uma quantidade tão grande de dados.

Pontos de dados x, y resultantes

Jason
fonte
2
2 GB é o limite máximo para o MS Access e o Personal GeoDatabase - tenha cuidado ao abordar esse limite, pois os bancos de dados pessoais na edição são maiores do que na não edição.
Mapperz
@ Mapperz, você está certo, 2 GB é o limite de tamanho para um banco de dados .mdb, seja ele criado pelo Arc ou não. Eu falei mal. Eu tenho vários que têm aproximadamente 2 GB de tamanho (mas nenhum mais) que eu costumava mapear estações de gravação de nível de água no sudeste dos EUA, entre outras coisas.
Jason
Excelente, carreguei-o em um mdb e depois o exportei para um File GeoDatabase e está funcionando muito bem, obrigado!
Furlong 25/05
12

Como os valores dos campos Lat e Long "32.363544","-110.969778"têm aspas, eles não são realmente tratados como numéricos.

Os dados xy exibidos precisam que os campos x e y sejam numéricos.

Remova as aspas circundantes e deve funcionar. Se você tiver acesso a uma máquina unix, o grep / sed facilitaria esse trabalho. Existem também portas do Windows dessas ferramentas.

Além disso, evitaria usar "Longo" como um nome de campo - pode haver casos em que ele é tratado como uma palavra reservada.

Kirk Kuykendall
fonte
1
"32" correto é uma string e precisa ser numérico
Mapperz
2

Você tem uma linha de cabeçalho no arquivo CSV que pode confundir o ArcGIS?

Além disso, tente copiar apenas uma das linhas do CSV e veja se funciona - dessa forma, você pode eliminar erros de formatação. Use um editor de texto como o UltraEdit ou o Notepad ++, capaz de abrir arquivos de texto grandes, para copiar sua linha de amostra.

Não sei como o importador do ArcGIS funciona, mas você pode achar que o arquivo é muito grande para suportar, portanto pode ser necessário dividir em pedaços.

MerseyViking
fonte
2

Se você possui o SQL Server Express, poderá fazer algumas das tarefas mais difíceis lá.

Isso é feito a partir de algumas consultas diferentes (onde os lat / long eram 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

Pode ser necessário configurar o servidor sql para consultas distribuídas ad hoc.

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

Pode ser um exagero para um trabalho, mas vale a pena se você estiver lidando frequentemente com muitos arquivos diferentes. Embora com os arquivos grandes, convém consultar o bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) para a importação em massa.

Jay Cummins
fonte
0

Se você deseja apenas criar um shapefile a partir dele, tente o QGIS www.qgis.org O plug-in de texto delimitado que pode ser carregado com o QGIS facilita isso. Se você quiser trazê-lo para o ArcMap, basta garantir a projeção primeiro pelo ArcCatalog.

Jukka
fonte
0

Verifique também se os títulos não têm espaços. Por exemplo, "Zona UTM" deve ser "UTM_Zone" Apenas algo a ter em mente, pois foi um problema para mim ao importar.

Tristan Avançado
fonte