
Dane tabelaryczne w FME można sortować na wiele sposobów. Między innymi w FME Inspector, oraz w FME Workbench używając funkcji Sorter, która jest podobna do polecenia SQL ORDER BY. Sortowanie w Przeglądarce nie zmienia kolejności obiektów w danych, tylko uporządkowanie w widoku tabeli. Natomiast w FME Workbench możemy dane posortować, zapisać je w tej kolejności w tabeli.
Dane
Będziemy pracować na Esri Geodatabase (File Geodb Open API), czyli plikowej geobazie, w której znajdują się poligony reprezentujące granice osiedli Wrocławia. Plik SHAPE z granicami osiedli Wrocławia można pobrać ze strony stąd.
Część 1 – Sortowanie danych w Przeglądarce
W Przeglądarce posortujemy dane rosnąco i malejąco, alfabetycznie lub numerycznie.
Rosnące Sortowanie kolumn
W widoku tabeli kliknijmy prawy przyciskiem myszki na atrybut NAZWAOSIED i wybierzmy sortowanie alfabetyczne rosnące (Sort Alphabetical Ascending).
W widoku tabeli kliknijmy prawym przyciskiem myszki na atrybut OBJECTID i wybierzmy sortowanie numeryczne rosnące (Sort Numeric Ascending).
Malejące sortowanie kolumn
W widoku tabeli kliknijmy prawym przyciskiem myszki na atrybut NAZWAOSIED i wybierzmy sortowanie alfabetyczne malejące (Sort Alphabetical Descending).
W widoku tabeli kliknijmy prawym przyciskiem myszki na atrybut OBJECTID i wybierzmy sortowanie numeryczne malejące (Sort Numeric Descending).
Czyszczenie sortowania
Kliknijmy prawym przyciskiem myszki na którykolwiek nagłówek kolumny i wybierzmy czyszczenie sortowania (Clear All Sorting). To spowoduje usunięcie całego sortowania, a obiekty w tabeli danych wrócą do oryginalnej kolejności.
Część 2 – Sortowanie danych z użyciem funkcji Sorter
W tej części w FME Workbench posortujemy osiedla Wrocławia alfabetycznie rosnąco, czyli od A do Z.
Uruchomienie FME Workbench i generowanie skryptu
Włączmy FME Workbench i wybierzmy opcję Generate Workspace.
Ustawienie parametrów danych wejściowych
W generatorze skryptów wybierzmy Esri Geodatabase (File Geodb Open API) jako format i wskażmy położenie na dysku bazy z osiedlami Wrocławia.
Ustawienie parametrów danych wyjściowych
Format danych wyjściowych również ustawimy na geobazę plikową z osiedlami. Użyjemy tej samej bazy, ponieważ będziemy ją aktualizować.
Określenie wykonywanej operacji (Feature Operation) i obsługi tabel (Table Handling)
Mamy już wygenerowany skrypt, więc teraz klikając w ikonkę koła zębatego wejdźmy w ustawienia adaptera zapisującego. Zmieńmy nazwę tabeli na GraniceOsiedli_posortowane. W sekcji dotyczącej tabeli ustawmy operację (Feature Operation) na wstaw (Insert), oraz upewnijmy się, że jeśli taka tabela już istnieje to zostanie ona usunięta i powstanie nowa tabela (Table Handling -> Drop and Create).
Jeśli chcesz dowiedzieć się więcej o opcjach obchodzenia się z tabelami (Table Handling), zapraszamy do przeczytania naszego artykułu o bazach danych.
Aktualizacja atrybutów
Przejdź do sekcji atrybuty użytkownika (User Attributes) i ustaw definicję atrybutów (Attribute Definition) na automatyczną. Dzięki temu program automatycznie definiuje listę atrybutów na podstawie danych wejściowych i zmian, które wprowadzamy w skrypcie (na przykład zmiana nazwy, usunięcie).
Dodanie funkcji Sorter
Do skryptu dodajmy funkcję Sorter, oraz wejdźmy w ustawienia funkcji klikając w ikonę koła zębatego. W sekcji sortowanie (Sort By) kliknijmy w puste pole i wybierzmy atrybut NAZWAOSIED, ponieważ po nim będziemy sortować. Sposób sortowania ustawmy na Alfabetyczny (Alphabetic) i porządek (Order) na rosnący (Ascending).
Wynik:
Użyte Funkcje:
Sorter – Sortuje obiekty względem określonych wartości atrybutów, oraz zgodnie z określonymi zasadami.