Mehr

Ändern von Daten (Attributen) in .csv des Datenvektor-Layers und QGIS übernimmt dies automatisch?

Ändern von Daten (Attributen) in .csv des Datenvektor-Layers und QGIS übernimmt dies automatisch?


Ich habe eine .csv-Datei mit Daten für 300 Punkte: Jede Spalte der .csv-Datei ist ein bestimmtes Objekt und die Zellen definieren die Menge, die in jedem Punkt verfügbar ist.

Wenn ich diesen Betrag ändern muss, ist es möglich, dies in der .csv-Datei zu ändern, damit QGIS diese Änderungen automatisch in seine Attributtabelle übernimmt?


Ja, wenn eine .csv-Datei in QGIS geladen wird und Sie die .csv-Datei aktualisieren, spiegeln die Attribute des Layers auch die Änderungen wider:

Eine in QGIS geladene .csv-Datei:

Bearbeiten der .csv-Datei mit einem einfachen Texteditor (ich habe Notepad verwendet):

Speichern Sie die Änderungen und laden Sie dann die Attributtabelle erneut in QGIS, um die Aktualisierungen zu sehen:

Hoffe das hilft!


Ich nehme an, Sie erwarten Folgendes:

Und Sie sehen stattdessen Folgendes:

Sie speichern die Datei als UTF-8, aber das Programm, das die Datei liest, dekodiert sie mit cp1252. Diese beiden müssen zusammenpassen!

  1. Kodieren Sie den Text mit cp1252 ( :encoding(cp1252) ), wenn der Leser mit der Dekodierung mit cp1252 fortfahren möchte.
  2. Lassen Sie den Leser die Datei mit UTF-8 decodieren, wenn Sie sie als UTF-8 codieren möchten ( :encoding(UTF-8) ).

Im Allgemeinen ist letzteres die bessere Option, da die Datei jedes Unicode-Zeichen enthalten kann, anstatt eine abgrundtief kleine Untermenge.

Auf den meisten Unix-Systemen gibt es ein Programm namens iconv, das Dateien von einer Codierung in eine andere umcodieren kann. Sie müssen die ursprüngliche Kodierung Ihrer Datei ermitteln.

