Jakie są twoje największe wyzwania jako programisty GIS?


23

Jakie są największe wyzwania podczas tworzenia oprogramowania GIS?

Czy to koduje? Czy rozumie pojęcia kartografii / geografii / itp. (Np. Projekcje)? Lub inne trudności?


UWIELBIAM tę dyskusję. Wiem, że to stary wątek, ale informacja jest ZŁOTA. Pracuję dla Esri jako Product Manager produktów programistycznych. Opiekuję się pakietami ArcGIS Runtime SDK (Java, Android, Qt) i ArcObjects SDK dla Java. Przede wszystkim potrafię wczuć się w ból. Po drugie, chciałbym dowiedzieć się, czy interfejsy API sieci Web i interfejsy API środowiska wykonawczego ArcGIS pomogły złagodzić problemy związane z korzystaniem z platformy lub ogólnie. Radzenie sobie z dużą ilością danych to wciąż wyzwanie, ale czy jest coraz lepiej ... teraz 5 lat później? Usługi, zarówno z Internetu, jak i portalu, stają się coraz bardziej niezawodne. Czy t

Cześć Eric, witamy na GIS.SE. Zawsze dobrze widzieć pracowników firmy oprogramowania uczestniczących w społeczności. Jesteśmy tu trochę mniej forum dyskusyjne i bardziej szczegółowe pytania i odpowiedzi. Możesz sprawdzić wycieczkę . Prowadzimy czat na rozmowy, choć nie jest on intensywnie wykorzystywany. Możesz także rzucić okiem na nasz system tagowania. Korzystając z tego, możesz dopracować ostatnie działania związane z pytaniami na określony temat, takie jak wspomniane interfejsy API i SDK.
Chris W,

Podobnie witamy w GIS SE Eric! Gdy rozejrzysz się po stronie, mam nadzieję, że szybko dowiesz się, na czym polega Stack Exchange i jak różni się jego skoncentrowany format pytań i odpowiedzi od forum dyskusyjnego. Właśnie to miałem nadzieję, że fora dyskusyjne ArcGIS staną się w ich ostatnim przeglądzie. Nie oceniaj jednak jego wartości na podstawie tych wczesnych pytań i odpowiedzi, które pomimo popularności nie są doskonałym przykładem tego, jak użytkownicy mogą przyjść tutaj w poszukiwaniu odpowiedzi, aw ciągu kilku minut zidentyfikuj to samo pytanie i przeczytaj odpowiedź bez konieczności przetrawić dyskusję tam iz powrotem.
PolyGeo

Odpowiedzi:


22

Mówiąc z mojego doświadczenia jako programisty, który wpadł na scenę rozwoju ESRI / GIS prawie 5 lat temu:

  1. Nie ma jednego interfejsu API do robienia tego, co chcesz. Tylko zagmatwany bałagan interfejsów API, które mogą, ale nie muszą działać: ArcObjects, Python, REST, SOAP, ADF, ST_Geometry operators?
  2. Wszystkie interfejsy API są powiązane z niewygodnym, drogim oprogramowaniem, którego wolisz nie umieszczać w centrum swojej aplikacji.
  3. Niewielka szansa na naprawdę kreatywny projekt. Zorientowane obiektowo struktury danych geoprzestrzennych? Zapomnij o tym. Pomimo wszystkich dyskusji na temat „obiektów” i „klas obiektów” nadal pracujesz z głupimi tabelami, w których pośredniczy kapryśne oprogramowanie pośrednie.
  4. Oprogramowanie zawiera błędy, komunikaty o błędach wprowadzają w błąd, a dokumentacja jest niekompletna. Rozwiązywanie problemów prawie zawsze odbywa się metodą prób i błędów. Przyzwyczaić się do tego.
  5. Zarządzanie danymi geoprzestrzennymi przy użyciu metod relacyjnych baz danych jest prawie niemożliwe. Prawie musiałem zrezygnować z SQL / DDL, ponieważ po prostu wpędzają mnie w problemy z oprogramowaniem pośrednim (tak, mówię o ArcSDE). Szkoda wyrzucić cały zestaw umiejętności. Wystarczy otworzyć ArcCatalog, wskaż, kliknij.

