Mierzysz różnicę wydajności między Scalaniem a Dołączaniem w ArcGIS Desktop?

12

Często znajduję się w sytuacji, w której nie dbam o to, czy moje narzędzie tworzy nową klasę funkcji, ale dbam o to, ile czasu zajmuje połączenie wszystkich moich dużych zbiorów danych. Czy tworzenie nowej klasy obiektów przy użyciu narzędzia Scalanie zamiast narzędzia Dołącz zajmuje więcej czasu, czy też Scalanie i Dołączanie jest zasadniczo takie samo pod względem wydajności?

MTerry
źródło
2
Niektóre anegdotyczne dowody: zawsze uważałem, że Scalanie jest szybsze, szczególnie w przypadku dużej liczby funkcji.
Devdatta Tengshe
ale Append działa najlepiej, gdy masz wstępnie zdefiniowane domeny i podtypy.
Mapperz

Odpowiedzi:

6

Scalanie bierze zarówno geometrię, jak i atrybuty i łączy (łączy) cały zestaw danych w nowy zestaw danych funkcji. wprowadź opis zdjęcia tutaj

Dołącz jest dobrym sposobem na dołączenie dodatkowych danych do istniejącego zestawu danych - może mieć opcje kontrolowania podtypów dodawanych funkcji.

http://resources.arcgis.com/en/help/main/10.1/index.html#//001700000055000000

Najważniejsza różnica to

Jeśli określony jest TEST typu schematu , schemat (definicje pól) wejściowych zestawów danych musi być zgodny z docelowym zestawem danych, aby funkcje mogły zostać dołączone. Jeśli określono typ schematu NO_TEST , schemat wejściowego zestawu danych (definicje pól) nie musi być zgodny z docelowym zestawem danych. Jednak wszelkie pola z wejściowych zestawów danych, które nie pasują do pól docelowego zestawu danych, nie zostaną odwzorowane na docelowy zestaw danych, chyba że odwzorowanie zostanie jawnie ustawione w kontrolce Mapa pola.

podtyp (Opcjonalnie) Opis podtypu, aby przypisać ten podtyp do wszystkich nowych danych dołączanych do docelowego zestawu danych.

http://resources.arcgis.com/en/help/main/10.1/index.html#//001700000050000000

wprowadź opis zdjęcia tutaj

Być może zainteresuje Cię „Kafelkowe przetwarzanie dużych zbiorów danych”

http://resources.arcgis.com/en/help/main/10.1/index.html#//01m10000000r000000

Mapperz
źródło
1
Zdaję sobie sprawę z różnic między narzędziami, ale zastanawiam się, czy różnice te prowadzą do znaczącej różnicy w czasie przetwarzania. Zazwyczaj używam NO_TEST podczas używania narzędzia dołączania, ponieważ upewniam się, że moje definicje pól są zgodne przed dołączeniem / scaleniem.
MTerry
5

Weź te odpowiedzi na podstawie samych narzędzi, a nie rzeczywistego punktu odniesienia:

Narzędzie scalania tworzy nową klasę elementów, która sama w sobie wymaga czasu, zanim połączy dwa zestawy danych.

Dołącz narzędzie z opcją TEST zakłada, że ​​oba zestawy danych mają te same pola (nazwy pól) i łączy je ze sobą bez konieczności tworzenia nowej klasy obiektów (brzmi szybciej).

Narzędzie dołączania z opcją BRAK TESTU pozwala na mapowanie pól w celu połączenia podobnych klas obiektów, które mogą mieć różne nazwy pól. Wymaga to od tyłu testowania warunkowego, które zajęłoby więcej czasu.

W miarę wzrostu rozmiaru zestawu danych czas potrzebny do utworzenia nowego fc wydaje się nieznaczny. Jedynym sposobem, aby się upewnić, jest wykonanie testów porównawczych z dużymi zbiorami danych i opublikowanie odpowiedzi tutaj!

Podejrzewam, że różnica nie jest zbyt duża, chodzi w końcu o to, czego chcesz od narzędzia (mapowanie pola vs. nowa klasa obiektów vs. brak nowej klasy obiektów)

Roy
źródło
0

Właśnie uruchomiłem wszystkie trzy warianty. Zawsze łączyłem te same 63 pliki kształtów. Każdy plik kształtu zawiera około 63000 punktów utworzonych z operacji RasterToPoint. Wszystkie pliki kształtu mają tę samą tabelę atrybutów.

Różne warianty wymagały następujących czasów do skompilowania:

  • Scalanie: 13 minut 57 sekund
  • Dołącz z TESTEM: 8 minut 34 sekund
  • Dołącz z NO_TEST: 9 minut 12 sekund

Wydaje się, że Append with TEST jako parametr wejściowy jest najszybszy. Oczywiście wybór aplikacji Append nie zależy od prędkości, ale od plików wejściowych, jak wyjaśniono powyżej.

Mam nadzieję, że jest to przydatne.

Alexander
źródło