Dies würde eine in Windows geschriebene Datei mit der Standardcodepage 1252 übersetzen und in die UTF-8-Codierung konvertieren. Ich würde zuerst cp1252 versuchen und sehen, ob das funktioniert. Wenn nicht, versuchen Sie es mit cp1250 , latin1 und macintosh (es könnte eine Datei gewesen sein, die mit MacRoman.


Grafische Zusammenfassung

Das Ziel der Mineralexploration erfordert die Zusammenstellung, Integration und Abfrage diverser, multidisziplinärer Daten (z. B. Hronsky und Groves, 2008). In der heutigen Welt geschieht dies häufig mit einem geografischen Informationssystem (GIS), der Leuchttischumgebung unseres modernen Computerzeitalters. Ein GIS ist ein leistungsstarkes computerbasiertes System, das entwickelt wurde, um räumliche Daten (z. B. Groves et al., 2000) und ihre nicht-räumlichen Attribute zu erfassen, zu speichern, zu bearbeiten, zu analysieren, zu verwalten und darzustellen, die in verknüpften, abfragbaren Tabellen gespeichert werden können .

Bei der Mineralexploration hat GIS wie in vielen anderen Bereichen der angewandten Geowissenschaften die menschliche Fähigkeit übertroffen, die ständig wachsende Menge verfügbarer Geodaten zu integrieren und quantitativ zu analysieren, wodurch die traditionellen Arbeitsmethoden nach und nach ersetzt werden. In den letzten zwei Jahrzehnten und angetrieben durch signifikante Verbesserungen der Soft- und Hardwarefunktionen wurden leistungsstarke GIS-basierte, algorithmengesteuerte Methoden zur Unterstützung der Explorationsziele entwickelt. Diese Methoden fallen unter den Oberbegriff der Mineral Prospectivity Mapping (MPM), auch bekannt als Mineral Prospectivity Analysis, Spatial Predictive Modeling oder Mineral Potential Modeling (z. B. Bonham-Carter, 1994, Pan und Harris, 2000, Carranza, 2008, Porwal and Kreuzer, 2010, Yousefi und Nykänen, 2017, Hronsky und Kreuzer, 2019). Die resultierenden Mineralprospektivitätskarten werden in der Regel durch eine Kombination mehrerer Beweis- (oder Prädiktor-)Karten erstellt, die eine Reihe von Zielkriterien (auch als kartierbare Kriterien oder Proxys bezeichnet) darstellen, die basierend auf gemessenen räumlichen oder genetischen Assoziationen mit dem Zielmineral definiert und kombiniert werden Einlagen und untereinander.

Trotz erheblicher methodischer und rechnerischer Fortschritte in den letzten zwei Jahrzehnten muss sich MPM in der realen Exploration noch als effektiv erweisen (McCuaig und Hronsky, 2000, McCuaig und Hronsky, 2014, Porwal und Kreuzer, 2010, Joly et al., 2012, Hagemann et al., 2016a), insbesondere im Hinblick auf die Unterstützung bei der Entdeckung großer, potenziell wirtschaftlicher Mineralvorkommen. Wie in Hronsky und Kreuzer (2019) erörtert wurde, sind die Konzepte und die Technologie hinter MPM zwar solide, jedoch ist ein effektiver Einsatz derzeit aufgrund von Problemen bei der Verwendung von Eingabedaten begrenzt. Die Hauptaussage dieser Dissertation ist, dass MPM zu einem effektiven Explorationswerkzeug wird, sobald die Eingabedaten verarbeitet und organisiert sind, um den angestrebten Suchraum und das zugrunde liegende Targeting-Modell einheitlicher und objektiver widerzuspiegeln.

Der nächste wichtige Schritt, der erforderlich ist, damit MPM zu einem effektiveren Explorationswerkzeug wird, ist eine bessere Integration des konzeptionellen Minerallagerstättenmodells mit verfügbaren Daten zur Unterstützung der Explorationsziele. Wir glauben, dass dies durch ein Explorationsinformationssystem (EIS) erreicht werden kann, das komplexe Naturphänomene wie Mineralsysteme adressieren und handhaben kann und dadurch eine Schlüsselrolle bei der Explorationszielbestimmung und der Erschließung von Erzkörpern spielt. Angesichts der Vielfalt und Komplexität der Erzbildungsprozesse und der tektonischen Umgebungen der Erzbildung (z. B. McCuaig et al., 2010, Pirajno, 2016, Hagemann et al., 2016a) würde die zukünftige Implementierung eines EIS (i) die Generation von Information von Daten (d.h. die Sammlung und Organisation von Exploration und Geowissenschaften Daten so werden sie Information das einen Mehrwert hat, der über den Wert des Originals hinausgeht Daten selbst), (ii) Wissen-Generation (z. B. aus Information über erzbildende Prozesse) und (iii) die Gewinnung von Einblick für die Entwicklung von Strategien zur gezielten Mineralexploration relevant sind. Also durch Umwandeln der Daten zu Information, Information zu Wissen, und Wissen zu Einblick, würde ein EIS die Problemlösung bei der Mineralexploration erleichtern und eine Plattform bieten, auf der Mineralsysteme Einblick in kartierbare Kriterien und die Vorhersage unentdeckter Mineralvorkommen umgewandelt werden können.

Hier stellen wir den konzeptionellen Rahmen für ein EIS vor, ein Konzept, das wir als den nächsten logischen Schritt in der zukünftigen Entwicklung und Anpassung der GIS-Technologie für den Einsatz bei der Mineralexploration und MPM betrachten. Darüber hinaus diskutieren wir, wie EIS die effektivere Umsetzung konzeptioneller Erzlagerstättenmodelle in reale Explorationszielmodelle ermöglichen würde.


Zuordnungspunkte

"Geokodierung" bezieht sich auf den Vorgang des Identifizierens eines einzelnen Breiten-/Längen-Paares für eine Adresse oder eine andere Ortsbeschreibung. Um einen Standort tatsächlich auf einer Karte darzustellen, benötigen Sie den Breiten- und Längengrad des Standorts. 219 West 40th Street bedeutet nichts ohne Koordinaten.

Geokodierung ist tatsächlich eine Herausforderung, da es keine guten, kostenlosen Ressourcen für Batch-Jobs gibt, bei denen viele Adressen gleichzeitig geokodiert werden. Mein Tippblatt zur Geokodierung enthält einige hilfreiche Ressourcen, aber viele Stadtdatenquellen enthalten tatsächlich Koordinaten, also überprüfen Sie das zuerst.

Wenn Sie Punkte kartieren möchten, benötigen Sie möglicherweise meine Hilfe bei der Geocodierung.

Linien zuordnen

Kein Schüler hat mir jemals eine überzeugende Karte vorgelegt, die Linien statt Formen oder Punkte aufweist. Ich habe ein Projekt gemacht, das Flugkarten erstellt hat, die zeigen, wie weit jeder in Florenz, CO inhaftierte Gefangene von zu Hause entfernt ist, aber ich habe das vorgeschlagen, also zählt es nicht. Um diese Karte zu zeichnen, musste ich einen Crashkurs in Rendern von Linien absolvieren. Wenn Sie Lust haben, so etwas zu tun, großartig! Aber Sie müssen R installieren und das Tutorial von Nathan Yau durchgehen, bevor Sie etwas anderes tun.

Polygone zuordnen

Postleitzahlen, Gemeindebezirke, Polizeireviere – das sind alles Polygone. Die meisten Ihrer Karten bestehen aus Polygonen. Diese Polygone werden (normalerweise) in einem von zwei spezialisierten Dateiformaten definiert - einer "Shapefile"- oder einer "KML"-Datei. Die Syntax der Dateitypen variiert, aber sie enthalten im Grunde die gleichen Informationen -- das Polygon namens "Bronx CB 04" wird durch diese Reihe von Lat/Lon-Paaren definiert. Mein Shapefiles-Tippblatt enthält einige hervorragende Ressourcen zum Auffinden von Shapefiles, obwohl viele der Ressourcen dort New York City-spezifisch sind.

Häufig (normalerweise) enthalten Ihre Daten kein Shapefile. Wenn Sie High-School-Abschlussquoten nach Schulbezirken haben und diese zuordnen möchten, müssen Sie ein Shapefile finden, das die Umrisse jedes Schulbezirks beschreibt, und dieses Shapefile dann mit Ihren Daten kombinieren, indem Sie eine Spalte identifizieren, die die beiden Tabellen haben etwas gemeinsam.


Hinzufügen von Umfragedaten der amerikanischen Gemeinschaft.

Über die Volkszählung

In den USA werden Volkszählungsdaten als Schlüsseldatensatz zum Verständnis der Gesundheit und des Fortschritts unserer Gesellschaft verwendet. Es liefert Metriken über unsere Gesellschaft und wird verwendet, um andere Daten zu normalisieren, um Probleme in unserer Wirtschaft, Umwelt und Gesellschaft zu identifizieren und zu messen. Dieses Tutorial erklärt die richtige Methode zum Abfragen und Herunterladen von Volkszählungsdaten, die die Daten für QGIS vorbereiten und die Daten zusammenführen, analysieren und gestalten.

Als Referenz hat die US-Volkszählung zwei Haupterhebungen, die Decennial Census und die American Community Survey. Der Decennial Census ist die wichtigste Volkszählung, die alle 10 Jahre durchgeführt wird und versucht, jede Person im Land zu zählen. Es hat zwei große Nachteile: Erstens findet es nur alle 10 Jahre statt, sodass die letzte Volkszählung für die Jahre dazwischen möglicherweise zu veraltet und die nächste zu weit entfernt ist und zweitens, weil es keine Stichprobenverfahren verwendet, ist es oft unter - vertritt Minderheiten.

Die zweite Haupterhebung heißt American Community Survey (ACS) und findet kontinuierlich statt. Der Fragebogen wird monatlich an 295.000 Adressen verschickt und erhebt Daten zu Themen wie Abstammung, Bildungsstand, Einkommen, Sprachkenntnisse, Migration, Behinderung, Erwerbstätigkeit und Wohneigenschaften. Die Ergebnisse liegen in 2 Formen vor: 1-Jahres-Schätzungen und 5-Jahres-Schätzungen. Die 1-Jahres-Schätzungen sind die aktuellsten, aber am wenigsten zuverlässig. Im Gegenteil, die 5-Jahres-Schätzungen sind nicht so aktuell, aber viel zuverlässiger. Diese werden wir für unsere heutige Sitzung verwenden.

Volkszählungsdaten herunterladen

In dem von uns heruntergeladenen Ordner haben wir bereits die csv-Dateien der vorverarbeiteten Volkszählungsdaten bereitgestellt. Aber es ist wichtig zu wissen, wo (und wie) man darauf zugreifen kann. Die wichtigste Volkszählungswebsite ist data.census.gov. Hier ist es am einfachsten, nach dem zu suchen, wonach Sie suchen. Aber woher wissen Sie, was Sie brauchen? Ich beginne immer damit, dass ich zu Census Reporter navigiere, einem Leitfaden, um zu verstehen, welche Daten vorhanden sind und in welchen Tabellen Sie die Daten finden können. Auf der Seite Census Reporter-Tabellencodes sagt uns eine einfache Suche nach School Enrollment, dass wir uns das ansehen möchten Tabelle S1401. Es bietet sogar einen Link zur Census-Site.

Auf der Census-Website möchten wir zunächst nach ACS 5-Jahre filtern. Wir wollen dann die richtige Geographie einbringen. In unserem Fall werden wir nach Landkreisen visualisieren. Klicken Sie also auf Geos und wählen Sie Alle US-Counties. Als nächstes werden wir aufgefordert, die Tabelle herunterzuladen. Wählen Sie diese Schaltfläche aus und deaktivieren Sie die 1-Jahres-Schätzung. Wählen Sie dann Herunterladen aus.

Und jetzt haben Sie die 5-Jahres-Schätzung 2019 auf Kreisebene für die Tabelle S1401. Wenn Sie die Tabelle öffnen, werden Sie schnell von der schieren Anzahl der Spalten und Zeilen sowie den Codes für jede einzelne überwältigt.

Wenn Sie die Datei ACSST5Y2019-S1401_edited.csv öffnen, die in Ihrem Download-Paket enthalten ist, können wir durchgehen, was ich getan habe, um diese Datei zu erstellen.

Hier sehen Sie also die GEOID, den Landkreisnamen und dann 6 Spalten der Volkszählungsdaten. Drei dieser Spalten enthalten tatsächlich Daten über die College-Bevölkerung (Gesamtbevölkerung im Alter von 18-24 Jahren, Gesamtbevölkerung im Alter von 18-25 Jahren, die an einem College oder einer Graduate School eingeschrieben sind, und Prozentsatz der Bevölkerung im Alter von 18-24, die an einem College oder einer Graudate School eingeschrieben sind). Zusätzlich zu jeder dieser Spalten gibt uns die Volkszählung auch die Fehlerspanne an, die mit diesen Schätzungen verbunden ist. Da wir auf Bezirksebene arbeiten, ist MOE weniger ein Problem, als wenn wir Daten auf Bezirks- oder Blockgruppenebene analysieren würden.

Beginnen wir also mit dem Importieren unserer Daten.

Wählen Sie Getrennte Textebene hinzufügen und navigieren Sie zu CensusData/ACSST5Y2019-S1401_edited.csv . Diese Datei hat keine Geometrie, daher müssen wir diese deaktivieren. Und wählen Sie Hinzufügen.

Jetzt, wie beim letzten Mal, kann ich bereits ein Problem mit dem GEOID aufgrund von Variationen zwischen 4 und 5 Zeichen in dieser Spalte erwarten. Lassen Sie uns das also beheben, indem wir zur Attributtabelle für den Layer S1401 navigieren.

Wir beginnen damit, ein neues Feld (das Abakus-Symbol) zu erstellen. Wir werden unseren Feldnamen „GEOID_Fixed“ kennzeichnen. Wir werden den Feldtyp auf String setzen. Und unser Ausdruck wird der folgende sein: lpad("GEOID", 5, '0')

Verbinden wir nun unsere Daten auf Kreisebene mit unserem Kreis-Shapefile. Öffnen Sie dazu die Eigenschaften des County-Layers und wählen Sie im Optionsfeld „Joins“ aus. Wir werden in den Feldern GEOID und GEOID_Fixed für die Kreisdatei bzw. die Kreis-ACS-Datendatei beitreten. Und wir werden das Präfix „S1401_“ bereitstellen. Navigieren wir nun zur Attributtabelle, um sicherzustellen, dass unser Join erfolgreich war.

Lassen Sie uns die Daten visualisieren. Für diese Übung werden wir 3 Karten erstellen – jede hilft uns dabei, die Daten zu untersuchen, die wir betrachten. Zu Beginn betrachten wir die Gesamtbevölkerung. Navigieren Sie dazu zu Symbolik in deinem Eigenschaften Panel für die verbundenen Kreisdaten. Wählen Sie hier als Typ Abgestuft aus. Wählen Sie als Wert TotPop1824 aus. Wählen Sie für den Klassifizierungsmodus Logarithmische Skala .

Bringen wir dies nun zur Bearbeitung in den Composer. Beginnen Sie mit dem Importieren der Karte, indem Sie das Symbol Karte hinzufügen auswählen und klicken und von Ecke zu Ecke über die Leinwand ziehen. Lassen Sie uns Legenden für unsere Daten, Quellen und einen Titel hinzufügen und als .png exportieren. Dies wird unsere erste Karte sein, daher möchten wir eine Vorlage für diesen Druckmanager speichern und dann zu unserem Haupt-QGIS-Arbeitsbereich zurückkehren.

Bevor wir etwas unternehmen, duplizieren wir unsere späteren mit Kreisdaten, damit wir unseren Link zur Druckvorschau nicht durcheinander bringen, falls wir zukünftige Anpassungen vornehmen möchten. Wir werden also unsere Bezirksebene duplizieren und als nächstes nach der gesamten eingeschriebenen Bevölkerung filtern. Hier werden wir diese mit Equal Count (Quantiles) klassifizieren.

Lassen Sie uns dies in den Composer einbringen, beginnend mit der vorherigen Vorlage, sodass wir nur minimale Änderungen vornehmen müssen!

Und zum Schluss machen wir noch eine letzte Karte, die wieder unseren Landkreis-Layer dupliziert. Diesmal visualisieren wir es mit dem Prozentfeld und klassifizieren es mit dem Modus Natürliche Pausen. Bringen Sie diese schließlich in den Print Composer und erstellen Sie eine endgültige Grafik.


Sonntag, 15. Dezember 2019

Mapguide-react-layout Dev Diary Teil 21: Einige längst überfällige Updates und Ellenbogenfett

Der Titel der vorherigen Blog-Serie ist zu lang, um ihn abzutippen, daher habe ich diese Blog-Serie verkürzt und heißt nur noch "mapguide-react-layout dev diary". Es ist viel einfacher zu tippen :)

