Mehr

Empfehlen Sie Themen für einen Studiengang Informatik für Geoinformatik

Empfehlen Sie Themen für einen Studiengang Informatik für Geoinformatik


Ich werde einen Kurs an der örtlichen Universität mit dem Titel Informatik für Geotechnologien leiten. Dies ist ein Einführungskurs, der Studenten der Geoinformatik (GIS & Fernerkundung) in Konzepte der Informatik einführen soll. In der Vergangenheit habe ich Programmierkonzepte vorgestellt, aber ich fand, dass dies vielen Studenten den Kopf zerbrochen hat.

Derzeit plane ich, Computerhardware, räumliche Datentypen (z. B. Shapefiles vs. Geodatabases), ESRI Geodatabase Model (die Universität arbeitet auf einer ESRI-Plattform), grundlegende Datenbanktheorie mit ArcSDE Personal zu diskutieren.

Könnte jemand andere Informatik-bezogene Themen empfehlen, die Praktiker von GIS und Fernerkundung kennen sollten, bevor sie ins Berufsleben eintreten?

UPDATE: Der Lehrplan des letzten Jahres beinhaltete:

  • Google Maps Javascript API/HTML/Google Earth/KML – 5 Wochen
  • Python-Skripting - 6 Wochen
  • Datenbanktheorie/MS Access - 2 Wochen
  • VBA - 2 Wochen

Die Antwort, die ich von den Studenten erhielt, war, dass nicht genug Zeit für jedes Thema aufgewendet wurde. Ich spreche mit der Universität, um einen Kurs der nächsten Stufe in GIS-Programmierung mit Python anzubieten.


In 15 Jahren der Beantwortung von GIS-Fragen auf Listservern und jetzt auch auf Webseiten habe ich einige wiederkehrende Probleme festgestellt, die darauf hindeuten, dass Praktiker bestimmte spezifische Computerkonzepte erlernen müssen. Keine davon ist tief; all dies ist bekannt; aber alle scheinen allgemeine Mängel im Hintergrund oder im Verständnis einer bedeutenden Minderheit (Mehrheit?) von GIS-Leuten zu sein. In vielen Fällen muss außer einer Definition oder einem Beispiel eigentlich wenig gelernt werden. Es geht darum, die Schüler auf auftretende Fallstricke aufmerksam zu machen und ihnen die Prinzipien oder Werkzeuge an die Hand zu geben, die sie benötigen, um sie anzugehen, ohne unbedingt Experten zu werden.

Links in der folgenden Liste führen alle zu Fragen auf dieser Seite. Die bloße Existenz dieser Links belegt den Wert der Konzepte. Wenn Sie den Links folgen, finden Sie Beispiele dafür, wie Sie mit diesen Konzepten Probleme lösen, deren Auftreten verhindern und Benutzern helfen können, mit GIS besser vertraut zu werden.

Computersysteme

  • Die Komponenten eines Computers: Öffnen Sie eine Kiste, nehmen Sie sie auseinander, identifizieren Sie die Teile (CPU, RAM, Festplatten, Motherboard, Netzwerkkarte usw.) und erklären Sie ihre Rolle im System. Entmystifizieren Sie es und machen Sie es für die Schüler konkret.

  • Verständnis dafür, wie Computersysteme Daten auf externen Geräten speichern. Konzepte von physischen und logischen Formaten. Der Unterschied zwischen ASCII (und ähnlichen Kodierungen) und roher Binärdatei.

  • Details der internen binären Darstellung numerischer Daten, einschließlich IEEE-Gleitkommazahlen mit einfacher und doppelter Genauigkeit und vorzeichenbehafteten und vorzeichenlosen Ganzzahlen. Einschränkungen von jedem. So wählen Sie aus, welcher Datentyp für die Darstellung von GIS-Attributen verwendet werden soll.

  • Der Unterschied zwischen externem Speicher und RAM. (Ich weiß, dass das unglaublich elementar ist, aber es gibt eine Menge Verwirrung da draußen.)

