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

Visualisierung und Analyse von Satellitenbildern mit der EnMAP-Box

00:00

Formal Metadata

Title
Visualisierung und Analyse von Satellitenbildern mit der EnMAP-Box
Title of Series
Number of Parts
107
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Erdbeobachtungsdaten von Satellitenmissionen wie Landsat, Sentinel-2 und seit kurzem auch hyperspektralen Missionen wie EnMAP stellen eine immer wichtigere Grundlage für raumbezogene Analysen dar. Unsere Demo-Session stellt die neuesten Möglichkeiten der EnMAP-Box vor, mir der in QGIS die Rasterdaten solcher Fernerkundungsmissionen schnell und effizient visualisiert und professionell analysiert werden können.
Keywords
NeWSMathematical analysisInformationLink (knot theory)SoftwareEmailVisualization (computer graphics)Value-added networkEnergieLinseWeb pageDemosceneLevel (video gaming)Project <Programm>SatelliteComputer animation
UpdateVersion <Informatik>Home pageMicrosoft NetworkVisualization (computer graphics)Level (video gaming)Zoom lensHypercubeMultiplicationField extensionMetadataDerived set (mathematics)IndexCREATOR <Programm>Linear regressionCalculationGraphical user interfaceGoogleData managementVersion <Informatik>Visualization (computer graphics)SoftwareInformationProcessing <Programmiersprache>Staff (military)Plug-in (computing)Machine learningService PackComputer animation
Anordnung <Mathematik>Hungarian Academy of SciencesLevel (video gaming)Hard disk driveGoogle MapsComputer animation
LINUXGoogleDownloadMPCMenu (computing)Mach's principleDrop (liquid)InformationSatelliteComputer animation
Drop (liquid)9 (number)Data modelSQLGoogleGoogle MapsSummationMusical ensembleMusical ensembleBendingComputer animation
Musical ensembleGoogle MapsDrop (liquid)ModenGoogleSource codeDVDCrash (computing)World Wide WebInformationPixelMusical ensembleSanitary sewerNetwork-attached storageForestWorkstation <Musikinstrument>Level (video gaming)Default (computer science)Keyboard shortcutComputer animation
Visualization (computer graphics)HypercubeMultiplicationField extensionMetadataDerived set (mathematics)IndexCREATOR <Programm>Linear regressionCalculationGoogleGraphical user interfaceZoom lensMathematical analysisMusical ensembleCursor (computers)Single-precision floating-point formatGoogle MapsPixelRML <Programmiersprache>World Wide WebEmailComputer musicCASHEGeometryWeb browserPerimeterDirection (geometry)SatelliteComputer animation
Musical ensembleDrop (liquid)GoogleHTTPData modelPixelLISPWorld Wide WebModemISPZoom lensLokation <Statistik>File viewerWEBPixelComputer animation
Zoom lensLandau theoryMusical ensembleSingle-precision floating-point formatCursor (computers)Milan <Programmiersprache>Drop (liquid)Source codeSpektrum <Mathematik>User profileMusical ensembleArmComputer animation
Zoom lensMacro (computer science)ModenMusical ensembleMilan <Programmiersprache>MAKROSSource codeWorld Wide WebDrop (liquid)Apple <Marke>Musical ensembleLevel (video gaming)Computer animation
Milan <Programmiersprache>Zoom lensSingle-precision floating-point formatCursor (computers)Musical ensembleLandau theoryMacro (computer science)World Wide WebICONGoogleDrop (liquid)BendingMPCPixelData modelDownloadMono-FrameworkSource codeHard disk driveAlgorithmStack (abstract data type)SphereComputer animation
GoogleDrop (liquid)PixelData modelMusical ensembleSource codeMASGame theoryRAMSampling (statistics)Level (video gaming)SatelliteLiniePoint (geometry)Mach's principleFile viewerPixelWalkthroughComputer animation
Musical ensembleDownloadWorld Wide WebDrop (liquid)Data modelSCSIHTTPSource codeGoogle MapsSampling (statistics)Adaptive behaviorMusical ensemblePlotterArmMultiplicationComputer animation
Zoom lensMAKROSWorld Wide WebProcessing <Programmiersprache>Linear regressionSampling (statistics)VECTOR <Programm>Musical ensembleDrop (liquid)Web browserPixelUser interface9 (number)Moving averageArmAlgorithmInformationSampling (statistics)Resampling (statistics)Computer animation
Linear regressionFinite element methodZoom lensProcessing <Programmiersprache>World Wide WebMusical ensembleDrop (liquid)Source codeVacuumIndexBlu-ray DiscSystem dynamicsMagnetic stripe cardExterior algebraSample (statistics)PositionComputer wormMicrosoft Solutions FrameworkData modelNumberSet (mathematics)Musical ensembleDerived set (mathematics)HöheInterface (chemistry)IndexForm (programming)Logic gatePressure volume diagramSpectre <Programm>Computer animation
PlotterDrop (liquid)Musical ensembleParameter (computer programming)Plug-in (computing)PixelIndexBlock (periodic table)Personal digital assistantRAPiD <Programm>AlgorithmPhysical quantitySpectre <Programm>Computer animation
Drop (liquid)Musical ensembleZoom lensPlotterSimulationInterleavingGoogle MapsGoogleWorld Wide WebSource codePointer (computer programming)Musical ensembleSoftware developerMetadataComputer animation
Musical ensemblePlotterZoom lensHistogramGoogleInterpolationSingle sign-onSource codeComa BerenicesWorld Wide WebStatistikerMusical ensembleHistogramMachine learningComputer animation
HTTPMusical ensemblePlotterUpdateZoom lensMilan <Programmiersprache>ICONWorld Wide WebInterpolationLevel (video gaming)GoogleSource codeComputer wormEstimationLevel (video gaming)HistogramLinieProduct (category theory)PlotterMusical ensemblePredictionVector graphicsComputer animation
Musical ensembleZoom lensCodeSummationTime seriesVisualization (computer graphics)ZeitreiheArmComputer animationMeeting/Interview
AlgorithmGeneric programmingVisualization (computer graphics)Level (video gaming)ZahlWiener filterZeitreiheInformationStack (abstract data type)NmapComputer animation
Set (mathematics)ImplementationNormaleProject <Programm>Generating functionMeeting/Interview
Musical ensembleAMOS <Software>LISPCodeoutputBeta functionMoving averageString (computer science)YES <Computer>GNU <Software>Google MapsMono-FrameworkGoogleWorld Wide WebPerturbation theoryMusical ensembleVolumenvisualisierungEmailIndexVariable (mathematics)MetadataBerechnungGUI widgetVirtual memoryCodeProduct (category theory)Noten <Programm>Bus (computing)Raster graphicsHausdorff spaceSequenceCodeRandComputer animation
CodeSummation9 (number)Milan <Programmiersprache>Zoom lensSurfaceProduct (category theory)SatelliteComputer animation
Drop (liquid)File viewerLevel (video gaming)GoogleComputer wormPixelDemosceneProject <Programm>CLOU <Programm>Level (video gaming)PixelLokation <Statistik>InformationCanvas <Programm>ARCHIVE <Programm>Google MapsMusical ensembleComputer animation
EXCELHTMLWAPDemosceneLevel (video gaming)World Wide WebIndexApple <Marke>Mach's principleWEBComputer animation
ACCESS <Programm>DDR SDRAMNmapWEBDepictionZeitreihePoint (geometry)PixelLocal ringFiltrationComputer animation
Dependent and independent variablesForestDemosceneSupremumComponent-based software engineeringGoogleReading (process)Computer animationLecture/ConferenceMeeting/Interview
World of WarcraftWorld Wide WebGraphical user interfaceDrop (liquid)Route of administrationVolumenvisualisierungHigh availabilityDirection (geometry)Web browserProduct (category theory)Computer animationLecture/ConferenceMeeting/Interview
Transcript: German(auto-generated)
Kann man mich hören? Ja, man kann mich hören. Schönen guten Tag. Ich hoffe, Sie haben gut zum Mittag gegessen. Willkommen zu unserer... Ach so, ich muss ins Bild gehen. Ja, das macht Sinn. Hallo, schönen guten Tag. Ich bin Benjamin Yakimov. Ich leite jetzt hier die dritte Demo-Session des Tages.
Ich hoffe, Sie haben gut zum Mittag gegessen. Wir hören jetzt einen Vortrag von Andreas Janz zum Thema M-Batbox. Ein Projekt, in das ich auch selber involviert bin, aber heute höre ich einfach nur zu. Genau. Und falls Fragen aufkommen, können Sie sich die merken.
Und wenn Sie sofort in die Venueless-App eingeben, dazu haben Sie einen Link erhalten, der Ihnen per E-Mail zugesendet wurde gestern oder vorgestern. Und da können Sie Fragen sammeln und auch diskutieren, wenn Sie wollen. Das ist gut. Das können nämlich dann auch unsere Zuschauer in der Ferne, die jetzt bloß die Aufzeichnung sehen,
mitlesen und auch selber dort Fragen stellen. Genau. Der Vortrag geht jetzt 45 Minuten lang und danach haben wir noch fünf, sieben Minuten für die Fragen. Gut, dann ja. Andreas. Ja, also ich kann auch anbieten, wenn wir es ein bisschen lockerer machen wollen, zwischendurch ist vielleicht was Interessantes, wo ihr noch eine Zwischenfrage habt, dann können wir auch spontan Fragen erlauben.
Ist ja eine Demonstration, kein strikter Vortrag. Meinetwegen auch das. Gut. Gut, ich starte. Ja, hallo von meiner Seite. Herzlich willkommen.
Toll zu sehen, wie viel Interesse an Rasterverarbeitungssoftware auf einer GIST-Konferenz doch vorhanden ist. Freut mich. Wie Benjamin schon gesagt hat, an dem MAP-Box-Projekt arbeitet Benjamin, ich als Hauptentwickler. Der Sebastian van der Linden sitzt hinten noch im Publikum, der ist da auch mit dabei und unterstützt konzeptionell
und macht ganz viel politisch auf der politischen Seite mit ganz wichtiger Kollegen. Gut, was wir hier sehen, ist die NMAP-Projekt-Webseite. Also gleiches Wort NMAP, das ist die Satellitenmission, eine deutsche Hyperspektralsatellitenmission,
wo wir mit involviert sind für die Entwicklung einer Software zur Verarbeitung, Analyse, Visualisierung der Daten, die der NMAP-Satellit bereitstellt. Der ist letztes Jahr im April gestartet. Ab November kann man frei die Daten beziehen vom NMAP-Data-Portal,
was ich jetzt, ja, kann ich kurz mal zeigen, wie das aussehen würde. Das ist nochmal ein extra Portal, da kann man sich anmelden und dann kommt man an seine Daten, die man dann herunterladen kann.
Genau, und ich stelle heute die NMAP-Box-Software vor. Das ist ein QGIS-Plugin, kann man aus dem Plugin Manager heraus auch finden und installieren, wenn man es richtig schreibt.
So, NMAP-Box 3, genau, das aktuelle Stable ist in der Version 3.11 und wir laden aber auch immer zwischen der Developer-Version hoch, wenn da Bugfixes sind, dass die Leute es auch schnellstmöglich dann ausprobieren können.
Genau, nachdem man es installiert hat, aktiviert hat, gibt es hier einen neuen Button, damit startet man die NMAP-Box. Es gibt auch noch ein paar weitere Tools, die sich direkt in die QGIS -Oberfläche integrieren, aber für die eigentliche NMAP-Box gibt es dann ein neues Hauptfenster.
Und da bewegen wir uns heute hauptsächlich drin. Genau, ich habe hier auch noch einen Spickzettel für mich, was wir heute eigentlich alles machen wollen. Wenn ihr die Vortragsbeschreibung gelesen habt, das sind so die Hauptpunkte.
Also wir gucken uns Datenmanagement, Visualisierung an, spektrale Informationen, Speckle-Indices, ein bisschen maschinelles Lernen werden wir sehen und Raster-Processing ist auch dabei. Gut, lasst uns mal starten. Was wir hier zuerst sehen sind verschiedene Panels.
Also wir haben hier so einen Panel für Organisationen von Datenquellen und Datenviews und zum großen Bereich, da können wir jetzt verschiedene Views anordnen. Also ich kann jetzt mal einfach einen leeren Map-View aufmachen und sagen, ich möchte hier einen Hintergrund-Layer.
Da ist gerade aktuell eingestellt. Einfach Google Maps. So und jetzt war ich auf einem von den üblichen Datenportalen, habe mir eine Satellitenszene runtergeladen und die liegt jetzt erst noch auf meiner Festplatte irgendwo rum. Können wir ja mal ein Nmap-Bild aufmachen. Level 2a bedeutet, das
ist schon georeferenziert und die Atmosphäre ist schon, Atmosphärenkorrektur hat schon stattgefunden. So und jetzt sind wir erstmal vielleicht ein bisschen erschlagen von dem, wie so ein Produkt eigentlich aussieht. Da gibt es ganz viele Files. Man erkennt hier TIFF-Files, die könnte man
auch direkt in Kugis öffnen, sich anschauen, aber genau, das ist nicht das Optimale. Besser wäre, man nimmt die Nmap-Box, die fügt dann gleich noch ein paar sinnvolle Informationen an diese Szene ran.
So mit der Nmap-Box haben wir hier so ein spezielles Panel. Da kann ich sagen, ich habe hier so ein Satellitenprodukt und da lasse ich das einfach mal drauf fallen. So und auf einmal habe ich eine neue Datenquelle hier bei mir in der Ansicht. Warum sind die denn hier?
Entschuldigung, so sollte das jetzt eigentlich aussehen. Ich glaube, ich habe hier noch eine zweite Nmap-Box offen gehabt.
Also nochmal, ich mache ein Map-View, ich lege mir hier mal ein Hintergrundlehrer rein und dann ziehe ich mir mal meine Nmap-Szenen rauf. So wie man es von Kugis kennt, kann man da direkt hinspringen. Mal ein bisschen rauszoomen, gucken wo man ist. Was ist das hier? Japan?
So, ok, was hat er jetzt hier gemacht? Hat mir jetzt irgendwelche Bänder genommen und ich sehe schon mal was. Also er nimmt hier Band 1, 2, 3. Das ist beim Hyperspektralbild nicht so schlau, weil die hoch korreliert sind und dann kriegt man hier halt bloß so ein Graustufenbild.
Besser ist, man sucht sich ein paar schönere Bänder. Das sollte eigentlich nicht so lange dauern.
Als erstes können wir einfach mal in so einen Pixel reinpiken und dann sieht man, hinter jedem Pixel verbergen sich ganz viele Informationen. Also zu ganz vielen Wellenlängen haben wir jetzt Messwerte und hinter jedem dieser Datenpunkte liegt halt ein komplettes Band, Rasterband.
Und die werden jetzt hier auch schön gegen die Wellenlänge geplottet. Es ist ein optisches Bild. Jedes Band hat eine zentrale Wellenlänge, zu dem es gehört. Und hier gibt es auch mal Bereiche, wo wir keine Daten haben, weil da atmosphärisch nicht viel an Signal durchkommt. Ok, nun haben wir das geladen und ein schönes Panel, was wir eingeführt haben, ist das Rasterlehr-Styling-Panel.
Das kennt diese Spektralinformation und gibt uns auch gleich ein paar interessante Shortcuts. Also ich kann sehr leicht das Infrarotband anspringen und das kurzwellige Infrarot und das rote Band.
Und das ist so eine ganz beliebte Falschfarbdarstellung für optische Daten. Es gibt so ein paar vordefinierte Sachen, also wenn ich auf Vegetation gucke oder was haben wir hier?
Agriculture. Ja, das sind ein paar vordefinierte Bänder. Ich weiß gar nicht, warum die hier so hakelig ist bei mir. Gut, ok. Ich gehe mal wieder auf meine Einstellung zurück.
So, jetzt könnte einen ja interessieren, was sind eigentlich so die Werte hinter den einzelnen Pixeln. Dafür gibt es ein Map-Tool, Informations-Tool hier.
Und so, da würde ich jetzt als Default die drei Kanäle, die ich ausgewählt habe, sehen. Welche Reflektionswerte verbergen sich da? Ich könnte es auch umstellen auf, dass ich alle sehen will. Und dann habe ich im Prinzip die gleiche Information, die ich hier grafisch habe, nochmal als Text-Output.
Genau, gucke ich mal auf meinen Spickzettel. Ah, als allererstes wollte ich ja was ganz anderes machen. Nämlich mit dem Location-Browser wollte ich ja mal nach Adlershof gehen.
Ja, das ist auch eine lustige Geschichte, das habe ich implementiert. Mit der Nominatum-Geocoder und so. Und dann, als ich fertig war, habe ich festgestellt, dass es in Kugis das so ganz ähnlich auch schon gibt.
Aber, ja, Adlershof. So, dann wird es das hier ja wahrscheinlich sein. So ein Feature, was ich noch dazugefügt habe, ist, dass man das Ergebnis, was man bekommt,
kriegt man auch gleich die Feature-Geometrie. Also hier zu Adlershof sieht man auch gleich noch welchen Umfang das hat. Genau, wir sitzen irgendwo hier. Schrödinger Zentrum, hier Richtung.
Ja, genau, da sind wir. Okay, ich habe auch ein anderes Satellitenbild, was da in der Region liegt. Das kann ich ja einfach mal dazu legen.
Das wäre eine Landsat-5-Szene. Ja, die kann ich dann auch hier auf meinen Panel einfach raufziehen. So. Und dann kommt das da zum Liegen, was ich auch machen kann.
Das gibt es in Kugis. Ja, gibt es schon, dass ich mehrere Map-Views habe, aber wir waren da nicht ganz zufrieden mit, wie man die anordnen kann. Deswegen haben wir da unsere eigene Lösung noch mal implementiert. Ich nehme das hier mal noch mal raus.
Und wenn ich jetzt Side-by-Side beides sehen möchte, dann würde ich das in den zweiten Map-View legen. Die sind erstmal unabhängig voneinander, aber ich kann da sehr leicht sagen, verlinke die mal vom Zoom-Faktor und von der Lokation her. Und dann guckt man hier auf den gleichen Bereich.
Das würde ich jetzt natürlich dann auch mal nochmal schön machen. Warum ist das nicht schön? Wahrscheinlich habe ich ziemlich viele Wolken drin. Da muss ich ihm dann noch sagen, dass er nicht das ganze Bild nehmen soll.
Sieht das doch schon hübscher aus. Genau, was man auch noch ganz nett machen kann hier, wenn ich jetzt hier ein einzelnes Pixel anwähle von meinem Bild, dann kann ich mir das Fadenkreuz noch ein bisschen schöner machen und ihm sagen, er soll mir doch mal den Pixel Extent auch noch dazu anzeigen.
Und ist das schon ein bisschen hübscher. Und man kann das auch genauso hier in dem anderen View tun. Und dann würde ich genau sehen, wo kommt eigentlich dieses Landsat-Pixel auf dem Webmapservice zum Liegen.
Und dann macht sich das schon ganz gut. Ok, was haben wir noch Schönes? Ja, hier hatte ich mal eine Grafik rausgesucht, wer da noch nicht so vertraut mit ist.
Also verschiedene Sensoren. Das wäre das elektromagnetische Spektrum hier unten, also die Wellenlänge. Da haben wir ja auch das Profil gerade schon gesehen zu einzelnen Pixeln. Und hier sieht man mal, wo die Wellenlängen von zum Beispiel dem Landsat 5, das ist der Thematik-Mapper hier, der ist hier dargestellt.
Und was wir hier gerade sehen, ist ja die Nah-Infrarot, Kurzwelliges-Infrarot 1 und Rot. Und das wären diese Bänder hier. Hier ist das Kurzwellige-Infrarot 1, das Nah-Infrarot und das rote Band. Also die liegen hier an verschiedenen Stellen und haben auch verschiedene Breiten.
Und wenn ich jetzt mehrere dieser Sensoren gleichzeitig vergleichen will, auswerten will, analysieren will, dann könnte ich mir jetzt noch einen Sensor dazuholen. Dann mache ich mal noch ein Map-View auf.
So, packe ich den hin, packe ich mal da hin und da wollte ich reintun. Da wollte ich mal ein Sentinel-2-Bild reinlegen, habe ich natürlich alles auf meiner Festplatte.
So, das wäre eins. Ja, auch hier, das ist so ein komisches Daten-Folder, wo die Daten ganz verstreut liegen. Jetzt müsste ich mich mit beschäftigen, wie ich da erstmal einen Stack draus mache.
Kann man alles in Kugels machen, gibt es Algorithmen für, aber wenn man da jeden Tag mit Arbeit ist, einfach schöner. Man kann das hier rauf droppen und dann baut er das für mich halt zusammen. So, habe jetzt einen neuen View, deswegen muss ich den auch nochmal dazulinken, damit das wieder passt.
So, genau, jetzt gucken wir hier auf die gleichen Sachen. Was man jetzt hier sieht, Standard-Einstellung ist, ich klicke auf irgendeinem Pixel in einem Map-View und ich sehe das Profil dazu. Wenn ich aber jetzt beide Profile von den verschiedenen Satelliten sehen will, dann muss ich ein bisschen Setup-Aufwand betreiben.
Da gibt es ein spezielles Panel für. Und da sieht man auch, wo dieses Keyfold-Verhalten herkommt. Profile werden als grüne Punkte geplottet und er nimmt immer das erste Raster, was er finden kann.
Jetzt kann ich ihm aber explizit sagen, nehm mal immer das Landsat-Bild und mach nicht nur grüne Punkte, sondern mach auch noch eine Linie zwischen den Punkten. Und dann mach ich auch noch ein zweites Profil dazu und es soll in den gleichen Speck Review gezeichnet werden.
Aber diesmal nehme ich dann mein Sentinel-Bild und nehmen wir mal orange Punkte und auch eine Linie.
So, gucken wir mal, was da rauskommt. Hm, sieht ja schon mal doof aus. Warum ist das eine so klein hier unten? Kann ich mal versuchen, rein zu scrollen. Ja, sieht eigentlich wie ein Profil aus. Aber die Daten sind falsch skaliert. Also das ist ein Bug.
Eigentlich sollten die Sentinel-2-Daten auch zwischen 0 und 1 skaliert sein. Das findet aber gerade nicht statt, aber ich könnte das hier noch anpassen und ihm sagen, dividier das doch nochmal mit 10.000 und dann liegen die auch übereinander.
Und jetzt kann man direkt mal vergleichen. Die passen jetzt natürlich nicht so toll, weil es verschiedene Jahreszeiten sind, wo die Sachen aufgenommen wurden.
Aber für manche Profile sieht das doch ganz passend aus. Genau, ich kann auch nochmal schnell eine hyperspektrale Szene dazutun. Ich würde jetzt natürlich gerne N-Map nehmen, aber N-Map liegt ja in Japan, haben wir gelernt. Deswegen nehme ich mal eine Prisma-Szene. Schubsen wir hier auch auf. Das war die falsche Szene.
Das sind HE5-Files. Die kann man auch nicht so einfach in Kugis angucken, weil die komisch formatiert sind.
Da müssen wir auch beim Import noch ein paar Anpassungen vornehmen. Ich packe das jetzt einfach mal da drüber. Jetzt habe ich das falsche Bild gegriffen. Das wollte ich gar nicht haben.
Ich wollte das spektrale Bild. Und dann tue ich noch eine dritte Datenquelle dazu. Nämlich mein Prisma-Bild.
Gut, das lasse ich jetzt einfach mal. Grüne Punkte hatten wir schon. Nehme ich mal Hellblau. Jetzt sieht man mal ein hyperspektrales Profil und zwei multispektrale Profile nebeneinander.
Die liegen auch völlig woanders. Wenn ich mir das mit Kugis angucken würde in diesem Profile Viewer, dann würde ich ja mal gegen die Bandnummern plotten. Bei diesen orangen und grünen Profilen, die wären dann ganz vorne und das hyperspektrale würde noch ewig weitergehen, aber die würden gar nicht gleichzeitig Sinn machen in dieser Darstellung.
Also das wäre so ein Feature, was wir gerne auch in Kugis hätten, dass man an Bändern halt Wellenlängen anschreiben kann, damit so eine Plotts auch in Kugis möglich sind. Also viele Funktionalitäten, die ich hier zeige, das ist auch so ein Vorschlag an die Kugis Community,
ob man das nicht in Kugis direkt mal mit einbauen könnte. Okay, ja, das haben wir uns angeguckt, das haben wir uns angeguckt, genau als Info. Diese verschiedenen Daten könnte man jetzt auch ineinander umrechnen. Also ich könnte sagen, ich will aus meinen Prisma-Daten, die will ich auf die gleichen Wellenlängen resampeln
wie die Sentinel-Daten und da haben wir dann spezielle Algorithmen für. Ich muss hier mal was zumachen.
Genau, hier sieht man mal alle Algorithmen, die wir noch so dazu getan haben in die Kugis Processing Toolbox. Da ist so eine Gruppe wäre das Spektrale Resampling. Da haben wir ein paar prominente Sensoren, halt hard codiert, die kann man direkt auswählen. Also ich könnte sagen, resample das mal auf Landsat 5, Thematik Mapper,
könnte hier meine Prisma-Szene auswählen. Und hier unter Advanced würde man sogar sehen können, was genau er da tut. Also für den Zielsensor Landsat gibt es ein blaues Band und da ist explizit die Spektral Response Function funktioniert,
die benutzt wird, um dann die Sachen zu resamplen. Wenn man sich da auskennt, gibt es auch so ein Custom-Sensor-Algorithmus, wo man seinen eigenen Sensor definieren könnte und das würde dann auch funktionieren. Ok, das mal nur so als Rand-Information.
Genau, dann würde ich uns so etwas zum spektralen Indizes zeigen. Also spektrale Indizes, da gibt es ja jede Menge publizierte Indizes. Und die Idee ist, dass ich meinen großen Datenraum, den ich habe bei Spektraldaten, komprimieren kann.
Also wenn ich mich jetzt für Vegetationen interessiere, könnte ich einen Vegetationsindex ableiten. Und wenn mein Index hohe Werte hat, dann ist das ein Indikator, dass das eine vegetative Fläche ist. Und wenn es niedrige Werte sind, dann bin ich vielleicht in Wasserflächen oder in versiegelte Fläche, wo halt keine Vegetation vorkommt. Das funktioniert mal gut und mal besser.
Das muss man dann in seiner Applikation gucken, wie gut es funktioniert, aber wir haben das auf jeden Fall mal angeboten. Da gibt es eine Applikation für, die nennt sich der Spektral Index Creator. Da kriegt man hier eine ziemlich große Auswahl von über 100 dieser Indizes.
Also einer der bekannteren ist dann der NDVI. Zum Beispiel wäre der hier. Wenn ich da mal rüber huvere, dann kriege ich auch die Formel, nachdem der berechnet wird. Und dieses N und R steht für Nahinfrarotband und das rote Band hatten wir hier schon bei dem Styling mal gesehen.
Diese Shortcut-Buttons, die tauchten da auch auf. Kann ich ja noch mal kurz einblenden. So, das waren die hier.
Das sind die gleichen Bezeichner, die auch hier bei diesen Formeln benutzt werden. Und die MAP-Box findet diese Wellenlängen automatisch, weil ja die Wellenlängen an den Daten mit dranstehen. Und das kann man aber hier auch noch mal nachvollziehen bei Bandmapping. Wenn ich jetzt hier das Prisma-Build zum Beispiel auswähle, dann wird er die automatisch zuordnen.
Ja, Thermales Band hat er nicht gefunden, aber die anderen hat er gefunden. Und jetzt wäre es möglich, dass er das hier alles berechnet. Wir können ja mal den NDVI ausrechnen.
So, dann bekomme ich hier eine neue Datenquelle. Lege ich die einfach mal hier rein. Und das wäre jetzt der NDVI für das Prisma-Build.
Man kann auch einfach mal alle auswählen. Es geht auch relativ fix. Weil er die jetzt auch nicht sofort berechnet, sondern er legt bloß ein virtuelles File an, wo diese Spezifikation drin steht. Und erst wenn ich es visualisiere oder in einem Algorithmus benutze, wird das dann auch erst ausgerechnet.
So, wir können ja mal reinschauen, wie dieses VAT aussieht. Ich weiß nicht, kennt ihr virtuelle Rasterfiles von Gedal?
In QGIS werden die ja auch viel benutzt. Und die Idee ist einfach, ich kann hier so eine Pixelfunktion in diesem VAT definieren. Und da findet sich jetzt auch diese NDVI-Formel wieder. Ja, also das ist einfach bloß ein 3 Kilobyte großes Bild, was dann on the fly evaluiert wird.
Das finde ich eigentlich ein ganz nettes Feature, dass QGIS das unterstützt. Okay. Spectral Indices. Was wollen wir heute noch machen? Genau, ich zeige mal.
Die N-Map-Box, die ist auch noch ganz gut darin, die Metadaten von dem Gedaldaten-Modell zu präsentieren. Das gibt es in den Reihen. QGIS ist auch nicht so komfortabel. Ja, also ich habe jetzt mal das NDVI-File aufgemacht.
Da kriegt man erst mal so eine Übersicht der ganzen Bänder. Name, No-Data-Wert, ob es noch skaliert ist oder nicht. Und hier unten kriegt man auch noch die Gedal-Metadaten angezeigt. Hier zum Beispiel die Formel, der Langname dazu und so weiter.
Das wäre auch noch ein cooles Feature, wenn QGIS diese Metadaten vom Gedald-Metadaten-Modell auch editieren könnte. Das funktioniert aktuell auch leider nicht. Da müssen wir auch mal so ein bisschen drumherum programmieren.
Okay, jetzt mal zeigen wir mal die Bandstatistiken. Wir haben so ein paar interaktivere Tools. Ich räume mal kurz ein bisschen was auf hier. Also mein NDVI.
Wenn mich da die Bandstatistik mal zu interessiert, gibt es dieses Tool. Und das ist insofern interaktiv. Das ist immer den aktuellen Bildausschnitt, wo ich Daten zu sehe, mir das Histogramm dazu einzeichne und auch die grundlegenden Statistiken dazu.
Das funktioniert auch für Spektraldaten. Genau.
Okay, ich glaube, dann kommen wir schon zu den Machine Learning Sachen. Scatterplot. Scatterplot ist im Prinzip ein 2D-Histogramm. Schauen wir uns mal an.
Scatterplot. So, da ist die Idee. Man wählt sich zwei Bände aus und dann werden die Daten gegeneinander geplottet. Und auch hier wieder die Idee. Man sieht das, was man gerade im Map-View hat, wird verwendet.
Wenn ich Daten habe, also ich kann damit auch quantitative Produkte validieren. Dann könnte ich mir auch noch Referenzdaten über den Vector-Layer reinmachen und dann mal gucken, ob meine Schätzung auf der 1 zu 1 Linie ist.
Oder ich kann mir auch noch das Curve-Fitting dazu anzeigen. Macht jetzt hier für diese Spektraldaten wenig Sinn, aber wenn ich irgendwie einen Biomassewert geschätzt habe, ein Modell dafür habe und ich habe Referenzdaten, dann könnte ich das in diesem Tool auch ganz gut einen Überblick kriegen, wie gut sind eigentlich meine Vorhersagen gewesen.
Vielleicht erst mal bis hier hin Fragen.
Gibt es da auch Möglichkeiten, Zeitraina-Analysen da zu vereinfachen, sage ich mal? Ist das da vorgesehen im Map? Ja, also zur Visualisierung von Zeitraina unterstützen wir auch. Ich kann ja mal dieses Z-Profil nochmal aufmachen.
Hier gibt es Visualisierungseinstellungen und da ist auch vorgesehen, dass man gegen Zeit plottet. Wenn ich einen Stack habe mit Zeitinformationen drin, könnte ich mir auch Zeitprofile hier anschauen. Analyse-Algorithmen haben wir noch gar nichts, was Zeit angeht.
Also das ist klar so generische Sachen wie ein Profil-Fit, Savitski -Grola oder sowas, was auf allen Daten funktioniert, funktioniert auch auf Zeitdaten. Aber speziell für Zeit haben wir jetzt noch nichts. Da muss man vielleicht erst mal warten, bis Nmap so viele Daten hat, dass da auch eine gute Zeitreihe.
Dann bezüglich Zeitraina empfehle ich den nächsten Vortrag von David Franz. Ja, super cooles Tool. Kann man dieses Projekt auch speichern?
Da gibt es es hier unter Projekt, Save Project. Und das hängt sich dann an das normale Kugis Project Settings ran. Also Kugis kannst du ja so ein QGZ-File erzeugen.
Genau, das ist die Idee, dass wir da hinkommen, dass du dieses ganze Setup mit abspeichern kannst. Da haben wir jetzt eher so eine prototypische Implementierung, hier diese Liste angeöffneten Sources. Die wird aktuell wieder hergestellt, aber das Setup, was du hier alles siehst, das fehlt noch.
Aber wir haben schon diverse Nutzeranfragen. Ist ein Hot Topic. Um von meiner Seite darauf zu antworten. Leider war ich mit der Foskes Vorbereitung so beschäftigt, dass ich das nicht noch implementieren konnte. Aber es ist auf der Toolliste ganz weit oben.
Okay, ein anderes cooles Tool wäre das Rastermaß-Tool. Das kann ich mal zeigen. Ich muss hier mal aufräumen. Da nehmen wir doch jetzt aber mal unser Nmap-Bild, würde ich sagen.
So, hat er ganz hübsch gestylt.
Okay, Rastermaß ist eigentlich nur ein Processing-Algorithm, wo wir aber so ein Custom Widget mit eingebaut haben, was das ein bisschen hübscher macht zu bedienen.
Also man kann sich das im Prinzip so vorstellen wie der Kugis Raster Calculator oder der Geda Raster Calculator. Plus noch ein paar mehr Optionen. Also zum einen kann man hier alle aktuellen Datenquellen sehen.
Da könnte ich die benutzen. Ich könnte dieses ganze Image einfach mit zwei multiplizieren und abschicken. Macht nicht so viel Sinn, aber kann ich schon mal tun. Jetzt könnte ich zum Beispiel auch sagen, ich will meinen eigenen Index berechnen.
Dann kann ich hier mal aufklappen und gucke, was gibt es hier eigentlich für Bänder. Und jetzt brauche ich für meinen Index hier das Band an Wellenlänge 501. Und das muss ich, weil ich einen dummen Index machen möchte, einfach nur dividieren mit Band 68 und kann dann das abschicken.
So, dann wird er irgendwann fertig. Ich hätte ihm jetzt auch einen hübscheren Namen geben können. Der default Name ist einfach nur Output Raster.
Und warum stylt er den hier nicht hübsch?
Mal gucken, ob das an mir liegt oder ob das Kugis Renderer einfach hier ein Problem hat. Also Daten sind da offensichtlich drin. Ich weiß nicht, warum man die gerade nicht richtig rendern möchte. Ja, lassen wir ihn einfach so stehen.
Genau, was man ja schon mal sieht, ich kann ja einfach so ein Statement auswerten. Das ist ja aktuell nicht so schön, weil meine Bezeichner so lang sind. Aber das kann ich hier einfach sagen, hier der Identifier, nenn den mal um.
Und das ist einfach bloß mein Raster R. So, und jetzt kann ich da noch Formeln klicken, die ein bisschen kompakter sind. Genau, das geht. Wenn ich kompliziertere Sachen machen will, ist es nicht so komfortabel, das alles in eine Zeile schreiben zu müssen. Deswegen erlaubt unser Calculator auch, dass ich hier neue Variablen definiere.
Und C ist gleich so irgendwas mit A und B machen. So, jetzt habe ich drei neue Variablen definiert. Und das sind auch alles potenzielle Outputs. Wenn ich jetzt auf Run drücken würde, würden die alle berechnet werden und werden jetzt dann sichtbar in der Data Sources Liste.
Wenn das hier aber nur Zwischenergebnisse sind, dann kann ich da so ein Underscore vormachen. Und dann würde er die Sachen nicht berechnen. Also hier, das ist Python-Code mit NumPy-Syntax. Da kann ich alles Mögliche drin machen, was ich in einem Python-Skript tun könnte.
Kann man auch eine E-Mail verschicken nebenbei, geht alles. Interessanter wäre natürlich, dass ich an meinen Outputs auch gleich Metadaten ran schreibe, sind volle Bandnamen, Wellenlängen, so eine Geschichten. Und da muss man dann aber sich ein bisschen besser auskennen. Es gibt hier mal so ein Beispiel vom NDVI.
So, und dann sieht man, hat man hier so einen Platzhalter. Da könnte ich jetzt eins von meinen Rastern, die da sind, auswählen. Nehmen wir hier mal das Landsat-5-Bild. So, und das wäre mal so ein Code-Snippet, was ein bisschen umfangreicher ist.
Da sieht man hier wieder, ich brauche das rote und das Nah-Infrarot-Band. Und hier indiziert er auch nicht mit dem Bandnummer, sondern sagt hier, welche Wellenlänge er haben will. Das findet er dann auch automatisch, welches Band dazu gehört. Genau, dann die Formel zum Berechnen.
Und dann wollen wir auch noch No-Data-Bereiche aus den Input-Daten wieder ausmaskieren, damit das dann gleich transparenter scheint und hübscher ist. Man kann den No-Data-Welt dann hier auch noch setzen, man kann den Bandnamen setzen, könnte alle möglichen Metadaten da noch dazutun. Genau, das ist so ein Band Calculator on steroids, wenn man so will.
Das geht nicht, oder? Wo wir bei No-Data sind, was mit Wolkenmaskierung? Gibt es dazu auch Hilfestellungen? Na ja, für die Satellitenprodukte gibt es ja von der Agency, die
das bereitstellt, in der Regel schon Qualitätsmasken, wo Wolken, Wolken, Schatten bekannt sind. Und man kann die Maske natürlich benutzen in dem Calculator und die Flächen wegmaskieren und dann No-Data-Werte dafür setzen. Genau. Okay.
Ich bin jetzt so ein bisschen hin und hergerissen, ob ich in den letzten fünf Minuten eine Klassifikation zeige oder ein anderes sehr cooles Tool, was Earth Engine Daten in Kugis anzeigen kann. Ich glaube, ich würde lieber das Tool zeigen.
Und da müssen wir mal schauen, ob das hier mit der Internetverbindung performant genug ist. Genau, also die Idee ist, ich habe hier meinen Map Canvas und ich habe jetzt hier mal schon eine Vorauswahl von interessanten Archiven, also Sensorarchiven.
Zum Beispiel mal Landsat 9 könnte ich mal auswählen. So, und dann guckt er, fragt Earth Engine, was gehört denn da alles dazu?
Dann kriege ich hier mal alle Bänder, die dieser Sensor hat, auch die Quality-Bänder, nach denen da gerade gefragt wurde, plus ein paar vorbereitete Indizes. Also ich kann mal direkt sagen, ich möchte mal die NDVI-Werte für eine bestimmte Lokation.
Naja, hier ist ungefähr Adlershof. Und dann fragt er bei Google mal an, gib mir mal zu dieser Lokation alle Werte und hinter jedem dieser Datenpunkte steht natürlich auch ein Bild. Kann ich hier raufklicken und dann wird auch das Bild dann hoffentlich zeitnah gerendert.
Ja, geht ja recht fix. Genau, und zu diesen ganzen Daten gibt es ja Qualitätsinformationen und das wollten wir auch schlau in Wert setzen. Mit diesem Filter-Tab kann ich erstmal zeitlich einschränken meine Daten.
Dann könnte ich sagen, ich möchte nur Bilder sehen, die den bestimmten Cloud-Cover unterschreiten. Aber ich kann auch pixelweise Informationen in Wert setzen und hier sagen, mach mal nur alle Pixel weg, die Cloudy sind oder wo Wolkenschatten sind. Wasserflächen will ich auch nicht haben.
So, dann kann ich erstmal hier diesen Clot aktualisieren. Dann müssten jetzt hier ein paar Datenpunkte verschwinden. Und dann kann ich mal auf ein Bild raufklicken.
3 Minuten noch. Dann machen wir vielleicht was anderes. So, hier gibt es ein Video, wo das auch alles passiert, was ich gerade erklärt habe.
Aber die Wartezeiten sind rausgeschnitten. Genau, hier sieht man mal, hier wurde jetzt ein Cloud-Filter angewendet. Und dann sehe ich bloß noch Szenen, die weniger als 10% Cloud-Cover enthalten.
Man kann die Sachen auch stylen. Dafür kann man aber nicht das normale Kugel-Styling benutzen, sondern da das ja ein Web -Map-Service ist, der hier reinkommt, muss ich das mit der Earth-Engine-ARPi alles machen. Und deswegen gibt es da eigene Widgets für. Pseudocolor-Darstellungen gehen auch.
Und sehr cool ist, ich kann auch Komposite machen. Also ich habe hier eine Zeitspanne definiert. Jetzt nimmt er alle Daten, alle Bilder, die zu dieser Zeitspanne gehören. Und wenn das mit der Internetverbindung gut klappt, dann könnte ich da auch theoretisch auch global rauszoomen und kriege dann ein Komposite von allen Daten, die verfügbar sind.
So, und der nächste Level wäre, wenn ich das nicht szenenweise filtre, sondern wenn ich es pixelweise filtre. Also ich schneide nur die Pixel weg, die cloudy sind. Und das wäre jetzt, genau, hier sieht man das jetzt schon.
Jetzt sind alle Wolken wegmaskiert und jetzt hat man auf einmal Löcher in den Szenen. Das ist einfach nur, da sind zu wenig Daten. Jetzt müsste ich diesen Zeitraum vergrößern, damit auch die Löcher mal aufgefüllt sind, wie man es dann jetzt hier in diesem Bild sieht.
Genau, was das auch noch kann, ich kann also ein Pointlayer angeben und dann kann ich zu den einzelnen Punkten springen und mir die Profile anzeigen lassen. Ich kann diese Zeitreihen für die Punkte auch runterladen. Und in einer kleinen Nachbarschaft, mal 500 Pixel, kann ich auch die Bilddaten zu diesen Punkten bekommen.
Und dann hat man eine ganz gute Datenlage, um so lokal Analysen zu machen. Ja, das war es dann auch.
Ja, vielen Dank, Andreas. Gibt es Fragen hier im Publikum? Dort hinten, Thomas bringt das Mikro. Hi, also vielen Dank, super Demo.
Noch näher? Okay. Sehr schöne Demo, danke schön. Ich finde, der Name nmapbox ist fast schon irreführend. Ihr geht ja weit über nmap hinaus. Also vieles, was du gezeigt hast, war jetzt ja mit Sentinel oder Lanzard oder sogar mit der Earth Engine. Wie ist denn da quasi euer Plan, wie weit wollt ihr da gehen? Ich nehme mal an, Radarprozessierung wird wahrscheinlich nicht drin sein.
Aber ich meine, im Gegensatz zu anderen Tools von der ESA, Snap oder so, was für Capabilities wollt ihr quasi damit ersetzen? Und wie weit wollt ihr mit der Entwicklung? Naja, das Ziel ist im Prinzip, alles, was man aus Snap, Envy, das Imagine kennt,
wollen wir auch für Kugis verfügbar machen. Also generell Rasterprozessierung, Bessermachen in Kugis. Und nmap ist halt das Projekt, deswegen wurde der Name die nmapbox. Und das war aber von Anfang an so angelegt, dass wir da offen sind für alle Rasterdaten.
Ja, und die Zeitkomponente, das ist natürlich auch interessant, wenn die ein bisschen besser noch reinkommt. Ja, hier nochmal die Dokumentation auf Read the Docs. Fast alles, was ich hier gerade gezeigt habe. Die Tools und auch viele Sachen, die ich nicht gezeigt habe, kann man hier nochmal reingucken.
Gibt auch mal so kleine Videoschnipsels, wo man sieht, wie das dann benutzt wird. Wir haben diverse Renderer noch. Da hätte ich noch zwei Stunden zeigen können, was alles in der Box ist. Ja, also hier wäre auf jeden Fall ein guter Startpunkt, könnt euch die Tools, die Applikationen.
Und dann gibt es hier noch diese Earth Observation for Kugis Applikation. Das sind die Sachen, die ich vorhin meinte, die hier als Buttons auftauchen. Also dieses Earth Engine Tool, das ist auch direkt in Kugis in der GUI verfügbar. Dieser Sensor, dieser Location Browser ist da drin.
Und auch das mit den Sensorprodukten reinladen, kann man auch direkt hier in Kugis machen. Nur noch kurz nachgehakt. Radar macht ihr aber nicht, oder? Ein paar Leute aus unserer Gruppe haben schon mit Radar was gemacht, ich persönlich noch gar nicht.
Sieht doch aktuell nicht so aus, als ob wir in die Richtung gehen. Sebastian, was ist da so dein Gefühl? Eher nicht. Da sind andere besser. Genau, ja. Keine weiteren Fragen? Gut, dann war's das. Vielen Dank, Andreas, für den Tortrag.
Und hier gibt es ...