In diesem Beitrag werde ich einige der längst überfälligen Updates skizzieren, die für die nächste (0.13) Version vorgenommen wurden (und warum diese Updates so lange aufgehalten wurden).

Aufgrund der langen Lücke zwischen den Releases von 0.11 und 0.12 wollte ich das Boot mit einigen der disruptiven Änderungen, die ich in der Pipeline hatte, nicht erschüttern und beschloss, diese Arbeit zu verschieben, bis sich 0.12 beruhigt hat. Jetzt, da 0.12 größtenteils stabil ist (sicherlich sollten 8 Bugfix-Releases dies bestätigen!), können wir uns nun auf die ursprünglich geplante störende Arbeit konzentrieren und die geplante Pause, die ich für dieses Projekt hatte, verschieben.

OpenLayers aktualisieren (endlich!)

Mapguide-react-layout verwendete die längste Zeit OpenLayers 4.6.5. Der Grund, warum wir an dieser Version festhielten, war, dass dies die letzte Version von OpenLayers war, bei der ich über ein JSDoc-Plugin, das ich dafür gebaut habe, automatisch eine Full-API-Oberflächen-TypeScript-d.ts-Definitionsdatei aus den OpenLayers-Quellen generieren konnte sehr Zweck. Diese d.ts-Datei bietet den "intellisense" bei der Verwendung von OpenLayers und der Typprüfung, so dass wir die OpenLayers-API tatsächlich so verwendeten, wie es dokumentiert wurde.