Informatik

  • Asymptotische Analyse von Algorithmen. Verstehen, auf praktischer Ebene, die Unterschiede zwischen O(n), O(n log(n)), O(n^2), (und schlimmerem) Timing. So testen Sie, wie ein Black-Box-Algorithmus skaliert.

  • Prinzipien der Mensch-Computer-Interaktion. Dies ist zu weit gefasst, aber einige Prinzipien des Formulardesigns und des Webseitendesigns können viel bewirken.

  • Prinzipien der Computersprachen: Was ist von einer Sprache zu erwarten, der Unterschied zwischen prozeduraler und objektorientierter Ausrichtung, welche Arten von Datenstrukturen und Objekten können Sprachen unterstützen und auf sie verweisen, der Unterschied zwischen kompilierten und interpretierten Sprachen (und die Kompromisse zwischen ihnen) .

  • Grundprinzipien des Datenstrukturdesigns. Das Zusammenspiel zwischen Strukturen, die zur Darstellung von Daten verwendet werden, und den Algorithmen, die sie verwenden. Die Verwendung von Arrays, Listen und Wörterbüchern.

  • Die Unterscheidung zwischen Objekten und Verweisen auf sie. (Viele Fehler werden von Leuten gemacht, die den Unterschied zwischen einem Variablennamen und seinem String in Anführungszeichen nicht erkennen!)

  • Was ein Betriebssystem ist, welche Dienste von ihm zu erwarten sind und wie man damit interagiert.

  • Was ein Netzwerk ist, welche Dienste von ihnen zu erwarten sind, Vergleich einiger Architekturen und ein Gefühl für Kompromisse zwischen dem Erhalten von Computerdiensten lokal und entfernt.

  • Graphentheoretische Algorithmen: Viele GIS-Analysen lassen sich abstrakt in Form von Problemen auf Graphen darstellen; dies ermöglicht den Zugang zu effizienten Algorithmen. Ein schönes Beispiel auf unserer Seite ist hier ein Problem, das zunächst nichts mit Graphen zu tun zu haben scheint.

  • Rekursion. Ein gutes Beispiel für GIS-Praktiker ist die Erstellung eines räumlichen Index wie dieser Algorithmus für einen adaptiven Punktquadtree.

GIS-Daten

  • Wie Vektor- und Rasterdaten gespeichert werden, sowohl intern als auch für den Datenaustausch.

  • Wie die Topologien von Multipoints, Polylinien, Polygonen und TINs dargestellt und verarbeitet werden können.

  • Grundprinzipien der Datenkomprimierung, wie sie auf GIS-Daten angewendet wird, insbesondere die Lauflängencodierung.

Datenbanksysteme

  • Was ein relationales Datenbankmanagementsystem ist, wie es sich von einigen anderen großen Datenbankdesigns unterscheidet, was seine Vor- und Nachteile sind.

  • Normalisierung und Design von Datenbanken.

  • Wie man Datenbanken abfragt (z. B. SQL).

  • Dokumentationsmethoden, insbesondere Metadaten und Datenwörterbücher.

GIS

  • Typische Algorithmen zur Durchführung grundlegender GIS-Verfahren, einschließlich Point-in-Polygon und Pufferung. Warum unterschiedliche Algorithmen für einmalige Berechnungen im Vergleich zu wiederholten Berechnungen mit den gleichen Daten oder für statische Daten im Vergleich zu dynamischen (Echtzeit-)Daten wünschenswert sein können.

  • Wie GIS-Daten für die Suche und Verarbeitung organisiert werden können, z. B. Quadtrees.

  • Bewertung von Kompromissen zwischen Auflösung/Präzision/Geschwindigkeit beim Speichern von GIS-Daten (insbesondere Rasterdaten).

Sonstiges

  • Debugging-Techniken: So isolieren, identifizieren und umgehen Sie Fehler. Wie man offensichtliche Fehler und Anomalien beschreibt und meldet. So stellen Sie gute Fragen im Web!

  • Wie man Funktionen mit Wurzelsuchalgorithmen invertiert. (Wenn dies nicht berücksichtigt wird, führt dies häufig zu extrem ineffizienten Algorithmen oder zur vollständigen Nichtlösung eines Problems.)

  • So wählen Sie zwischen Blackbox-Optimierungsprogrammen aus (kontinuierlich vs. ganzzahlig, konvex vs. nicht, univariat vs. multivariat, linear vs. nicht usw.). Weitere Beispiele finden Sie unter einem Gerätepositionsproblem und einem Polygonpackungsproblem.

  • So navigieren Sie in Hilfesystemen. Was ist zu suchen und was als nutzlos abzulehnen. (Die Online-ArcGIS-Hilfe von ESRI bietet hervorragende Beispiele für sehr gute und sehr schlechte.) Dies kann sogar eine Anleitung zum Lesen von Objektdiagrammen umfassen.


