Zalecane tematy do uwzględnienia w kursie informatyki dla technologii geoprzestrzennych

24

Będę prowadził kurs na lokalnym uniwersytecie zatytułowany Informatyka dla technologii geoprzestrzennych. Jest to kurs wprowadzający, którego celem jest wprowadzenie koncepcji informatyki do studentów technologii geoprzestrzennych (GIS i teledetekcja). W przeszłości wprowadzałem koncepcje programowania, ale zauważyłem, że omawiało to wielu studentów.

Obecnie planuję omówić sprzęt komputerowy, typy danych przestrzennych (tj. Pliki kształtów vs. geobazy), ESRI Geodatabase Model (uniwersytet działa na platformie ESRI), podstawową teorię baz danych z ArcSDE Personal.

Czy ktoś mógłby polecić inne tematy związane z informatyką, które specjaliści GIS i teledetekcji powinni znać przed wejściem na rynek pracy?

AKTUALIZACJA: Program z ostatnich lat obejmował:

  • Google Maps JavaScript API / HTML / Google Earth / KML - 5 tygodni
  • Skrypty w języku Python - 6 tygodni
  • Teoria baz danych / MS Access - 2 tygodnie
  • VBA - 2 tygodnie

Odpowiedź, którą otrzymałem od studentów, była taka, że ​​na każdy temat nie poświęcono wystarczającej ilości czasu. Rozmawiam z uniwersytetem, aby zaoferować kurs następnego poziomu w programowaniu GIS przy użyciu Pythona.

Brian
źródło
2
Z pewnością dodam skrypty i projekcje. Jeszcze jedna uwaga, czy jest to krótki opis ESRI? Spróbowałbym ustawić go jako agnostyczny na platformach GI. Spróbowałbym też wprowadzić więcej projektów typu open source, jak wiele innych firm, a organizacje looing w ten sposób. W miarę możliwości przedstawiłbym również ramy programistyczne. Wiem, że powiedziałeś, że ostatni raz poszło im to w pamięć, ale skrypty są potrzebne, przynajmniej dla najbardziej podstawowego praktyka GI, imo.
Hairy
1
W zeszłym roku załączyłem skrypty, ale myślę, że skrypty powinny być samodzielne. Jest po prostu zbyt wiele, aby zmieścić się w zaledwie kilku tygodniach większego kursu. Chciałbym zaoferować zaawansowany kurs programowania GIS przy użyciu języka Python.
Brian
2
Dobre punkty, @Hairy. Dlaczego nie udostępniasz ich jako odpowiedzi?
whuber
1
Ciekawe, Brian, że chociaż cel kursu jest scharakteryzowany jako „wprowadzenie koncepcji informatycznych”, tylko 2 z 15 tygodni wydają się temu poświęcone (teoria bazy danych). Reszta wygląda raczej na praktyczne zastosowania niż na koncepcje. Być może są one przeznaczone jako narzędzia do nauczania pojęć, które w innym przypadku nie zostałyby specjalnie określone w programie nauczania? W takim przypadku pomogłoby wskazać, jakich pojęć chcesz nauczać w segmentach GM / GE / KML, Python i VBA.
whuber
1
@whuber - W ubiegłym roku kurs został zaprojektowany tak, aby był bardziej praktyczny. Uznałem, że większość studentów otrzymała wystarczającą teorię na swoich tradycyjnych wprowadzających kursach GIS. Po nurkowaniu w praktyce bez odpowiedniego zaplecza, wielu uczniów zaginęło. Pamiętam, jak dyskutowałem, w jaki sposób skryptowanie przepływu pracy w Pythonie w jedną stronę może wpływać na użycie pamięci i procesora, a wielu uczniów wydawało się, że nie rozumie, czym jest pamięć i procesor. Dlatego myślę, że w tym roku powinno być trochę bardziej koncepcyjne, uzupełniając luki w innych kursach.
Brian

Odpowiedzi:

29

