GALAT 000212: Tidak dapat membuat sumber acara XY Gagal dieksekusi (MakeXYEventLayer)?

10

Saya memiliki file csv yang berukuran 133mb dan memiliki lebih dari 1,3 juta baris data. Setiap baris data memiliki lat / long sendiri dan saya bertanya-tanya apa yang akan menjadi cara terbaik untuk menampilkan titik-titik berdasarkan lat / long di ArcGIS Desktop 10 dan pada akhirnya mengubahnya menjadi titik shapefile?

Sejauh ini saya telah mencoba alat "Make XY Event Layer" tetapi itu terus gagal ...

GALAT 000212: Tidak dapat membuat sumber acara XY Gagal dieksekusi (MakeXYEventLayer).

File csv diformat dengan benar dan bidang lat / long bersifat numerik jadi saya tidak tahu mengapa terus crash.

Inilah 2 baris pertama CSV saya, baris pertama adalah apa yang seharusnya menjadi header:

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

Ada ide?

Furlong
sumber
2
Anda perlu memecah file - bahkan lebih baik memasukkannya ke dalam database - file geodatabase minimal - gis.stackexchange.com/questions/4414/…
Mapperz
Saya memiliki jala ikan yang ingin saya pecah menjadi lebih besar dari 2GB. Adakah yang tahu bagaimana melakukannya di ArcGIS? Ini akan sangat membantu. Terima kasih, Ibe
Ibe
Terima kasih telah menunjuk. Satu lagi T: Apakah ada cara dalam QGIS untuk mengubah raster menjadi shapefile (ukuran shapefile lagi akan lebih besar dari 2gb)?
Ibe

Jawaban:

7

Ini mungkin sedikit lebih rumit, tetapi jika dua sen saya bernilai apa pun (dan jika Anda menggunakan produk MS Office), saya sarankan mengimpor .csv Anda ke dalam database MS Access .mdb sebagai tabel. (Catatan: ada batas ukuran 2GB untuk database .mdb ).

Anda kemudian dapat menambahkan tabel .mdb Access itu ke dalam dokumen ArcMap Anda dan klik kanan> "Tampilkan x, data y":

Rick-klik

Dengan menyimpan data Anda dalam database dan membaca dari tabel itu untuk menampilkan x, y titik data Anda, Anda dapat membuat perubahan pada data Anda dan perubahan itu akan secara otomatis tercermin dalam x, y titik data saat berikutnya Anda menyegarkan tampilan peta alih-alih harus membuat tampilan shapefile atau layer baru setiap kali. Ini juga sepertinya cara yang lebih kuat untuk mengelola sejumlah besar data.

Menghasilkan titik data x, y

Jason
sumber
2
2GB adalah batas maksimum untuk MS Access dan Personal GeoDatabase - berhati-hatilah ketika mendekati batas ini karena geodatabase pribadi dalam pengeditan lebih besar daripada non-pengeditan.
Mapperz
@Mapperz, Anda benar, 2 GB adalah batas ukuran untuk basis data .mdb apakah itu dibuat oleh Arc atau tidak. Saya salah bicara. Saya memiliki beberapa yang berukuran sekitar 2 GB (tetapi tidak lebih) yang saya gunakan untuk memetakan stasiun rekaman ketinggian air di Amerika Serikat bagian tenggara, di antaranya.
Jason
Luar biasa, saya memuatnya ke mdb kemudian mengekspornya ke File GeoDatabase dan berfungsi dengan baik, terima kasih!
Furlong
12

Karena nilai bidang Lat dan Panjang "32.363544","-110.969778"memiliki tanda kutip di sekitar mereka, mereka tidak benar-benar diperlakukan sebagai angka.

Data tampilan xy membutuhkan bidang x dan y menjadi numerik.

Hapus kutipan di sekitarnya dan itu akan berfungsi. Jika Anda memiliki akses ke mesin unix grep / sed yakin akan membuat pekerjaan ini lebih mudah. Ada juga port windows dari alat-alat ini.

Juga, saya akan menghindari menggunakan "Long" sebagai nama bidang - mungkin ada kasus di mana itu diperlakukan sebagai kata yang dilindungi undang-undang.

Kirk Kuykendall
sumber
1
benar "32" adalah string dan harus numerik
Mapperz
2

Apakah Anda memiliki baris tajuk dalam file CSV yang mungkin membingungkan ArcGIS?

Juga, coba salin hanya satu baris dari CSV dan lihat apakah itu berfungsi - dengan begitu Anda bisa menghilangkan kesalahan pemformatan. Gunakan editor teks seperti UltraEdit atau Notepad ++ yang mampu membuka file teks besar, untuk menyalin baris sampel Anda.

Saya tidak tahu cara kerja importir ArcGIS, tetapi Anda mungkin menemukan file terlalu besar untuk mengatasinya, jadi mungkin perlu dipecah menjadi potongan-potongan.

MerseyViking
sumber
2

Jika Anda memiliki SQL Server Express, Anda mungkin dapat melakukan beberapa pengangkatan angkat di sana.

Ini dibuat dari beberapa kueri yang berbeda (di mana lat / long adalah bidang teks):

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

Anda mungkin perlu mengonfigurasi server sql untuk Kueri Terdistribusi Ad Hoc.

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

Ini mungkin berlebihan untuk 1 pekerjaan, tetapi sia-sia jika Anda sering berurusan dengan banyak file yang berbeda. Meskipun dengan file besar, Anda mungkin ingin melihat bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) untuk impor massal.

Jay Cummins
sumber
0

Jika Anda hanya ingin membuat shapefile darinya, coba QGIS www.qgis.org Plugin teks terbatas yang dapat dimuat dari withing QGIS membuatnya mudah. Jika Anda ingin membawanya ke ArcMap, pastikan terlebih dahulu proyeksi melalui ArcCatalog.

Jukka
sumber
0

Pastikan juga judul Anda tidak memiliki spasi. Misalnya "Zona UTM" harus "UTM_Zone" Hanya sesuatu yang perlu diingat, karena itu masalah bagi saya saat Mengimpor.

Tristan Maju
sumber