Jak możesz powiedzieć, mam dość negatywne spojrzenie na scenę rozwoju ESRI. Dla tych, którzy pochodzą z geografii, jestem pewien, że możliwości są bardzo ekscytujące. Ale dla kogoś takiego jak ja, który uwielbia relacyjne bazy danych, programowanie obiektowe i szeroko otwarte możliwości tworzenia kreatywnych rozwiązań, tworzenie GIS za pomocą ESRI jest bardzo ograniczające i niespełniające wymagań. Szkoda, bo stary szkolny tłum mówi mi, że przed przystosowaniem się do Microsoftu było to lepsze środowisko. Mam szczerą nadzieję, że społeczność Open Source będzie nadal wprowadzać innowacje.


4
Jestem statystykiem i mam bardzo podobne skargi na produkty ESRI. Moją nadmiernie optymistyczną teorią jest to, że ponieważ komputery były prawdopodobnie stosowane do statystyk przed GIS, oprogramowanie GIS jest około dziesięć lat za oprogramowaniem statystycznym (w fazie SAS / SPSS) i że naprawdę wyjątkowy program lub stos open source jest na krawędzi wyrwać się. Może już tak jest - minęły lata, odkąd miałem okazję bawić się programami spoza ESRI.
Matt Parker,

2
Po prostu wkroczę, aby wirtualnie potrząsnąć pięścią w Redlands z resztą was, i przekażę ilustracyjną anegdotę: Prawie każde wywołanie API do interfejsów API rastrowych Spatial Analyst (w tym czasie) zakończy się niepowodzeniem z ogólnym błędem COM „Błąd nieokreślony „jeśli coś pójdzie nie tak. Zdesperowany, aby rozwiązać problem, ostatecznie połączyłem strace z ArcGIS.exe i, pochowany w wywołaniach systemowych, znalazłem (drumroll), że pomocne i szczegółowe komunikaty o błędach z lat 80. były zapisywane w systemie Windows jako odpowiednik / dev / null.
Dan S.

13

Duże ilości danych. Wybranie właściwego sposobu wydobywania dużych ilości danych za pomocą technologii internetowej było wyzwaniem. Możemy albo mieć dużo danych i słabą wydajność, albo wyświetlać o wiele mniej danych, ale potencjalnie przekazywać nieprawidłowe informacje.


10

Nie jestem programistą GIS; jednak jestem modelarzem GIS:

Wyzwania:

  • Gromadzenie danych, agregacja, dezagregacja, scalanie i dzielenie: Otrzymuję dane z różnych źródeł dla różnych projektów; największym problemem jest zwykle uzyskanie wszystkich danych dla tej samej działki / obszaru geograficznego. Zwykle muszę użyć kilku wyżej wymienionych technik na każdym zestawie danych, aby uzyskać spójną próbkę dla projektu. Zwiększa to prawdopodobieństwo błędu i osłabia naszą precyzję.

  • Nie jestem programistą; Powtarzam, że nie jestem programistą: kiedy wy, cudowni ludzie, rozmawiacie o Indeksach SOAP, SHAMPOO, REST, GIS-T itp., To wiele dla was znaczy. Dla mnie przeważnie jest to żargon. Zazwyczaj mam dużą krzywą uczenia się lub stromą wspinaczkę, aby wykonać proste czynności.

  • Różnica między FOSS a oprogramowaniem prawnie zastrzeżonym: uwielbiam QGIS i postgis na śmierć; dosłownie mam je zainstalowane na każdym komputerze; jednak gdy chcę przeprowadzić analizę opartą na transporcie, muszę skorzystać z TransCAD lub EMME2 / 3. Każda kosztuje około 15 000 $ z wszystkimi dzwonkami i gwizdkami. Szczerze mówiąc, wszystkie te problemy można by rozwiązać, gdyby istniał pakiet Networkx dla plików shp.

  • Problem wielu dyscyplin: Jestem dobrze zaznajomiony z technikami modelowania transportu; jakkolwiek jestem do bani modelowania demograficznego i, o ile mogę powiedzieć, muszę korzystać z wyrafinowanych narzędzi R, aby uzyskać dane. Problem GIS polega na tym, że GIS to dziedzina multidyscyplinarna, której przetrwanie na własną rękę jest trudne.

  • Brak dobrze ugruntowanych narzędzi i oprogramowania umożliwiającego przejście od użytkowania gruntów ze zdjęciami do użytkowania gruntów wektorowych: Przewiduję przyszłość, w której narzędzie przeanalizuje zdjęcie satelitarne GEOEYE i porówna wykorzystanie terenu w nim z bazą danych wektorów (w stanie zbudowanym)

  • Czasami robienie rzeczy w Excelu jest szybsze / „Twój ulubiony program do tworzenia arkuszy kalkulacyjnych idzie tutaj: Czasami chcę przeprowadzić analizę tranzytu, dużo szybciej jest pobrać dane umieścić je w programie Excel, wykonać formuły, a następnie zrzucić dane z powrotem do postgis jako pliku csv i zregeneruj mapę. Taki podział, szczególnie w świecie OpenSource, powinien być lepiej obsłużony.