Bis zum Release 4.6.5 hat dieses JSDoc-Plugin seine Arbeit sehr gut gemacht. Nach dieser Veröffentlichung änderte OpenLayers sein Modulformat ab Version 5.x vollständig, was meine Fähigkeit, aktualisierte d.ts-Dateien zu haben, unterbrach, und ohne aktuelle d.ts-Dateien war ich nicht bereit zu aktualisieren und angesichts der Weitläufigkeit von der OpenLayers-API-Oberfläche, würde es eine Menge Arbeit bedeuten, diese Datei für neuere Versionen von OpenLayers richtig zu generieren.

Was mich dazu gebracht hat, dieses JSDoc-Plugin ursprünglich selbst zu schreiben, war, dass der TypeScript-Compiler Vanille-JavaScript unterstützte (über das Flag --allowJs), aber die längste Zeit nicht in Kombination mit dem Flag --declarations funktionierte, das es dem TypeScript-Compiler ermöglichte, d . zu generieren .ts-Dateien aus Vanilla-JS-Quellen, die wir mit JSDoc richtig annotiert haben.

Als ich hörte, dass diese seit langem bestehende Einschränkung endlich in TypeScript 3.7 behoben werden sollte, nahm ich dies als die Zeit, um zu sehen, ob wir auf OpenLayers (jetzt Version 6.x) aktualisieren und die --allowJs + --declarations verwenden können Kombination, die von TypeScript 3.7 bereitgestellt wird, um unsere eigenen d.ts-Dateien für OpenLayers zu generieren.

