We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Skalierbare Plattform zur Verarbeitung von Geodaten auf Basis von Kubernetes

00:00

Formale Metadaten

Titel
Skalierbare Plattform zur Verarbeitung von Geodaten auf Basis von Kubernetes
Serientitel
Anzahl der Teile
77
Autor
Lizenz
CC-Namensnennung 4.0 International:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Die Digitalisierung fordert die Verfügbarkeit jeglicher staatlichen Dienstleistung über digitale Kanäle. Geodatenhaltende Stellen müssen dazu eine vergleichsweise große Datenmenge verarbeiten. Monolithische Altverfahren sind aufgrund mangelnder Zuverlässigkeit, Flexibilität und Skalierbarkeit nahezu ungeeignet, diesen Anforderungen adäquat zu begegnen. Vorgestellt wird, wie durch moderne Architekturen und Technologien des Cloud Computing Geodaten effizient verarbeitet werden können.
SystemplattformGeodätische LinieComputeranimationBesprechung/InterviewVorlesung/Konferenz
GeoinformationSkalierbarkeitGeodätische LinieSystemplattformBesprechung/Interview
DurchflussFaktorisierungSpur <Informatik>DurchflussErzeugendeInstanz <Informatik>MengeDateiComputeranimation
PixelDetektionGeometrische TransformationGeometrische TransformationDatenverarbeitungPixelDetektionObjekt <Kategorie>Computeranimation
Cloud ComputingZugriffSkalierbarkeitInternetdienstDatenverarbeitungGeodätische LinieComputeranimation
Cloud ComputingZugriffSkalierbarkeitInternetdienstDatenverarbeitungCloud ComputingDienst <Informatik>SkalierbarkeitHöheDigitalisierungPhysikalische GrößeZugriffMikroarchitekturBesprechung/InterviewComputeranimation
DatenhaltungImplementierungDesktopDurchflussImplementierungLösung <Mathematik>DatensatzAnwendungssoftwareWEBFRAMEWORK <Programm>HTTPDatenhaltungVerteiltes SystemBildanalyseProgrammierspracheExpertensystemComputeranimation
Dienst <Informatik>HTTPVerteiltes SystemOpen SourceKommunikationImplementierungEbeneImplementierungKommunikationKomponente <Software>Open SourceKlumpenstichprobeLokales MinimumDienst <Informatik>FRAMEWORK <Programm>VerfügbarkeitPolygonnetzComputeranimation
Dienst <Informatik>Open SourceHTTPVerteiltes SystemKommunikationImplementierungURLKomponente <Software>Sound <Multimedia>Geodätische LinieBesprechung/InterviewComputeranimation
Open SourceKommunikationImplementierungFirefox <Programm>ServerComputeranimation
Firefox <Programm>NeunImplementierungOpen SourceKommunikationComputeranimation
Dienst <Informatik>URLTyp <Informatik>Verteiltes SystemOpen SourceKommunikationImplementierungApache <Programm>GatewayChiffrierungSkript <Programm>Gewicht <Ausgleichsrechnung>Software Development KitURLImplementierungDateiWEBApache <Programm>Komponente <Software>BenutzerführungFunktionalitätProgrammierspracheObjekt <Kategorie>Git <Software>ZugriffGewicht <Ausgleichsrechnung>GatewayComputeranimation
Apache <Programm>Dienst <Informatik>GatewayChiffrierungSoftware Development KitGewicht <Ausgleichsrechnung>Skript <Programm>Objekt <Kategorie>Lokales MinimumComputeranimation
Apache <Programm>Dienst <Informatik>GatewayChiffrierungSoftware Development KitGewicht <Ausgleichsrechnung>Skript <Programm>Wurm <Informatik>Komponente <Software>Bucket <Informatik>Objekt <Kategorie>WEBBenutzerführungFRAMEWORK <Programm>EigenwertproblemTemplateLokales MinimumComputeranimation
Funktion <Mathematik>Dienst <Informatik>Computeranimation
Proxy ServerMusterspracheChiffrierungRoutingDienst <Informatik>FunktionalitätMusterspracheDienst <Informatik>Proxy ServerRoutingComputeranimation
PunktwolkeHTTPDatenformatSpeicherbedarfPyramideMetadatenErweiterungMetadatenMehrstufenprozessPyramideSpeicherbedarfDemoszene <Programmierung>PixelRang <Mathematik>Computeranimation
Computeranimation
Lokales MinimumComputeranimation
Demoszene <Programmierung>ParametersystemFunktion <Mathematik>Lokales MinimumParametersystemDateiXML
ParametersystemDemoszene <Programmierung>makeGRADELokales MinimumDateiComputeranimation
VerschlingungComputeranimation
Demoszene <Programmierung>ComputeranimationProgramm/Quellcode
REC <Programmiersprache>AuswahlaxiomHTTPDatensatzVerschlingungComputeranimation
Demoszene <Programmierung>Kooperatives InformationssystemBefehlsprozessor
Kooperatives InformationssystemDemoszene <Programmierung>DurchflussPunktwolkeGoogleSystemplattformEIBDurchflussFunktion <Mathematik>KlumpenstichprobeComputeranimation
DatenflussDekompositionOpen SourceFunktion <Mathematik>Open SourceDekompositionGeodätische LinieKeller <Informatik>StreuungsdiagrammMikroarchitekturComputeranimation
Vorlesung/Konferenz
Computeranimation
DDE
Transkript: Deutsch(automatisch erzeugt)
Herzlich willkommen noch mal zum dritten Tag auf der FOSGIS 2020 in Freiburg. Container-basiertes Arbeiten ist ja in den letzten Jahren schwer in Mode gekommen. Momentan wird ja alles geklastert, was geht.
Und natürlich kann man das auch mit Geodaten machen. Wie das funktioniert auf Kubernetes, das erklärt uns jetzt Richard Bischoff. Ja, guten Morgen nach Freiburg. Hier ist Richard Bischoff aus Niedersachsen. Ich freue mich, dass ich trotz der aktuellen Situation den Vortrag halten darf. Ich arbeite beim Landesamt für Geoinformation und Landesvermessung in Niedersachsen
und habe mich im Rahmen einer Abschlussarbeit eines Studiums das letzte halbe Jahr mit dem Thema skalierbare Plattformen zur Verarbeitung von Geodaten auf Basis von Kubernetes auseinandergesetzt. Meine Erkenntnisse möchte ich heute kurz teilen mit Ihnen oder mit euch.
Was ist die Motivation? Na, wir möchten versuchen, den Durchsatz der Geodatenverarbeitung durch horizontale Skalierung zu steigern. Was bedeutet das? Auf der linken Seite sehen wir jetzt eine Darstellung von vielen Rastadaten, die wir verarbeiten möchten, woraus wir neue abgeleitete Daten erzeugen möchten.
In diesem Kontext wird also jede Rastadatei durch eine bestimmte Funktion zu einer neuen Rastadatei verarbeitet. Die Idee ist, wenn wir eine Instanz dieser Funktion laufen haben, können wir nur eine begrenzte Menge von abgeleiteten Rastadaten erzeugen.
Und eigentlich wäre es ja ganz cool, wir erhöhen einfach die Anzahl der Funktionsinstanzen und können dadurch auch den Durchsatz der neu erzeugten Rastadaten steigern. Man kann sich das Ganze so ungefähr vorstellen, wie wenn man eine Autobahn baut,
dass eine Autobahn mit drei Spuren natürlich mehr Autos pro Zeit transportieren kann, als wenn man nur eine Spur hat. Gleichwohl gibt es bestimmte Aufgaben oder bestimmte Situationen, wo auch bei drei Spuren beispielsweise eine Tankstelle einen begrenzenden Faktor darstellen könnte.
Das Ganze habe ich an einem Anwendungsbeispiel konzipiert, und zwar anhand des Datenbestandes des Kampfmittelbeseitigungsdienstes Niedersachsen, wo wir 130.000 Rastadaten, panchromatisch 8-Bit, ungefähr 10.000 x 10.000 Pixel vorliegen haben
und aus diesen rektifizierte Rastadaten erzeugen müssen, die dann für die Luftbildauswertung herangezogen werden können. Das Feld, was auch über das vorgestellte Konzept abgearbeitet werden kann,
ist beispielsweise die fotogrammetrische Analyse, genau der gleichen Rastadaten, wo wir versuchen, eine Detektion von Objekten auf diesen Rastadaten vorzunehmen. Ich habe mich in diesem Beispiel und auch mit dem, was ich heute Ihnen oder euch vorstellen möchte, hauptsächlich auf den Part der geometrischen Transformation beschränkt,
habe aber in meiner Ausarbeitung dazu auch die fotogrammetrische Analyse abgedeckt. Die Datenverarbeitung im Kontext der IT müssen wir ja auch mal ein bisschen über den Tellerrand sehen.
Beispiel, gerade bei der Verarbeitung von Geodaten haben wir es mit einer vergleichsweise großen Datenmenge zu tun. Zum Beispiel Fernerkundung. Gleichwohl gibt es auch in dem Kontext der IT die Forderung nach der Konsolidierung und dem Einsatz von marktüblichen Technologien.
Im Kontext der IT wird gerade in den letzten Jahren verstärkt auf Cloud Computing gesetzt. Die Vorteile nach Bitcom Research dafür sind zum Beispiel schnellere Skalierbarkeit, verteilter Zugriff auf Ressourcen, hohe Effizienz. Gleichwohl sind Behörden und staatliche Organisationen doch eher zögerlich bei der Adaption.
Gleichwohl steht dem natürlich ein wachsender Innovationsdruck durch die Digitalisierung Rechtsansprüche von Bürgern auf digitale Services entgegen. Also es gibt eine große Motivation Architekturen und Technologien des Cloud Computing
für unsere Problemstellung anzuwenden. Wenn wir so eine skalierbare Geodatenverarbeitung jetzt also in einem System und auch in einem Systemkontext sehen, dann stellen sich heraus, dass wir vor allem auf Desktop-GIS oder Web-GIS mit diesen interoperabel sein müssen.
Glücklicherweise gibt es dort OGC-Webstandards und HTTP bzw. HTTPS haben sich bereits als Protokolle etabliert. Bezogen auf das System müssen wir auch unterschiedliche Aspekte beachten. Das eine ist einmal die Verarbeitungskomponente,
die idealerweise eine polyglote Implementierung ermöglichen soll, was so viel bedeutet, dass sie in vielen Programmiersprachen möglich sein muss, damit man eben auch bestimmte Frameworks, die für eine bestimmte Programmiersprache existieren, einsetzen kann. Die Verarbeitung erfolgt natürlich nicht immer permanent mit dem gleichen Durchsatz,
sondern durch bestimmte Ereignisse wird erst eine Verarbeitung ausgelöst. Das führt dazu, dass bestimmte Verarbeitungen in einer kurzen Zeit durchgeführt werden müssen und über einen längeren Zeitraum hin vielleicht auch gar keine Verarbeitung notwendig ist.
Glücklicherweise sind diese Verarbeitungen meistens statuslos. Also Eingabe muss einfach zu einer Ausgabe verarbeitet werden. Und die Implementierung erfolgt meist von Domainenexperten, also Experten für Fernerkundung oder Bildanalyse.
Die Datenhaltung muss vor allem Rastadaten berücksichtigen. Ein Beispiel dafür sind die Geotips. Und im Fall des KBD haben wir ungefähr 400.000, also 130.000 mal 3 Datensätze mit jeweils 100 Megabyte, sodass wir insgesamt auf 40 Terabyte kommen.
Bei den Rastadaten handelt es sich meist um Write-Once-Read-Many-Zugriffe, was bedeutet, eine Rastadatei wird meist nur einmal geschrieben und dann häufiger abgerufen. Nicht zu vernachlässigen sind dabei dann natürlich auch betriebliche Aspekte, wie zum Beispiel das Monitoring der einzelnen Komponenten, Resilienzaspekte, Security, Wartbarkeit, etc.
Um diese ganzen Anforderungen jetzt in ein System zu gießen, ach so, andersrum, bei der Verarbeitung und der Datenhaltung,
wenn wir uns nochmal auf diese beiden Aspekte beschränken, gibt es für die Verarbeitung genau mit diesen Anforderungen, die dort aufgeführt sind, das FAS Modell Function as a Service, wo also genau für diese Anwendung Cloud-Anbieter bestimmte Lösungen schon geschaffen haben.
Ein Beispiel sei hier mit Amazon Lambda genannt. Für Datenhaltung mit genau diesen Anforderungen werden meist Object Stores eingesetzt. Ein Beispiel dafür wäre das Amazon AWS S3 Simple Storage aufzuführen.
Der Entwurf jetzt, um ein verteiltes System mit Object Store und FAS aufzubauen, sieht also vor, dass wir Object Store und FAS als Container aufsetzen. Mithilfe eines Service Meshes können wir die Komplexität der Implementierung der FAS Funktion reduzieren und natürlich immer, wenn man Container auch in einer Produktionsumgebung letztendlich betreiben möchte,
sollte man nicht auf die weit verbreiteten Docker Compose etc. Frameworks eingehen, sondern man sollte tatsächlich dann etwas verwenden wie Kubernetes, also ein Framework, was speziell für den produktiven Einsatz auch von Containern gedacht ist.
Wenn wir diese FAS und Object Stores, wenn wir da auf die Suche gehen nach verfügbarer Open Source Software, dann finden wir Min.io als Object Store, Open FAS als FAS Komponente und als Service Mesh Linkaddy, die sehr einfach auf Kubernetes zu betreiben sind.
Glücklicherweise erfolgt auch die Kommunikation dieser einzelnen Komponenten fast ausschließlich über HTTP, so dass die Kommunikation innerhalb des Clusters sehr einfach zu managen ist und diese Komponenten auch von außerhalb, nämlich von unserem Geoinformationssystem, gut eingebunden werden können.
Auf der rechten Seite ist jetzt mal der schematische Ablauf einer Verarbeitung von Geodaten.
Da ist uns wohl gerade der Ton weggebrochen. Kannst du uns noch hören? Anscheinend nicht. So, wir sehen dich wieder.
Können Sie mich wieder hören? Ja. Soll ich weitermachen? Ja, gerne. Okay, also die FAS Komponente instanziert eine Funktionsinstanz,
die mithilfe der übergebenen UL des Objects dieses Object aus dem Object Store lädt und verarbeitet. Das Ergebnis der Verarbeitung kann, wenn es zum Beispiel eine neue Rastadatei ist, wiederum im Object Store gespeichert werden und die Funktion gibt als Rückgabewert die UL des gespeicherten Objektes zurück.
Anschließend kann das GISS nun die neu erzeugte Rastadatei aus dem Object Store laden. Um jetzt genauer mal auf den Object Store Minio einzugehen, möchte ich kurz darlegen, welche Funktionalitäten dieser bietet.
Also grundsätzlich ist er unter der Apache 2.0 Lizenz verfügbar, hat relativ viele Git commits auf GitHub und auch ziemlich viele Stars. Als Funktionalitäten implementiert er hauptsächlich das S3 Interface oder die S3 API,
sodass er auch kompatibel ist zur Implementierung anderer Object Stores. Deshalb ist er auch gut einsetzbar als Gateway für zum Beispiel AWS, S3 oder Google Cloud Storage. Er bietet einen expliziten Worm-Modus, bei dem also transaktionale APIs beim Zugriff auf die Objekte ausgeschaltet werden.
Zusätzlich bietet er Funktionalitäten noch wie Verschlüsselungen, Sharding oder Replikation der Daten. Für Python, JavaScript, Java und .NET und viele andere Programmiersprachen gibt es SDKs.
Und zusätzlich noch ein Command Line Interface, MC. Auf der rechten Seite sehen Sie jetzt einmal die Web GUI. Sie sehen auch, dass ich die bei mir lokal aufgesetzt habe. Hier in der linken etwas dunkleren Spalte ist ein sogenannter Bucket, also ein Ordner zu sehen,
der rechts dargestellt drei Objekte gerade enthält. Nämlich einmal unser Ausgangs-Image, dann das gekrobte Image und dann das defizierte Image. Über die Commando-Zeile kann ich jetzt auf Min.io zugreifen
und mir jetzt beispielsweise hier für diesen Bucket alle Objekte anzeigen lassen. Die nächste Komponente ist OpenFast. Rechts dargestellt sehen Sie schon einmal die Web GUI und auch schon in der linken Spalte deployte Funktion.
OpenFast ist ebenso wie Min.io ein relativ weit verbreitetes Framework, hat ungefähr 2000 Commits auf GitHub und bietet die Möglichkeit, Fast-Funktionen als Docker-Container zu erstellen und zu verwalten, zu deployen, zu monitoren etc. Templates bestehen für viele Programmiersprachen, darunter zum Beispiel Java und Python.
Es gibt aber auch die Möglichkeit, über eigene Docker-Files entsprechende Templates zu erzeugen. Möglich sind natürlich auch synchrone und asynchrone Ausführungen der Funktion und ScaleToZero oder ScaleFromZero.
Auch OpenFast bietet ein Commando-Zeilen-Interface, mit dem ich mir jetzt hier einmal dargestellt, alle deployten Funktionen ansehen kann. Und Sie sehen auch schon, dass ich für meine Funktion zur Generierung der rektifizierten Kriegsluftbilder
entsprechende GDAI-Funktion dort deployed habe. Abgerundet wird dieses Deployment also vom Service Mesh Linkaddy. Auch dieses hat ziemlich viele Commits auf GitHub, entsprechend auch viele Stars und bietet vor allem Funktionalitäten im Backend für das Routing von Traffic,
für die Verschlüsselung, Retries, Timeout, Circuit Breaking etc. Telemetrie und Monitoring sind also deshalb auch direkt mit Build-In sozusagen. Realisiert wird das Ganze durch der Sidecar-Pattern. Die Idee, die bei dem Sidecar-Pattern besteht, ist, dass zu jedem Funktions-Container,
also einem Fast-Container beispielsweise, ein sogenannter Service Mesh-Proxy hinzugefügt wird, der jeglichen Eingangstraffic in einen Pod übernimmt, diesen Traffic verarbeitet
und weitergibt an den Funktions-Container. Das Ergebnis der Funktion wird wieder über den Proxy dann nach außen geleitet. Interessant ist dieses Pattern deshalb, weil es transparent für Entwickler arbeitet und automatisch diese Service Mesh-Proxys in bestehende oder neu instanzierte Pods injectet.
Als Format für die Rastadaten bietet sich natürlich in diesem Fall das Cloud Optimize GeoTIF an. Dieses ist also eine Erweiterung für das TIFF und auch fürs GeoTIF und enthält gekachelte und verlustfrei komprimierte originale Rasta
und zusätzlich gekachelte und verlustbehaftet dafür aber hoch komprimierte Pyramiden. In Kombination mit HTT Range Requests, die von S3 Object Stores unterstützt werden, kann also in einem mehrstufigen Verfahren immer genau derjenige Bildbereich aus dem Rasta übertragen werden,
der für die aktuelle Anzeige relevant ist. Ein Beispiel, bei einem Bild mit 10.000x10.000 Pixeln können auf einem Full-HD-Monitor ohnehin nur 30% der Pixel angezeigt werden. Der Rest kann überhaupt gar nicht dargestellt werden.
Im ersten Schritt werden also die Metadaten aus dem TIFF-Header übertragen und gepasst und anschließend können dann über diese Range Requests die entsprechenden Byte-Abschnitte für die jeweilige Anzeige übertragen werden. Ein Nachteil, der dabei natürlich entsteht und berücksichtigt werden muss,
ist, dass sich der Speicherbedarf um ungefähr ein Drittel erhöht. Jetzt kommen wir schon zur Demo. Ich möchte zeigen, wie ich also jetzt hier von einem linken eingescannten Kriegsluftbild über den Aufruf einer FAS-Funktion, die GDAL Translate enthält, zu einem gekrobten Bild komme
und dieses gekrobte Bild dann über Passpunkte und die Anwendung von GDAL Warp zu einem rektifizierten Bild ableite. Was Sie jetzt hier sehen, ist einmal die Oberfläche von Min.io.
Und zu sehen ist auch, dass hier jetzt einfach die erste TIFF-Datei, die also das originale Bild enthält, vorhanden ist. Hier in der Oberfläche von OpenFAS sehen Sie jetzt, dass sich unterschiedliche Funktionen deployed haben. Dazu gehört zum Beispiel hier die GDAL Cop-Funktion.
Diese Funktion werde ich jetzt über die Kommandozeile einmal ausführen. Dazu habe ich hier eine JSON-Datei erstellt,
die einmal den Pfad des Bildes im Object Store enthält, sowie die Parameter, wo das Bild zugeschnitten werden muss. Diese Parameter werden dann von GDAL Translate verwendet. Dazu übermittel ich einfach diese Datei an die FAS-Funktion.
So, das Ergebnis sehen wir hier. Wir bekommen also ein JSON-Objekt zurück,
welches wiederum den Pfad enthält, wo jetzt das neue Raster vorliegt. Dazu gehe ich jetzt wieder in den Min.io Object Store, aktualisiere einmal die Seite und wir sehen, dass er jetzt hier ein neues Tip angelegt hat mit dem Namen Cop.
Dieses werden wir jetzt als Eingangsdatensatz verwenden für die GDAL Warp-Funktion. Auch dazu habe ich eine entsprechende Datei erstellt, die die benötigten Verarbeitungsparameter enthält, wie beispielsweise den Grad der Transformation, Passpunkte und auch hier den Namen des Eingabedatensatzes.
Und auch hier bekommen wir als Rückgabewert nun einen Pfad,
an dem das neue Rektifizierte Raster vorhanden ist. Ich gehe wieder in Min.io, aktualisiere die Seite und wir sehen auch, das hat geklappt. Wir haben hier das Rektif, welches wir nun benutzen können und welches wir über den zurückgegebenen,
bekommenen Link in Kugis zum Beispiel einladen können. Dazu starte ich einmal fix Kugis.
So, wir sehen, dass wir hier jetzt einmal schon ungefähr auf Niedersachsen gezoomt sind. Ich gehe zurück in die Kommandozeile, kopiere mir hier einmal entsprechend den Pfad des Rektifizierten Tips, gehe über Layer, Layer hinzufügen, Rasterlayer hinzufügen
und wähle Protokoll HTTP aus. Füge den Link nun in die URI ein und klicke auf hinzufügen. Wir sehen, hier im Layer-Bereich von Kugis ist dieser neue Datensatz aufgetaucht und ich zoome mal auf diesen.
Zack, da ist das Bild schon da. Und wir können auch sehen, dass die Übertragungsgeschwindigkeit ich würde mal sagen, annehmbar ist. Dazu mache ich noch mal eben diesen Hintergrund weg. So, dass es also jetzt sehr einfach möglich ist,
dieses Tip direkt aus dem Object Store in Kugis einzuladen. So, zur Evaluation dieses Ansatzes habe ich auch Experimente durchgeführt, die sich vor allem auf die
Skalierung und die Auswirkungen auf den Durchsatz beziehen. Interessant bei diesem ganzen Ansatz ist natürlich, wenn ich Arbeitslasten habe, die über die Workload meines Clusters hinausgehen. Dazu benötige ich ungefähr eine Minute und 12 Sekunden, um einen weiteren Node zu meinem Cluster hinzuzufügen.
Interessant ist natürlich auch, wie schnell neue Funktionen deployed werden. Das dauert zwischen 10 und 30 Sekunden etwa. Aufgrund der Zeit möchte ich einfach mal weiter gehen. Fazit und Ausblick, also vorgestellt, habe ich heute eine skalierbare Verarbeitung von Geodaten mit Kubernetes.
Dieser Ansatz löst Probleme des hohen Zeitaufwandes für die Verarbeitung und natürlich auch für die fehlende Anpassungsfähigkeit bestehender Architekturen. Durch Open Source Software sind vielzahlige Deployments möglich. Also beispielsweise können Sie einen Kubernetes-as-a-Service
in der Public Cloud nutzen, aber Sie können natürlich auch, weil Kubernetes auch Open Source ist, diesen ganzen Stack bei sich on-premise deployen. Mögliche weiterführende Handlungsfelder sind die Integration in Giz, zum Beispiel, dass Object Stores als Datenprovider in QGIS angeboten werden, oder auch für Function-as-a-Service direkte Toolboxen
vorhanden sind. Interessant wäre auch noch die Dekomposition von Funktionen weiter zu untersuchen. Dazu existiert ein Projekt, was auch auf Open Farce basiert. Weitere Anwendungsfälle, wofür dieser Ansatz verwendet werden könnten, wären beispielsweise die Klassifikation von Fernerkundungsdaten oder die Generierung von Teils
für Visualisierung, beispielsweise Vector-Teils oder Raster-Teils. Damit bin ich durch und ich bedanke mich recht herzlich für eure Aufmerksamkeit.
Richard, vielen Dank für diesen sehr interessanten Vortrag. Ich denke mal, der eine oder andere wird eine Frage an Richard haben. Dem ist gerade noch nicht so.
Richard, du hast ja vorhin kurz angesprochen, dass das cloudbasierte Arbeiten in den Verwaltungen nur sehr zögerlich einzuhalten. Weißt du, woran das liegt? Technisch würde ich sagen, gibt es da wenig
Hinderungsgründe. Das meiste sind eher gefühlt weiche Faktoren, die diesen Einsatz noch erschweren.