ПОМИЛКА 000212: Неможливо створити джерело подій XY Не вдалося виконати (MakeXYEventLayer)?


10

У мене є файл csv розміром 133 Мб і має понад 1,3 мільйона рядків даних. У кожного рядка даних є свій lat / long, і мені було цікаво, що було б найкращим способом відобразити ці точки на основі Lat / longs в ArcGIS Desktop 10 і в кінцевому підсумку перетворити їх у точковий профіль?

Поки я спробував інструмент "Зробити XY Layer подій", але це не вдається ...

ПОМИЛКА 000212: Неможливо створити джерело подій XY Не вдалося виконати (MakeXYEventLayer).

Файл CSV належним чином відформатований, а лат / довгі поля є числовими, тому я не маю поняття, чому він продовжує працювати.

Ось як виглядають перші 2 рядки мого CSV, перший рядок - який має бути заголовком:

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

Будь-які ідеї?


2
Вам потрібно буде розбити файл - ще краще завантажте його в базу даних - як мінімум базу даних geodata
gis.stackexchange.com/questions/4414/…

У мене є мережа, яку я хочу розбити на розмір більше 2 Гб. Будь-яка ідея, як це зробити в ArcGIS? Це буде дуже корисно. Дякую, Ibe
Ibe

Дякуємо за вказівку Ще один Q: Чи існує спосіб у QGIS перетворити растр у shapefile (розмір shapefile знову буде більшим, ніж 2gb)?
Ibe

Відповіді:


7

Це може бути трохи складніше, але якщо мої два центи коштують чогось (і якщо ви використовуєте продукти MS Office), я рекомендую імпортувати .csv в базу даних MS Access .mdb як таблицю. (Примітка. Існує обмеження розміру 2 Гб для бази даних .mdb ).

Потім ви можете додати цю таблицю .mdb Access у свій документ ArcMap і натиснути правою кнопкою миші> "Відобразити дані x, y":

Rick-click

Зберігаючи ваші дані в базі даних і читаючи з цієї таблиці для відображення точок даних x, y, ви можете внести зміни до своїх даних, і ці зміни автоматично відображатимуться у точках x, y даних наступного разу, коли ви оновите відображення на карті замість того, щоб щоразу створювати новий перегляд форми або шару. Це також видається більш надійним способом управління таким великим обсягом даних.

Результат x, y точок даних


2
2 ГБ - це максимальний ліміт доступу до MS та Personal GeoDatabase - будьте обережні, коли наближаєтесь до цього ліміту, оскільки персональні бази даних геоданих в редагуванні перевищують нередагування.
Mapperz

@Mapperz, ви маєте рацію, 2 Гб - це обмеження розміру для бази даних .mdb, незалежно від того, створено вона Arc чи ні. Я неправильно говорив. У мене є декілька, які наближаються до 2 ГБ (але нічого більше), що я використовував для картування станцій запису рівня води по всій південній частині США, серед іншого.
Джейсон

Відмінно, я завантажив його в mdb, потім експортував його у File GeoDatabase, і він чудово працює, дякую!
Furlong

12

Оскільки значення Lat та Long поля "32.363544","-110.969778"мають лапки навколо них, вони насправді не трактуються як числові.

Дані відображення xy мають поля x і y бути числовими.

Видаліть навколишні лапки, і це повинно працювати. Якщо у вас є доступ до машини Unix, grep / sed впевнено полегшить цю роботу. Є також вікна портів цих інструментів.

Також я б уникав використовувати "Long" як назву поля - можуть бути випадки, коли це трактується як зарезервоване слово.


1
правильний "32" є рядковим і має бути числовим
Mapperz

2

Чи є у файлі CSV заголовок, який може заплутати ArcGIS?

Крім того, спробуйте скопіювати лише один із рядків з CSV і подивіться, чи працює він - таким чином ви зможете усунути помилки форматування. Використовуйте текстовий редактор на зразок UltraEdit або Notepad ++, який здатний відкривати великі текстові файли, щоб скопіювати зразок рядка.

Я не знаю, як працює імпортер ArcGIS, але ви можете виявити, що файл занадто великий, щоб він впорався, тому він може знадобитися розбиття на шматки.


2

Якщо у вас є SQL Server Express, ви, можливо, зможете там здійснити деякий підйом.

Це об'єднано з декількох різних запитів (де lat / long були текстові поля):

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

Вам може знадобитися налаштувати сервер sql для спеціальних розподілених запитів.

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

Це може бути зайвим для 1 роботи, але варто того, якщо ви часто маєте справу з великою кількістю різних файлів. Хоча з великими файлами, ви можете переглянути bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) для масового імпорту.


0

Якщо ви просто хочете створити з нього файл форми, спробуйте QGIS www.qgis.org Розділений текстовий плагін, який можна завантажити з QGIS, робить це просто. Якщо ви хочете внести його в ArcMap, просто переконайтеся, що спочатку проекція здійснюється через ArcCatalog.


0

Також переконайтеся, що в заголовках немає пробілів. Наприклад, "UTM Zone" має бути "UTM_Zone" Просто щось, про що слід пам’ятати, оскільки це було проблемою для мене при імпорті.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.