Leider scheint es, dass die durch diese Kombination erzeugten d.ts-Dateien immer noch nicht ganz brauchbar sind, was die Nachrichten entleerte und ich war dabei, OL-Update-Pläne wieder auf Eis zu legen, bis ich von einem weiteren Tippversuch für OpenLayers 5.x erfuhr und über. Da es keine anderen praktikablen Lösungen gab, entschied ich mich, diese d.ts-Dateien auszuprobieren. Trotz fehlender Inline-API-Dokumentation (die mein JSDoc-Plugin beim Generieren der d.ts-Dateien beibehalten konnte), deckten diese Eingaben den größten Teil der OpenLayers-API-Oberfläche genau ab, was mir den Anstoß gab, das vollständige Upgrade auf OpenLayers 6.1.1 durchzuführen. die neueste Version von OpenLayers zum Zeitpunkt dieses Schreibens.

Auch mapguide-react-layout verwendete die längste Zeit Blueprint 1.x. Was uns bisher vom Upgrade abgehalten hat, abgesehen von den erwarteten Breaking Changes und der Korrektur unseres Viewers, war, dass Blueprint SVG-Symbole als Ersatz für ihre Schriftsymbole einführte. Obwohl es großartig ist, SVG-Symbole zu haben, war es nicht so, dass die vollständige Küchenspüle der SVG-Symbole von Blueprint in unserem Viewer-Bundle die Größe unserer Viewer-Bundles auf ein inakzeptables Niveau sprengt.

Für die längste Zeit war dies ein Blocker für die vollständige Aktualisierung von Blueprint, bis ich jemanden fand, der eine kreative Verwendung des Modul-Ersatz-Plugins von Webpack vorschlug, um das ursprüngliche vollständige Symbolpaket abzufangen und durch unsere eigene abgespeckte Untermenge zu ersetzen. Dieser Workaround bedeutete, dass unsere Viewer-Bundle-Größe wieder auf ein akzeptables Niveau gebracht wurde (dh nur geringfügig größer als die Version 0.12.8). Mit dieser Problemumgehung war es endlich sicher, auf die neueste Version von Blueprint zu aktualisieren, die zum Zeitpunkt dieses Schreibens 3.22 ist.

Also haben wir Blueprint endlich aktualisiert, aber unsere modalen Dialoge im Blueprint-Stil waren immer noch Dinge mit fester Größe, deren Unfähigkeit, die Größe zu ändern, die Benutzererfahrung von Funktionen, die modale Dialoge hervorbrachten oder stark nutzten, wirklich beeinträchtigte (z. B. die Aqua-Viewer-Vorlage). Da wir gerade dabei sind, Dinge zu tun, die längst überfällig sind, habe ich beschlossen, das Problem der Größenanpassung dieser Dinge anzugehen.

Meine ursprünglichen mentalen Notizen waren, die React-Rnd-Bibliothek auszuprobieren und zu sehen, wie schwierig es war, diese in unsere modalen Dialoge zu integrieren. Es stellte sich heraus, dass das gar nicht so schwer war! Die React-Rnd-Bibliothek war völlig unaufdringlich und als Bonus war sie auch leicht, was bedeutete, dass unsere Bundle-Größen nicht wesentlich ausufern würden.

Begrüßen Sie also die aktualisierte Aqua-Vorlage mit veränderbaren modalen Dialogfeldern!

Jetzt haben wir hier leider nicht alles gewonnen. Die Arbeit, Blueprint zu aktualisieren und diese Modalelemente endlich in der Größe zu ändern, hat unsere Fähigkeit, modale Dialoge mit einem dunklen Hintergrund wie diesem zu haben, gebrochen:

Dies war auf Overlay-Änderungen zurückzuführen, die mit Blueprint eingeführt wurden. Meine derzeitige Denkweise ist zu . Entfernen Sie einfach die Unterstützung für abgedunkelte Hintergründe. Ich glaube nicht, dass der Verlust dieser Unterstützung ein so großer Verlust im Großen und Ganzen ist.

Haken Sie alle Reaktionskomponenten ein

Der andere längst überfällige Punkt war die Aktualisierung unseres React-Redux-Pakets. Wir hatten am längsten an unserer speziellen Version (5.1.1) festgehalten, weil wir die Legacy-Kontext-API verwendet hatten, um jede Redux-Aktion von Symbolleistenbefehlen zu senden. In der neuesten Version wurde diese Legacy-Kontext-API entfernt, was bedeutete, dass wir für ein Upgrade die Konstruktion der Symbolleistenelemente unserer Symbolleistenkomponente neu planen müssten.

Wir verwendeten auch die connect()-API, die in Kombination mit unseren klassenbasierten Containerkomponenten etwas erzeugte, das eine Menge sinnloser Typprüfungen erforderte und mich in einigen Fällen zwang, auf jeden beliebigen Typ zurückzugreifen, um Dinge zu beschreiben

Es stellte sich heraus, dass die neueste Version von React-Redux eine Hook-basierte Alternative für seine APIs bot und da ich in meinem Job von der Macht der Hooks in React überzeugt war, nahm ich dieses Upgrade zum Anlass, alle unsere klassenbasierten zu konvertieren convert von Komponenten zu funktionalen mit Haken und die Ergebnisse waren sehr beeindruckend.