W każdym razie mogłem nie odpowiedzieć ci poprawnie; Chciałbym tylko być dobrze zorientowanym w programowaniu GIS, aby móc przodować w modelowaniu GIS


Networkx for shp już istnieje FYI np. Networkx.github.io/documentation/latest/reference/… Dla wektora + rastra, zobacz rozszerzenie rastra PostGIS trac.osgeo.org/postgis/wiki/WKTRaster
ThomasG77

+1 największym problemem są wiarygodne źródła danych. Wiele stanów zatrudni stażystów akademickich do pracy letniej, aby obejść zbieranie współrzędnych dla dróg i innych rzeczy, i zwykle nie są sprawdzane pod kątem błędów lub w ogóle nie audytowane (nawet ich próbki), a wynik jest taki, że masz DOT z New Jersey, który mówi droga jest 500 stóp krótsza niż Google, a OSM tak twierdzi. Cholera.
nic nie jest potrzebne

8

Najważniejsze i zwykle najtrudniejsze z mojego doświadczenia są:

  1. uzyskać odpowiednie dane do pracy
  2. spraw, aby pokazał się we właściwej projekcji (i przy zgodzie wszystkich warstw). Zwłaszcza, gdy pochodzą z różnych źródeł
  3. zaprojektować użyteczną aplikację. Łatwo i kusząco jest umieścić wiele dzwonków i gwizdków, które tylko dezorientują użytkowników

Myślę, że punkt 1 będzie łatwiejszy w krajach rozwiniętych, ale to nie jest moje doświadczenie.


6

Dla mnie największym wyzwaniem jest decyzja, jakich narzędzi użyć dla danego projektu. Open source czy zastrzeżone? Python lub .NET? Internetowy czy stacjonarny? Odpowiadam na te pytania inaczej dla różnych projektów i jestem pewien, że ludzie zadadzą wszystkie z nich na tej stronie. Wiele z nich sprowadza się do osobistych preferencji i próby ustalenia, co ESRI i Microsoft będą obsługiwać w przyszłości.


To musiałoby być dla mnie najważniejsze.
Nathan W

2
To jest dla mnie mniej ważne. Chociaż w najlepszym interesie dewelopera leży inwestowanie we własną przyszłość i unikanie „zmarnowanej pracy”, uważam, że cele uzasadniają środki, a każda technologia, którą wykonuje ta praca, jest najlepszym wyborem. Jasne pojęcie o tym, co musisz dostarczyć, jest ważniejsze niż to, jak tam dotrzeć.
mwalker

5

Mój problem dotyczy konia i wody. W wielu przypadkach opracowujemy i / lub prezentujemy naprawdę dobre rozwiązania dla naszych klientów, ale bez względu na to, jak eleganckie jest to rozwiązanie, jest absolutnie bezużyteczne, jeśli nikt nie poświęci czasu na jego użycie. W niektórych przypadkach udało nam się to złagodzić, dostosowując naszą pracę do potrzeb użytkownika (ankieta dotycząca problemów, rozmowy o rozwiązaniach przed opracowaniem), ale w niektórych przypadkach to wciąż za mało.


3

Myślę, że najtrudniejszym wyzwaniem jest przekonanie kierownictwa do zrozumienia GIS, a niektórzy użytkownicy też go nie rozumieją. Uważa się, że GIS polega na tworzeniu mapy; że mapa jest jedynym wynikiem działania GIS. Nie potrafię powiedzieć, jak frustrujące jest to dla mnie - poziom niewiedzy jest ogromny i jest w posiadaniu kluczowych decydentów.

