BŁĄD 000212: Nie można utworzyć źródła zdarzeń XY Nie można wykonać (MakeXYEventLayer)?

10

Mam plik csv o rozmiarze 133 MB i zawierający ponad 1,3 miliona linii danych. Każda linia danych ma swoją długość / długość i zastanawiałem się, jaki byłby najlepszy sposób wyświetlenia tych punktów na podstawie długości / długości w ArcGIS Desktop 10 i ostatecznie przekształcenia jej w kształt pliku punktowego?

Do tej pory wypróbowałem narzędzie „Make XY Event Layer”, ale to wciąż zawodzi ...

BŁĄD 000212: Nie można utworzyć źródła zdarzeń XY Wykonanie nie powiodło się (MakeXYEventLayer).

Plik csv jest poprawnie sformatowany, a pola lat / long są numeryczne, więc nie mam pojęcia, dlaczego ciągle się zawiesza.

Oto jak wyglądają pierwsze 2 wiersze mojego pliku CSV, pierwszy wiersz powinien być nagłówkiem:

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

Jakieś pomysły?

Furlong
źródło
2
Będziesz musiał rozbić plik - jeszcze lepiej załadować go do bazy danych - przynajmniej geobazę
Mapperz
Mam kabaretkę, którą chcę rozbić na rozmiar większy niż 2 GB. Masz pomysł, jak to zrobić w ArcGIS? To będzie bardzo pomocne. Dzięki, Ibe
Ibe
Dzięki za wskazanie. Jeszcze jedno pytanie: Czy w QGIS istnieje sposób na konwersję rastra na plik shapefile (ponownie rozmiar pliku shap byłby większy niż 2 gb)?
Ibe

Odpowiedzi:

7

Może to być nieco bardziej skomplikowane, ale jeśli moje dwa centy są coś warte (i jeśli używasz produktów MS Office), zalecam zaimportowanie pliku .csv do bazy danych MS Access .mdb jako tabelę. (Uwaga: istnieje limit wielkości 2 GB dla bazy danych .mdb ).

Następnie możesz dodać tę tabelę Access .mdb do dokumentu ArcMap i kliknąć prawym przyciskiem myszy> „Wyświetl dane x, y”:

Kliknij prawym przyciskiem myszy

Przechowując dane w bazie danych i czytając z tej tabeli, aby wyświetlić punkty danych x, y, możesz wprowadzić zmiany w danych, a zmiany te zostaną automatycznie odzwierciedlone w punktach danych x, y przy następnym odświeżeniu widoku mapy zamiast za każdym razem tworzyć nowy plik kształtu lub widok warstw. Wydaje się to również bardziej niezawodnym sposobem zarządzania tak dużą ilością danych.

Wynikowe punkty danych x, y

Jason
źródło
2
2 GB to maksymalny limit dla MS Access i Personal GeoDatabase - należy zachować ostrożność, zbliżając się do tego limitu, ponieważ osobiste geobazy w edycji są większe niż nieedytowanie.
Mapperz
@Mapperz, masz rację, 2 GB to limit rozmiaru bazy danych .mdb, bez względu na to, czy jest tworzona przez Arc, czy nie. Źle powiedziałem. Mam kilka wielkości około 2 GB (ale nie więcej), których użyłem do mapowania między innymi stacji rejestrujących poziom wody w południowo-wschodnich Stanach Zjednoczonych.
Jason
Doskonale, załadowałem go do mdb, a następnie wyeksportowałem do GeoDatabase File i działa świetnie, dziękuję!
Furlong,
12

Ponieważ wartości pól Lat i Long "32.363544","-110.969778"zawierają cudzysłowy, tak naprawdę nie są one traktowane jako liczby.

Wyświetlane dane xy wymagają, aby pola x i y były numeryczne.

Usuń otaczające cytaty i powinno działać. Jeśli masz dostęp do grep / sed maszyny uniksowej, z pewnością ułatwi to zadanie. Istnieją również porty Windows tych narzędzi.

Ponadto unikałbym używania „Długiej” jako nazwy pola - mogą się zdarzyć przypadki, w których jest ona traktowana jako słowo zastrzeżone.

Kirk Kuykendall
źródło
1
poprawna „32” jest łańcuchem i musi być numeryczna
Mapperz
2

Czy masz plik nagłówkowy w pliku CSV, który może wprowadzać w błąd ArcGIS?

Spróbuj także skopiować tylko jeden wiersz z pliku CSV i sprawdź, czy to działa - w ten sposób możesz wyeliminować błędy formatowania. Użyj edytora tekstu, takiego jak UltraEdit lub Notepad ++, które są zdolne do otwierania dużych plików tekstowych, aby skopiować linię próbkowania.

Nie wiem, jak działa importer ArcGIS, ale może się okazać, że plik jest zbyt duży, aby mógł sobie z tym poradzić, więc może być konieczne podzielenie go na części.

MerseyViking
źródło
2

Jeśli masz program SQL Server Express, być może będziesz w stanie wykonać tam trochę ciężkiego podnoszenia.

Jest to zestawione z kilku różnych zapytań (gdzie łaciński / długi były polami tekstowymi):

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

Może być konieczne skonfigurowanie serwera SQL dla zapytań rozproszonych Ad Hoc.

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

Może to być przesada dla 1 zadania, ale warto, jeśli często masz do czynienia z wieloma różnymi plikami. Chociaż w przypadku dużych plików warto zajrzeć do pliku bcp.exe ( http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx ) w celu importu zbiorczego.

Jay Cummins
źródło
0

Jeśli chcesz po prostu utworzyć z niego plik kształtu, wypróbuj QGIS www.qgis.org. Wtyczka tekstowa z ogranicznikami, którą można załadować za pomocą QGIS, ułatwia to. Jeśli chcesz wprowadzić go do ArcMap, najpierw upewnij się, że projekcja odbywa się za pośrednictwem ArcCatalog.

Jukka
źródło
0

Upewnij się także, że w tytułach nie ma spacji. Na przykład „Strefa UTM” powinna być „UTM_Zone”. Należy o tym pamiętać, ponieważ był to dla mnie problem podczas importowania.

Naprzód Tristan
źródło