Die Abkehr von klassenbasierten Containerkomponenten und die Verwendung der React-Redux-Hooks-API bedeutete, dass wir für alle unsere Containerkomponenten keine State/Dispatch-Prop-Schnittstellen mehr eingeben mussten. Diese Schnittstellen mussten alle optionalen Props haben, da sie beim Rendern einer Container-Komponente nicht erforderlich sind, aber als Teil davon gesetzt wurden, wenn die Komponente mit dem Redux-Speicher verbunden () . Diese Optionalität infizierte das Typsystem, was bedeutete, dass wir viele sinnlose Nullprüfungen in unseren Containerkomponenten für Requisiten durchführen mussten, die nicht null oder undefiniert sein konnten, aber wir mussten trotzdem prüfen, weil unsere Zustands-/Versandschnittstellen dies sagten.

Die Verwendung der Hooks-API bedeutet, dass Status-/Dispatch-Schnittstellen nicht mehr erforderlich sind, da sie jetzt alle Implementierungsdetails der Containerkomponente über die neuen Hook-APIs useDispatch und useSelector darstellen. Das bedeutet, dass wir nicht mehr viele sinnlose Prüfungen auf null oder undefined durchführen müssen. Der Wechsel zu funktionalen Komponenten mit Hooks bedeutet, dass wir nicht mehr die connect()-API verwenden müssen (wir exportieren nur standardmäßig die funktionale Komponente selbst) und auch das Pflaster vom Typ "any" verwenden müssen.

Um einen visuellen Beweis dafür zu sehen, wie viel sauberer und kompakter unsere Containerkomponenten sind, betrachten Sie eine unserer einfachsten Containerkomponenten, den Zähler "Ausgewählte Funktionen":


3. Methodik

Um die Anforderungen an die Leistungen der Arbeitsgruppe herauszufinden, wurden Use Cases gesammelt. Im Sinne der Arbeitsgruppe ist ein Use Case eine Geschichte, die Herausforderungen in Bezug auf Geodaten im Web für bestehende oder geplante Informationssysteme beschreibt. Es muss sich nicht an ein bestimmtes standardisiertes Format halten. Anwendungsfälle werden in erster Linie als Anforderungsquelle verwendet, aber ein Anwendungsfall könnte kurz vor Abschluss der Arbeiten der Arbeitsgruppe erneut aufgegriffen werden, um zu zeigen, dass es jetzt möglich ist, den Anwendungsfall zum Laufen zu bringen.

Aus den gesammelten Use Cases hat die Arbeitsgruppe Anforderungen abgeleitet. Eine Anforderung ist etwas, das durch eine oder mehrere Leistungen erreicht werden muss und wird als Spezifikation der Funktionalität formuliert. Anforderungen können zu einem oder mehreren Tests führen, die beweisen können, ob die Anforderung erfüllt ist.

Es wurde darauf geachtet, nur Anforderungen abzuleiten, die im Rahmen der weiteren Arbeit der Arbeitsgruppe berücksichtigt werden. Der Umfang der Arbeitsgruppe wird durch die Satzung bestimmt. Um die Anforderungen im Geltungsbereich zu halten, wurden folgende Fragen gestellt:

  1. Bezieht sich die Anforderung speziell auf Geodaten im Web?
  2. Werden im Anwendungsfall Daten veröffentlicht, wiederverwendet und über Webtechnologien zugänglich gemacht?
  3. Hat ein Anwendungsfall eine Beschreibung, die zu einer testbaren Anforderung führen kann?

5. Schlussfolgerung

Der traditionelle hydrologische Modellierungsansatz stellt ein großes Hindernis für Gebiete dar, denen die notwendigen Ressourcen für die Ausführung eines Modells fehlen. Ein HMaaS wurde entwickelt, um den Bedarf an Wasserinformationen in Gebieten zu decken, denen die Ressourcen fehlen, um eigene Modelle zu betreiben. Ein groß angelegtes Strömungsvorhersagesystem basierend auf der globalen Abflussvorhersage des ECMWF-Ensembles. Dieses neue Modell stellt jedoch eine Reihe von Herausforderungen dar, um in einer Betriebsumgebung zu laufen und die resultierenden Stromflussinformationen auf lokaler Ebene nutzbar zu machen. Diese “hydroinformatic”-Herausforderungen wurden in vier Kategorien unterteilt: Big Data, Datenkommunikation, Akzeptanz und Validierung. Das entwickelte Modell liefert ein Ergebnis mit hoher Dichte, indem das Abflussvolumen vom ECMWF unter Verwendung des RAPID-Routing-Modells geroutet wird. Ein HMaaS-Ansatz wurde verwendet, um eine Antwort auf die Kommunikationsherausforderungen zu geben, denen sich ein Modell gegenübersieht, das einen so großen Bereich abdeckt. Eine Cloud-Cyberinfrastruktur wurde entwickelt, um Modellworkflows, Eingaben und Ausgaben zu hosten. Webanwendungen wurden bereitgestellt, um Ergebnisse über das Internet bereitzustellen. Webdienste wie eine REST-API und Geodatendienste wurden erstellt, um den Zugriff auf prognostizierte Ergebnisse zu ermöglichen. Zusätzliche Webanwendungen wurden mit dem Hauptziel erstellt, Anpassungen zu ermöglichen und lokalen Agenturen Flexibilität zu bieten, um Ergebnisse gemäß den spezifischen Anforderungen zu verwenden. Diese Projekte wurden in verschiedenen Ländern der Welt demonstriert. Einige dieser Länder sind: Argentinien, Bangladesch, Brasilien, Kolumbien, Haiti, Peru, Nepal, Tansania, die Dominikanische Republik und die Vereinigten Staaten. Wir haben unsere Ergebnisse getestet, indem wir unsere Prognosen mit beobachteten Daten verglichen haben. Wir haben festgestellt, dass unsere Modellergebnisse im Wesentlichen den GloFAS-Ergebnissen entsprechen, jedoch in einer höheren Dichte. Wir haben auch festgestellt, dass unsere prognostizierten Ergebnisse in der Regel nahe an den beobachteten Werten liegen und die extremsten Ereignisse erfassen können. Schließlich analysierten wir die Auswirkung von Dichtevariationen auf unser Modell und stellten fest, dass die Größe des Teilbeckens die Ergebnisse an der Mündung des Einzugsgebiets nicht signifikant beeinflusst.