Jednak w końcu - będąc jednym z pionierskich ekspertów i programistów GIS - w końcu staniemy się zarządem, a następnie możemy w końcu wykonać przyzwoite projekty GIS!

Inną trudną rzeczą jako programista GIS - musisz zrozumieć tak wiele różnych technologii, Java, .Net, baz danych, oprogramowania ESRI lub innych dostawców, np. MapInfo, sieci, bezpieczeństwa, techniki internetowej itp. Czasami jest to prawie niemożliwe!


2

Radzenie sobie z ludźmi z ankiet, którzy nie rozumieją profesjonalnych technik i metod tworzenia oprogramowania, ale ponieważ nauczyli się kodować aleję / VB, myślę, że to wszystko.


2

# 3 z odpowiedzi Vinko :

zaprojektować użyteczną aplikację. Łatwo i kusząco jest umieścić wiele dzwonków i gwizdków, które tylko dezorientują użytkowników.

Głosowałbym za całą odpowiedzią, ale za to, że użyteczność jest tylko trzecim punktem na jego liście i nie sądzę, by pierwsze dwa były tak trudne.

Użyteczność jest tam, gdzie jest większość moich problemów i gdzie spędzam większość czasu na projektowaniu / programowaniu, zastanawiając się, jak zaprojektować inteligentny i skuteczny interfejs użytkownika, ale zachowaj go intuicyjnie, aby użytkownicy nie byli przez to pomyleni, na przykład:

  • Jak dostroić styl (i wybrać warstwy) interaktywnej mapy, aby wyświetlać odpowiednie informacje i unikać bałaganu, który często towarzyszy wyświetlaniu zbyt dużej ilości danych (np. Poprzez automatyczne agregowanie obiektów punktowych); wiem, że to właśnie kartografia próbowała rozwiązać od wieków, ale problem pogarsza się tylko w przypadku map cyfrowych / interaktywnych

  • Jak wykonać automatyczne pozycjonowanie widoku mapy na podstawie wyboru zapytania / funkcji użytkownika

  • Podświetlanie „wybranych” funkcji - czy wyświetlasz skrót krótko, czy jest podświetlony przez cały czas, gdy wybrana jest funkcja, czy odznaczasz, gdy tabela wyboru (lub lista) traci koncentrację ... Jak wyróżnić oba zapytania wyniki z tabeli i wybranego wiersza w tej tabeli (bez zbyt wielu przycisków przełączania)

  • Wyświetlanie dodatkowych informacji na listach warstw lub elementów, np. Widoczność / zastosowany styl / typ geometrii, status / klasa elementu ... To staje się jeszcze bardziej skomplikowane w przypadku, gdy na tej samej liście wyświetlane są różne typy elementów (chyba dlatego Google i Bing Maps używają dość intensywnego filtrowania wyników wyszukiwania)

  • Wydajna edycja: przyciąganie, zamykanie wielokątów, dodawanie / przenoszenie / usuwanie punktów, bez konieczności posiadania wielu przycisków paska narzędzi.

  • Jak zaprojektować (i wdrożyć) przyjazny dla użytkownika interfejs zapytań dla zapytań dotyczących geometrii, a jeszcze trudniejszy, interfejs zapytań obejmujący zarówno atrybuty, jak i geometrię; bez wprowadzania użytkownika w coś przypominającego SQL.

  • Jak zaprojektować coś w stylu schowka dla elementów / geometrii, aby uniknąć konieczności ciągłego „wybierania” elementu z mapy w celu użycia go w zapytaniach, edycjach ...

Mam wrażenie, że GIS jest szczególnie wymagającą dziedziną pod względem użyteczności, ponieważ:

  • Lokalizacja jest uniwersalnym i zazwyczaj najbardziej naturalnym kontekstem dla każdej informacji, więc zawsze jest zbyt wiele informacji do wyświetlenia

  • Po wyświetleniu informacji na mapie łatwo pokusić się o niedocenianie znaczenia części interfejsu użytkownika innych niż GIS

  • Przemysł tradycyjnie zaniedbywał aspekt użyteczności oprogramowania GIS i uciekł od niego, ponieważ mapowanie cyfrowe było postrzegane jako handel techniczny z powolną krzywą uczenia się i istniały o wiele trudniejsze koncepcje do nauki niż korzystanie z interfejsu. Oznacza to, że każdy, kto próbuje zaprojektować interfejs GIS dla nie-eksperta, musi wymyślić własne zasady, które skazane są na mylące (dobrym przykładem mogą być „Moje mapy” Google lub „Moje miejsca” Bing Maps)