Da dies mir nicht eingefallen ist, ist es sicherlich unvollständig. Wenn die Leute die Liste nützlich finden, werde ich daran arbeiten, sie zu verbessern - oder mir helfen und sie gerne ergänzen, wenn Sie einen ausreichenden Ruf haben. Um dies praxisnah und fokussiert zu halten, sprechen Sie bitte nur Konzepte an, die Menschen helfen, Probleme zu vermeiden, die Sie tatsächlich beobachtet haben (in Ihrer eigenen Arbeit oder der anderer).


Ich habe ein ESRI-zentriertes Programm absolviert, in dem die Fakultät eine ziemlich gute Arbeit geleistet hat, um Konzept (Vorlesung) und Nutzen (Labor) zu trennen. Meine Hauptschwächen beim Verlassen der Universität waren: 1) Ich hatte keine SQL-Kenntnisse, keine Kenntnisse der grundlegenden Datenbankprinzipien; und 2) ich war nicht auf die programmatische Vorverarbeitung vorbereitet, die für die meisten Datensätze erforderlich ist.

Ich empfehle einen Workshop "Datenhandhabung", um ein geeignetes RDBMS (wahrscheinlich PostreSQL mit PostGIS) und eine Programmiersprache (wahrscheinlich Python) zum Bereinigen von CSV-, TXT- oder SHP-Dateien vorzustellen. Mit nur einer Kostprobe von jedem werden Ihre Schüler besser darauf vorbereitet sein, "da draußen" für sich allein zu stehen.


Auch wenn die Universität ESRI verwendet, würde ich empfehlen, Open-Source-Äquivalente einzuführen oder zu beschreiben. Zum einen ist es für Schüler viel einfacher, QGIS auf ihren Laptops zu installieren als ArcGIS, wenn sie das Öffnen eines Shapefiles testen möchten, da QGIS deutlich kleiner ist (ArcGIS 10 ist 2 - 3 GB) und die Schüler keine Internetverbindung benötigen. Meine Universität hat Curricula, die sich eher auf ArcGIS als auf GIS konzentrieren. Das halte ich persönlich für rückständig.

Die Einführung von KML mit Google Earth oder Google Maps könnte eine Möglichkeit sein, Schüler zu motivieren. KML ist beliebt und die Erstellung einer interaktiven Karte ist um einiges spannender als eine Papierkarte. insbesondere wenn Sie einen Weblink mit anderen teilen können.


Ich würde auf jeden Fall Skripte und Projektionen hinzufügen. Noch eine Anmerkung, ist es ein ESRI-Briefing? Ich würde versuchen, es "GI-agnostisch" zu machen, da es jetzt so viele gibt, dass ESRI kein vollständiges Monopol hat und wenn die Budgets schrumpfen, wird imo auch ihr Marktanteil schrumpfen. Ich würde also versuchen, auch mehr Open-Source-Projekte einzuführen, da sich viel mehr Unternehmen und Organisationen in diese Richtung bewegen.

Ich würde auch Programmier-Frameworks einführen, wenn möglich. Ich weiß, dass Sie gesagt haben, dass es beim letzten Mal über ihren Köpfen hinweggegangen ist, aber zumindest Skripte werden selbst von den einfachsten GI-Praktikern benötigt.

Datenbankkenntnisse sind ebenfalls erforderlich. Auch hier wird selbst der einfachste GI-Praktiker wahrscheinlich eine Art Datenspeicher pflegen müssen, und die Manipulation dieser Daten wird ein Schlüsselelement seiner täglichen Arbeit sein.

Eines der häufigsten Dinge, die ich tun muss, ist, Benutzern beizubringen, was GIS eigentlich ist. Es verblüfft mich manchmal, wie wenig Leute über GIS wissen, außer Google Maps. Daher wäre es für alle Benutzer von Vorteil, sie dazu bringen zu können, ein grundlegendes Verständnis darüber zu demonstrieren, was es ist, ganzheitlich von den Benutzern bis zu den Systemen. Ich arbeitete vor kurzem mit einem Java-Entwickler mit einiger Erfahrung und jemandem, den ich als Spezialist einstufte, aber er verstand nicht wirklich, was ein GIS in seiner Gesamtheit ist.

Es wäre auch gut, ihnen den Standort zu demonstrieren, da nicht genug Leute über den Tellerrand hinaus denken, was ein Standort ist.

Es hat jedoch das Potenzial, größer als Ben Hur zu sein. Ich habe Informatik an der Universität studiert, mit einem GIS-Modul. Obwohl ich dann einen Master in GIS gemacht und dann 15 Jahre in der Industrie gearbeitet habe, lerne ich immer noch, so dass es unmöglich ist, alles zu bekommen.