1. Einleitung

Kartenerstellung und Geocomputation sind zwei wesentliche Handwerksanalysten, die sie beherrschen müssen, um Wissen aus geografischen Daten zu extrahieren und Erkenntnisse aus der Datenanalyse mit geografischen Informationssystemen (GIS) zu gewinnen. Wir wissen jedoch, dass die Praxis der Kartenerstellung sowie der analytische Prozess voller semantischer Feinheiten sind, die viel Training erfordern. Die kartographische Praxis zum Beispiel beinhaltet eine große Menge geschriebener und ungeschriebener „Regeln“ über Maßskalen, Datensemantik und analytische Absichten bei der Auswahl grafischer Symbole auf einer Karte (Müllerüll et al. 1995). In ähnlicher Weise ist die Anwendung von GIS-Werkzeugen zur Konstruktion von Geocomputer-Workflows eine Kunst, die weit über das Anpassen von Datentypen an Eingaben und Ausgaben hinausgeht (Hofer et al. 2017). Tatsächlich ist eine sinnvolle Analyse, d. h. die Anwendung geeigneter Analysemethoden auf Datenquellen einer bestimmten Herkunft für einen bestimmten Zweck (Stasch et al. 2014 , Scheider und Tomko 2016 ), erfordert viel Hintergrundwissen über semantische Konzepte.

Betrachten Sie das folgende Beispiel. Angenommen, wir haben ein Regionsattribut, das die von Umweltsensoren gemessenen Seetemperaturen repräsentiert, und ein anderes, das die Wassermengen dieser Seen bezeichnet. Beide haben den gleichen Datentyp (Polygonvektordaten). Angenommen, wir interessieren uns für die Abschätzung von Wasserkraftpotenzialen am Wasservolumen aller Seen sowie an der Wassertemperatur, um abzuschätzen, inwieweit die Erwärmung durch das Kraftwerk zu ökologischen Schäden stromabwärts führen kann ( Bobat 2015). Für einen erfahrenen Analytiker ist intuitiv klar, dass das Gesamtvolumen durch Summieren des Seevolumens erhalten werden kann, während jeder gemessene Temperaturwert mit dem Volumen des jeweiligen Sees gewichtet werden muss, um eine zuverlässige Schätzung der Durchschnittstemperatur des Wassers zu erhalten. Darüber hinaus wird dieser Analytiker wahrscheinlich eine Choroplethenkarte wählen, wenn er die Seetemperatur über dem Weltraum visualisiert, aber ein Balken- oder Kreisdiagramm für das Seevolumen. Der Grund liegt darin, dass intensive Maßnahmen wie Temperatur sind unabhängig von der Größe ihres tragenden Objekts (in diesem Fall die Fläche des Seegebiets, siehe Abbildung 1(b)), während umfangreiche Maßnahmen, wie das Seevolumen, addieren sich (Abbildung 1(a)).

Online veröffentlicht:

Abbildung 1. Beispiele für umfangreiche und intensive Eigenschaften. Bild (a) mit freundlicher Genehmigung des North Dakota Game and Fish Department. Bild (b) durch Open-Attribution-Lizenz (CC BY).

Abbildung 1. Beispiele für umfangreiche und intensive Eigenschaften. Bild (a) mit freundlicher Genehmigung des North Dakota Game and Fish Department. Bild (b) durch Open-Attribution-Lizenz (CC BY).

Uns fehlen Methoden für automatische Etikettierung von Datensätzen und Attributen mit Umfang/Intensität. Manuelles Etikettieren wird in der Praxis selten durchgeführt und skaliert nicht mit der Geschwindigkeit der Datenproduktion (Alper et al. 2015 ).

Uns fehlen Methoden für den Raum systematisch bewerten von sinnvollen geoinformatischen/kartographischen Methodenanwendungen bis hin zu umfangreichen/intensiven Liegenschaften. Im Wesentlichen fehlt uns eine Theorie, die es uns ermöglicht, diesen Raum systematisch zu erkunden, sobald die Daten gekennzeichnet sind.