W ciągu 15 lat odpowiadania na pytania GIS na serwerach list, a teraz na stronach internetowych, zauważyłem kilka powtarzających się problemów, które sugerują, że praktycy powinni nauczyć się pewnych konkretnych pojęć komputerowych. Żaden z nich nie jest głęboki; wszystkie są dobrze znane; ale wszystkie wydają się być powszechnymi brakami w tle lub zrozumieniem znacznej mniejszości (większości?) osób korzystających z GIS. W wielu przypadkach niewiele trzeba się nauczyć poza definicją lub przykładem. Chodzi o to, aby ostrzec uczniów przed pułapkami, które się pojawią, i przekazać im zasady lub narzędzia, których potrzebują, aby zająć się nimi, gdy tylko się pojawią, niekoniecznie stając się ekspertami.

Linki na poniższej liście prowadzą do pytań na tej stronie. Samo istnienie tych łączy świadczy o wartości tych pojęć. Podążając za linkami, możesz znaleźć przykłady tego, w jaki sposób znajomość tych pojęć może rozwiązać problemy, zapobiec ich wystąpieniu i pomóc ludziom w lepszej znajomości GIS.

Systemy komputerowe

Informatyka

  • Analiza asymptotyczna algorytmów . Zrozumienie, na poziomie praktycznym, różnic między O (n), O (n log (n)), O (n ^ 2), (i gorszym) czasem. Jak sprawdzić, jak skaluje się algorytm czarnej skrzynki.

  • Zasady interakcji człowiek-komputer. Jest to zbyt szerokie, ale niektóre zasady projektowania formularzy i projektowania stron internetowych mogą przejść długą drogę.

  • Zasady języków obliczeniowych: czego oczekiwać od języka, różnica między orientacją proceduralną i obiektową, jakie rodzaje struktur danych i obiektów, które języki mogą obsługiwać i do których się odnoszą, różnica między językami kompilowanymi i interpretowanymi (oraz kompromisy między nimi) .

  • Podstawowe zasady projektowania struktury danych . Wzajemne oddziaływanie między strukturami używanymi do reprezentowania danych a algorytmami, które je wykorzystują. Zastosowania tablic, list i słowników.

  • Rozróżnienie między obiektami i odniesieniami do nich. ( Wiele błędów popełniają ludzie, którzy nie rozpoznają różnicy między nazwą zmiennej a jej ciągiem cytowanym !)

  • Czym jest system operacyjny, jakich usług można się po nim spodziewać i jak z nim współdziałać.

  • Czym jest sieć, jakich usług można się po niej spodziewać, porównanie niektórych architektur i poczucie kompromisów między uzyskaniem usług obliczeniowych lokalnie a zdalnie.

  • Algorytmy teoretyczne: wiele analiz GIS można abstrakcyjnie przedstawić w kategoriach problemów na wykresach; dzięki temu można uzyskać dostęp do wydajnych algorytmów. Dobrym przykładem na naszej stronie jest tutaj zaangażowanie problem, który początkowo wydaje się mieć nic wspólnego z wykresami.

  • Rekurencja Dobrym przykładem dla praktyków GIS jest stworzenie indeksu przestrzennego, takiego jak ten algorytm dla adaptacyjnego kwadratu punktowego .

Dane GIS

Systemy baz danych

GIS

  • Typowe algorytmy do wykonywania podstawowych procedur GIS, w tym wielokąta punktowego i buforowania. Dlaczego różne algorytmy mogą być pożądane dla obliczeń jednorazowych w porównaniu do powtarzanych obliczeń z tymi samymi danymi lub dla danych statycznych w porównaniu do danych dynamicznych (w czasie rzeczywistym).

  • Jak można organizować dane GIS do wyszukiwania i przetwarzania, takie jak kwadraty .

  • Ocena kompromisów między rozdzielczością / precyzją / prędkością w przechowywaniu danych GIS (szczególnie danych rastrowych).

Zbieranina


Ponieważ jest to poza moją głową, z pewnością jest niekompletne. Jeśli ludzie uznają tę listę za przydatną, będę pracować, aby ją ulepszyć - lub pomogę i dodam ją, jeśli masz wystarczającą reputację. Aby zachować praktyczność i koncentrację, prosimy o odniesienie się do pojęć, które pomogą ludziom uniknąć problemów, które rzeczywiście zauważyłeś (w pracy własnej lub innych).

