Usługi Słownikowe GUGiK część 2 – przetwarzanie danych XML za pomocą Talend Open Studio Data Integration

Pobrane za pomocą usługi WSDL dane z usługi słownikowej GUGiK z poprzedniego wpisu możemy spróbować przetworzyć do postaci pliku csv np przy pomocy programu typu ETL. Użyjemy w tym celu programu Talend Open Studio Data Integration w jego darmowej wersji  który można go pobrać tutaj. Do działania programu musi być zainstalowana na komputerze java, którą można znaleźć tutaj.

Spróbujmy przetworzyć dane z ulicami, które pobraliśmy z serwera. Otwierając pobraną paczkę zip zobaczymy tam dużą ilość xml o takiej samej  strukturze, które zawierają ulice dla poszczególnych gmin.W nazwie znajduje się data oraz kod TERYT gminy.

xml_slownikowe_gugik

 

 

 

 

 

Ciąg działań jaki należałoby wykonać wygląda następująco:
– rozpakowujemy plik zip z ulicami do katalogu
– pobieramy listę plików xml w katalogu
– definiujemy strukturę pojedynczego pliku xml i zasady jego przetwarzania przez program.
– dla każdego pliku xml eksportujemy zawartość według struktury do pliku csv dopisując go do poprzednich danych.

Ponieważ obraz mówi więcej niż tysiąc słów poniżej film z  przetwarzania danych:

Łączenie poszczególnych komponentów ze sobą odbywa się za pomocą użycia prawego przycisku myszy i przeciągnięcia na komponent docelowy.

Oczywiście pokazane powyżej przetworzenie jest zrobione w sposób bardzo uproszczony bez definicji zmiennych zamiast ścieżek przeklejanych do poszczególnych komponentów, obsługi błędów, i kilku innych rzeczy.

Ze względu na to że z danymi w pliku zip nie ma schematu, którym można by było je przeczytać powyżej użyłem typu string dla każdej wartości xml aby uniknąć błędów wynikających z różnych typów danych w poszczególnych plikach.

Jeśli chcecie zobaczyć inne opensourcowe narzędzia ETL w akcji zapraszam na stronę mapowy.pl gdzie pokazane jest użycie  geokettle przy przetwarzaniu danych GIS. Oczywiście Talend Open Studio również posiada dodatek pozwalający przetwarzać dane GIS. Można go znaleźć tutaj.