In diesem Artikel gehen wir beide Herausforderungen an, indem wir mögliche Lösungen aus dem maschinellen Lernen (ML) und der Geospatial-Semantik untersuchen (Egenhofer 2002, Janowicz et al. 2013). Um die erste Herausforderung anzugehen, testen wir mehrere überwachte ML-Klassifizierungsalgorithmen an verschiedenen Arten von (geo-)statistischen Merkmalen, die aus regionalen Statistikdaten extrahiert wurden und die Beziehung zwischen Gebieten und ihren Attributen erfassen (Abschnitt 3). In Bezug auf die zweite Herausforderung überprüfen wir Lehrbuchwissen über die Anwendbarkeit kartografischer und geoinformatischer Methoden und codieren es mit einem algebraischen Modell, das in Form eines Ontologie-Entwurfsmusters ausgedrückt wird (Abschnitt 4). Zusammen mit dem Ergebnis der Geodatenkennzeichnung kann dieses Muster verwendet werden, um Arten von GIS-Tools auszuwählen, die für intensive (IRA) und extensive Regionsattribute (ERA) geeignet sind, für die Workflow-Automatisierung und Daten-/Werkzeugempfehlungen auf Statistikportalen (vgl. Wir erläutern jede Methode, diskutieren ihre Ergebnisse und geben einen Ausblick in den entsprechenden Abschnitten. Wir beginnen mit der Überprüfung des Standes der Technik über umfangreiche und intensive Immobilien.

Online veröffentlicht:

Abbildung 2. Ansatz in diesem Artikel. Wir schlagen ein operationelles Entwurfsmuster und Testansätze für die Kennzeichnung statistischer Attribute und entsprechende GIS-Tools vor. Workflow-Automatisierung und Daten-/Tool-Empfehlung gelten als zukünftige Arbeit.

Abbildung 2. Ansatz in diesem Artikel. Wir schlagen ein operationelles Entwurfsmuster und Testansätze für die Kennzeichnung statistischer Attribute und entsprechende GIS-Tools vor. Workflow-Automatisierung und Daten-/Tool-Empfehlung gelten als zukünftige Arbeit.


2. Methoden

Dieser Abschnitt beschreibt kurz den Symbolic Machine Learning (SML)-Klassifikator im Herzen des GHSL-Bildklassifizierungsworkflows, die Eingabebilder und die Zusatzdaten, die zum Extrahieren der multitemporalen bebauten Flächenraster verwendet werden. Außerdem werden die methodischen Schritte zur Klassifikation der bebauten Gebiete in den einzelnen Epochen und zur Erstellung der endgültigen multitemporalen Raster dargestellt.

2.1. Das symbolische maschinelle Lernen für umfangreiche Datenanalysen

Reduzieren Sie die Dateninstanzen auf eine symbolische Darstellung, auch genannt einzigartige diskrete Datensequenzen

Bewerten Verband zwischen den eindeutigen Datensequenzen X (Eingabemerkmale) und der Lernmenge Y (bekannte Klassenabstraktion, abgeleitet von einer Lernmenge).

In der hier vorgeschlagenen Anwendung wird die Datenabstraktions-Assoziation durch ein Konfidenzmaß namens Evidence-Based Normalized Differential Index (ENDI) bewertet, das im kontinuierlichen [−1, 1]-Bereich erzeugt wird. The ENDI confidence measure Φ of data instances X provided the Y + positive and negative Y − data instances from the learning set is defined as follows: (1) Φ X | Y + , Y − = f + − f − f + + f − (1)

where f + and f − are the frequencies of the joint occurrences among data instances and the positive and negative data instances, respectively.

To achieve a binary classification (i.e. two class datasets: built-up vs. non-built-up surfaces), a cut-off value of Φ is automatically estimated for assigning each data sequence to a single class. For the dataset presented here, the OTSU thresholding approach (Otsu, 1979 ) is used for the purpose of binarizing the ENDI output Φ . The OTSU method chooses an optimal threshold by minimizing within-class variance and maximizing the between-class variance.

The SML automatically generates inferential rules linking the satellite image data to available high-abstraction semantic layers used as learning sets. In principle, any data thematically linked or approximating the “built-up areas” class abstraction with an exhaustive worldwide coverage can be used for deriving human settlements information from any satellite imagery. There is no need for full a priori spatial and temporal alignment between the input imagery, and the learning set nor calibration of the input data as the SML learning process is computationally efficient and can be executed “on-the-fly” for every input satellite scene. Details on the SML algorithm and its suitability for processing of big earth data are provided in (Pesaresi et al., 2016 ). In Pesaresi et al. ( 2015 ), the performance of the SML was compared to alternative supervised classification algorithms such Maximum Likelihood, Logistic Regression, Linear Discriminant Analysis, Naive Bayes, Decision Tree, Random Forest and Support Vector Machine. According to these experiments, at the parity of data conditions (same input image features and same quality or same noise level of the reference set), the SML approach was generally outperforming both parametric and non-parametric classifiers. Furthermore, the better performances were obtained with a much less expensive computational cost. Consequently, the SML classifier was evaluated as the best available solution for large-scale processing of big earth data.

2.2. The Landsat data collections

7,597 scenes acquired by the Multispectral Scanner (MS) (collection 1975)

7,375 scenes acquired by the Landsat 4–5 Thematic Mapper (TM) (collection 1990)

8,788 scenes acquired by the Landsat 7 Enhanced Thematic Mapper Plus (ETM+) (collection 2000) and

9,442 scenes acquired by Landsat 8 Operational Land Imager (OLI) and Thermal Infrared Sensor (TIRS) (collection 2014).

The 1975, 1990, and 2000 collections use the Global Land Survey (GLS) datasets pre-processed by the Maryland University and described in Gutman, Huang, Chander, Noojipady, and Masek ( 2013 ).

The scenes from the collection 2014 were directly downloaded from the USGS website (United States Geological Survey, 2013 ). These input data show large heterogeneity in terms of completeness but also in the sensor characteristics evolving from Landsat-1 to Landsat-8. In this data universe, large differences in the radiometric and spatial resolutions (from 15 to 60 m) of the spectral bands, as well as the noise-to-signal ratio of the data, are observed (Table 1). The data availability in the different collections is shown in Figure 1: there are large data gaps in the northern part of South America and the whole Greenland is missing in the 1975 collection. Alike, large parts of Siberia are missing in the 1990 collection. Moreover, the incomplete metadata information for 16.6% and 32.8% of scenes of the 1975 and 1990 collections, respectively, was not allowing for the estimation of the top-of-atmosphere reflectance parameters and consequently directed us towards a classification strategy based on a per-scene machine learning as proposed in this study.


Watch the video: How to use clip tool in QGIS