whuber
źródło
Nie jestem pewien, czy twój przykład dotyczący „Rozróżnienia między pamięcią zewnętrzną a pamięcią RAM” oznacza, co myślisz. Dyski RAM istnieją i jest to prawidłowe użycie jednego.
tomfumb
@tom To, co naprawdę chciałem rozwiązać w tym punkcie, to powszechne zamieszanie wśród użytkowników, którzy nazywają całą pamięć i pamięć RAM „pamięcią”, nie rozumiejąc różnych cech urządzeń pamięci lub form pamięci RAM. Trudno jest docenić, czym jest dysk RAM i jak działa, dopóki nie zrozumiesz ... czy powiem to jeszcze raz? ... różnica między pamięcią zewnętrzną a pamięcią RAM. Ponadto dysk RAM nie może być uważany za urządzenie pamięci ze względu na jego zmienność; ale dyski SSD z pewnością zacierają linie, podobnie jak pamięć w chmurze w szybkich sieciach.
whuber
1
Na pewno żałuję, że nie zwróciłem większej uwagi na koncepcje programowania współbieżnego przedstawione na zajęciach. Prawdopodobnie byłem zbyt zajęty wielozadaniowością :) Dzięki długim procesom rozpowszechnianym w Internecie, myślę, że stało się to bardzo ważne. Przydałby się również w rozwiązywaniu problemów z wątkami w starszych wersjach COM.
Kirk Kuykendall
@Kirk Dobra sugestia. Zauważyłem, że niemal tak szybko, jak programowanie równoległe staje się powszechne, jego szczegóły są skutecznie abstrakcji do tego stopnia, że ​​w wielu przypadkach nie musimy wiele wiedzieć, aby z niego korzystać. Przykład: w Mathematica wszystko, co musisz zrobić, to owinąć sekcję kodu w Parallelizekomendę, a ona zajmie się resztą. (Zrozumienie podstawowej technologii jest jednak pomocne w celu maksymalnego wykorzystania tej możliwości.)
whuber
11

Ukończyłem program skoncentrowany na ESRI, w którym wydział wykonał całkiem niezłą pracę oddzielając koncepcję (wykład) i użyteczność (laboratorium). Moje główne słabości po opuszczeniu środowiska akademickiego były: 1) Nie miałem umiejętności posługiwania się językiem SQL, nie znałem podstawowych zasad bazy danych; oraz 2) Nie byłem przygotowany na programowe przetwarzanie wstępne wymagane dla większości zestawów danych.

Polecam warsztaty z obsługi danych w celu wprowadzenia właściwego RDBMS (prawdopodobnie PostreSQL z PostGIS) i języka programowania (prawdopodobnie Python) do czyszczenia plików CSV, TXT lub SHP. Wystarczy, że posmakujesz każdego z nich, twoi uczniowie będą bardziej przygotowani do samodzielnego stawania się „tam”.

rec. thegeom
źródło
1
+1 dla PostGIS. Ani Access, ani ArcSDE nie zachęcają do dobrego projektu bazy danych. Na dłuższą metę dobra znajomość SQL jest znacznie cenniejsza niż nauka „sposobu ESRI” obsługi danych przestrzennych w „czymś takim” jak RDBMS.
podmrok
@ rec.thegeom - ukończyłem podobny program (na tym samym uniwersytecie, który wykładam) z tymi samymi niedociągnięciami i zmuszony byłem uczyć się w pracy. Myślę, że społeczność akademicka nie rozumie, jakie umiejętności i wiedza są niezbędne do odniesienia sukcesu w karierze GIS. Myślę, że przechowywanie danych i zarządzanie nimi powinno być podstawą każdej edukacji GIS. W końcu GIS to kolejna forma analizy danych i wizualizacji. Ponieważ uczniowie znają środowisko ESRI (i jest już zainstalowane), mam nadzieję, że użyję SQL Server Express do pracy z bazą danych.
Brian
10