2

Jednym z największych wyzwań dla rozwoju GIS opartego na sieci Web jest sposób dostarczania danych i wydajność, jaką mogę uzyskać dzięki dostarczeniu danych w określony sposób. Największą przeszkodą jest to, że bardzo trudno jest napisać kod do czegoś, co wymaga drobnej poprawki. Bardzo rzadko widzisz techniki uogólnienia danych wektorowych stosowane w dużych skalach. W większości przypadków musisz dostosować zakresy skali, aby włączyć lub wyłączyć warstwy.


1

To pytanie pojawiło się przy wyszukiwaniu przez Google wyzwań w GIS i mam ochotę wnieść tutaj swój wkład.

Innym linkiem, który uznałem za istotny, był ten artykuł.

Podsumowując to, co tam powiedziane i moje własne poglądy, myślę, że największe wyzwania (w żadnej kolejności nie są):

  • Interfejs użytkownika: Dzięki mnóstwu opcji interfejsu użytkownika programista musi zoptymalizować ofertę tak, aby pasowała do wszystkich urządzeń. Komputer stacjonarny vs komputer stacjonarny vs komputer do noszenia. Idea DE przedstawiona przez Gore'a, która ma poręczny zestaw słuchawkowy z wyświetlaczem, rękawiczki z kontrolą kierunku i rozpoznawaniem mowy, to wymyślna przyszłość.
  • Standaryzacja: Dzięki standardom przechowywania i pobierania danych możemy mieć geo-bazy danych, które spoczywają w chmurze i umożliwiają pobieranie informacji w biegu, aby przeglądanie i korzystanie z GIS mogło być sprawne.
  • Wykorzystanie danych: decydenci są zawsze naciskani na czas. Jeśli narzędzie ma im pomóc, powinno to być wykonane płynnie, łatwo i szybko. Wydaje się, że GIS nie dostarczył na tym froncie i jest to jeden z powodów, dla których nadal nie jest to modne słowo.
  • Dane: dane są zróżnicowane, rozproszone i zaszumione. Nawet w przypadku organizacji, które mają wyraźne zachęty do korzystania z GIS w czasie rzeczywistym, agregacja danych jest wciąż trudna do przewidzenia.
  • Skoordynowany wysiłek: GIS jest interdyscyplinarny. Każde dziecko to wie. Kierownictwo zostaje o tym poinformowane na pierwszym slajdzie. Chociaż takie interdyscyplinarne, wielooddziałowe projekty są rzadkie.

0

Jeśli chodzi o kodowanie, wydaje mi się, że tracę zbyt wiele czasu na obejścia. W przypadku projekcji zrozumienie procesów i matematyki zajęło mi kilka miesięcy, ponieważ moim zdaniem niewiele jest pomocnych opublikowanych materiałów na ten temat. Dokumenty EPSG i OGC na ten temat pomogły mi po omacku ​​po kilku przeczytaniach, chociaż czasem wydają się być kopiami siebie. Największym problemem, jaki mam jako niezależny programista, jest to, że nie mogę się powstrzymać od potknięcia się o ludzi potrzebujących specjalistycznej pracy do celów medycznych, przemysłowych lub nawet prostych aplikacji internetowych, nawet teraz. W branży GIS wydaje się prawie niemożliwe znalezienie sposobu na wejście na rynek.


0

Jestem kompletnym początkującym w technologiach GIS, zastanawiam się nad tym, co robię. A ponieważ mam ograniczone fundusze, staram się unikać używania jakichkolwiek produktów ESRI i robię rzeczy całkowicie z narzędziami typu open source.

To powiedziawszy, najtrudniejsze dla mnie jak dotąd wszystkie były związane z gromadzeniem danych. Jest mnóstwo artykułów na temat manipulowania i wyświetlania danych oraz mnóstwo narzędzi ułatwiających życie. Ale wciąż chodzę po ciemku, jeśli chodzi o zbieranie danych.