Nawet jeśli uniwersytet używa ESRI, zaleciłbym wprowadzenie lub opisanie ekwiwalentów open source. Po pierwsze, uczniom łatwiej jest zainstalować QGIS na swoich laptopach niż ArcGIS, jeśli chcą przetestować otwarcie pliku kształtu, ponieważ QGIS jest znacznie mniejszy (ArcGIS 10 to 2 - 3 GB), a uczniowie nie potrzebują połączenia z Internetem. Mój uniwersytet ma programy nauczania skupione wokół ArcGIS zamiast GIS; Osobiście uważam, że jest to zacofane.

Wprowadzenie KML do Google Earth lub Google Maps może być sposobem na zaangażowanie uczniów. KML jest popularny, a tworzenie interaktywnej mapy jest o wiele bardziej ekscytujące niż mapa papierowa; szczególnie gdy możesz udostępnić link do strony internetowej innym osobom.

djq
źródło
2
Zgadzam się, że nauczanie tylko ESRI jest odwrócone. Niestety uniwersytet się nie zgadza. Ponadto z powodu ograniczeń informatycznych nie mogę zainstalować żadnego dodatkowego oprogramowania w pracowni komputerowej, w której odbywa się kurs.
Brian
1
@Brian Rozumiem. Nadal może istnieć sposób na sformułowanie nauczania, który koncentruje się na różnych pytaniach, a produkty ESRI są jednym ze sposobów odpowiedzi na te pytania. Myślę, że to narzędzie wpływa na myślenie i ekspresję (podobnie jak ludzki język), a to ważne, aby podkreślić.
djq
wprowadzenie KML wydaje się świetnym sposobem na przyciągnięcie niektórych uczniów.
rec
Nawet jeśli nie masz studentów instalujących lub korzystających z produktów typu open source, nadal byłoby bardzo korzystne, aby dzień lub tydzień omawiał dostępne alternatywy typu open source, aby ujawnić je temu, że istnieją opcje inne niż ESRI. Jeśli chcą eksperymentować lub korzystać z oprogramowania GIS w domu, mieliby kilka alternatywnych opcji do samodzielnego zbadania.
RyanDalton
4

Z pewnością dodam skrypty i projekcje. Jeszcze jedna uwaga, czy jest to krótki opis ESRI? Postaram się, aby było to „GI agnostyczne”, ponieważ jest ich tak wiele, że ESRI nie mają pełnego monopolu, a ponieważ budżety kurczą się, imo, ich udział w rynku również maleje. Spróbuję więc wprowadzić także więcej projektów typu open source, ponieważ znacznie więcej firm i organizacji zmierza w tym kierunku.

W miarę możliwości przedstawiłbym również ramy programistyczne. Wiem, że powiedziałeś, że ostatni raz przeszło im to przez głowę, ale przynajmniej skryptowanie jest potrzebne nawet najbardziej podstawowemu praktykującemu GI.

Potrzebne są również umiejętności bazodanowe. Ponownie, nawet najbardziej podstawowy praktykujący GI, prawdopodobnie będzie musiał prowadzić pewnego rodzaju magazyn danych, a manipulowanie tymi danymi będzie kluczowym elementem ich codziennej pracy.

Jedną z najczęstszych rzeczy, które muszę zrobić, jest nauczenie użytkowników, czym jest GIS. Czasami zdumiewa mnie, jak mało ludzi wie o GIS, poza mapami Google. Zatem umożliwienie im wykazania się kluczowym zrozumieniem tego, czym jest, w całości, od użytkowników, do systemów, byłoby korzystne dla wszystkich użytkowników. Niedawno współpracowałem z programistą Java z pewnym doświadczeniem i kimś, kogo oceniłem jako specjalistę, ale on tak naprawdę nie rozumiał, czym jest GIS.

Dobrze byłoby też pokazać im lokalizację, ponieważ niewystarczająca liczba osób myśli poza tym, co to jest lokalizacja.

Jednak może być większy niż Ben Hur. Studiowałem informatykę na uniwersytecie z modułem GIS. Pomimo tego, że kontynuowałem studia magisterskie w GIS, a następnie pracuję 15 lat w branży, wciąż się uczę, więc nie można tego zrobić.

Włochaty
źródło