Nie mam pojęcia, co robią specjaliści, aby znaleźć i zebrać dane. Coś mi mówi, że istnieje łatwiejszy sposób na uzyskanie danych niż data.gov i google.


Większość musieliśmy go kupić od dostawców, którzy wykonują rzeczywiste badania naziemne i konwersję z innych źródeł. W trzecim świecie otwarcie danych od rządu to
PITA

-1

Być może niefortunnie jest być zmuszonym do pracy z analitykami GIS, które zostały przekształcone w programistów.

Łatwo jest oczekiwać, że kompetentny programista przejmie koncepcje GIS i pozwoli im przejść przez interfejs API i ogólnie rozwiązać problem bez dużej pomocy. To samo nie dotyczy wzięcia analityka GIS i oczekiwania od niego rozpoczęcia rozwoju oprogramowania.

W najlepszym razie wyniki są krępujące . Jeśli masz doświadczenie w pracy ze złymi programistami , wyobraź sobie, że jest to gorszy kod niż cokolwiek, co opracował najgorszy programista.

Istnieje kilka firm, dla których możesz pracować, ale nie rozumiem.


2
@emptyset: Jestem geografem, który został programistą. Nie sądzę, żeby moje wyniki były w najlepszym razie „krępujące”. Mam o wiele więcej umiejętności programistycznych niż inni koledzy z wykształceniem IT - w tym lepsze zrozumienie i wykorzystanie koncepcji OOP, koncepcji i zasad dotyczących baz danych itp. Oczywiście, nie zgadzam się z twoją odpowiedzią: P
George Silva

1
@George: I nie mówię, że powiedziałeś inaczej, po prostu wskazując, że aby być świetnym programistą, musisz wiedzieć, ile ssiesz. Przynajmniej próbuję.
Vinko Vrsalovic

2
+1 Przy wielu okazjach byłem poproszony o „naprawienie błędów” w Big Ball of Mud en.wikipedia.org/wiki/Big_ball_of_mud napisanym przez jednego lub więcej analityków. Niektóre z najgorszych kodów zostały napisane przez najmądrzejszych analityków. Często inteligentni nie doceniają piękna prostoty. Często wina polega na zarządzaniu - analityk może zdać sobie sprawę z wartości refaktoryzacji, ale nie może uzasadnić spędzenia czasu na zmianie kodu, który nie jest uszkodzony.
Kirk Kuykendall

3
Następstwem tego może być niefortunne współdziałanie z programistami zmuszonymi do pracy jako specjaliści GIS. Jestem bardzo ostrożny wobec kogokolwiek, z dowolnej dziedziny, po prostu zastanawiam się, jak idą w GIS. Jestem analitykiem zajmującym się rozwojem i w pełni oczekuję - i chcę - ludzi, aby uważali na mój kod. Każdy programista, który uważa, że ​​dobrze sobie radzi w GIS, prawdopodobnie nie jest. :-)
matt wilkie

3
-1 - bardzo szerokie stwierdzenie, które jest prawdopodobnie fałszywe i nieco obraźliwe. Jak sugeruje powyżej Matt W, ogólnie lepiej jest mieć osobę GIS przychodzącą do kodowania niż na odwrót, ponieważ jest o wiele więcej zasobów, które pomogą Ci nauczyć się kodowania i wdrożyć najlepsze praktyki niż w GIS
dmbrubac

-1

świat GIS jest rozwijany w kierunku zwykłego użytkownika, chyba że we wczesnych latach, gdy GIS traktowali tylko inżynierowie, architekci lub środowisko naukowe. W przypadku, gdy aplikacja GIS jest wykonywana dla zwykłego użytkownika, wyzwaniem jest odpowiednie połączenie technologii, w których GIS jest traktowany bardziej jako technologia (w tym przypadku wystarczy programista z niewielką znajomością technologii GIS). Jednak w przypadku, gdy aplikacja jest wykonana dla wyspecjalizowanej społeczności, wyzwanie jest bardziej złożone, ponieważ oprócz łączenia technologii konieczne jest przeszukiwanie istniejących algorytmów w celu spełnienia wymagań, w przeciwnym razie jeszcze bardziej musielibyśmy opracować te algorytmy. W takim przypadku połączenie inżyniera i programisty jest odpowiednie dla pracownika.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.