Mehr

Wie füge ich mithilfe von mapinfo eine genaue Grenze mit Längen- und Breitengrad für jedes Land hinzu?

Wie füge ich mithilfe von mapinfo eine genaue Grenze mit Längen- und Breitengrad für jedes Land hinzu?


Ich habe ein einfaches Bild, das ich brauche, um eine internationale Grenze mit genauem Längen- und Breitengrad hinzuzufügen, aber ich habe keine Erfahrung mit Mapinfo. Wie ist es möglich? Gibt es eine Möglichkeit, mit diesen Informationen Karten aus Bing oder Google Earth zu importieren?


Sie können Mapinfo-spezifische Schritte über die folgenden Links verweisen:

Georeferenzierung (in MapInfo als Bildregistrierung bezeichnet)

Digitalisierung

Prost!


Kitex, effektiv müssen Sie dies georeferenzieren. Wenn Sie die Gitterkoordinaten Ihres MBR kennen (min/max x und y), ist dies eine sehr einfache Operation, die im Textpad ausgeführt werden kann.

Wenn Sie Probleme haben, teilen Sie mir den Dateinamen (des Bildes) und die Gitterkoordinaten mit und ich sage Ihnen, was Sie zum Textpad hinzufügen müssen, um es zu georeferenzieren.


Welche Parameter sollte ich in einer Google Maps-URL verwenden, um zu einem Latein zu gelangen?

Ich möchte eine URL für Google Maps erstellen, die zu einem bestimmten Breiten- und Längengrad führt. Jetzt generiere ich eine URL wie diese:

Die resultierende Karte enthält einen runden "A"-Ballonzeiger, der auf das nächste benannte Objekt zu zeigen scheint, und einen grünen Pfeil, der auf das Lat-lon zeigt. Manchmal, wie in diesem Beispiel, ist der "A"-Zeiger zentriert und so weit entfernt, dass Sie den Zeiger auf das Lat-Ion nicht sehen können. (Zoomen Sie heraus, um beide Zeiger in diesem Beispiel zu sehen. Der "A"-Zeiger befindet sich in der Mitte von Alaska, während sich der Lat-Long-Zeiger auf Kodiak Island befindet.)

Gibt es einige Parameter, die ich in der Google Maps-URL verwenden kann, die einen einzelnen Zeiger auf ein bestimmtes Lat-Lon erzeugen? (Dies wird in einem separaten Fenster geladen. Es ist nicht eingebettet.)


1 Antwort 1

In Ihrer Frage scheinen Sie die Breitengrade (-90:90) Grad mit den Matrixindizes zu mischen. Da die Karte eine Auflösung von 0,5 Grad hat, laufen diese 0:360. Das gleiche für die Längengrade.

Aus Ihrer Frage bin ich mir also nicht sicher, ob das Problem darin besteht, dass Ihre Vektoren "lon" und "lat" falsch sind (sie sollten wahrscheinlich so etwas wie lon=seq(0,360,by=0.5) sein lat=seq(-90,90 ,by=0.5) ). Offensichtlich erwartet der Befehl map(), dass die Koordinaten in Grad angegeben werden.

Die Abbildung auf dem von Ihnen bereitgestellten Link zeigt jedoch, dass sich die Daten auf dem Längengrad [0,360] befinden, während sich die Daten in worldHires auf [-180,180] befinden. Ich denke, die einfachste Lösung besteht darin, "world2Hires" zu verwenden, was dieselbe Karte ist, jedoch mit auf [0,360] verschobenen Längengraden, die zu Ihrer Karte passen sollte.

Als Randbemerkung ist die Verwendung von worldHires möglicherweise nicht die beste Wahl der Weltkarte. Die Ländergrenzen in einigen Teilen der Welt sind veraltet, und die hohe Auflösung ist im globalen Maßstab nicht so wichtig. Die bloße Verwendung von "world2" (die "2" ist wiederum für die Verschiebung zu [0,360]) würde auf einer globalen Karte wahrscheinlich genauso gut aussehen.

Ich darf hinzufügen, dass die nächste Version von "map" in naher Zukunft eine solche Verschiebung von Längengraden viel einfacher machen wird, ohne dass ein zusätzlicher Datensatz erforderlich ist.


Wo liegt Island?

Island ist ein Inselstaat, der strategisch günstig im Nordatlantik zwischen Europa und Nordamerika am Mittelatlantischen Rücken liegt. Island liegt geografisch sowohl in der nördlichen als auch in der westlichen Hemisphäre der Erde. Island liegt südlich des Polarkreises und grenzt im Süden an den Atlantischen Ozean, im Norden an die Grönlandsee, im Nordwesten an die Dänemarkstraße und im Osten an das Norwegische Meer.

Regionale Karten: Europakarte


Wenn Sie auf einem Roadtrip sind und sich nicht sicher sind, in welchem ​​Bundesland Sie sich gerade befinden. Der Zustand, in dem ich mich befinde, zeigt Ihnen genau, in welchem ​​Zustand Sie sich gerade befinden. Ihr aktueller Standort und Ihre Adresse werden zusammen mit dem Breiten- und Längengrad angezeigt.

Dieses Tool zeigt für diejenigen, die ständig mit dem Flugzeug oder mit dem Zug in verschiedene Länder reisen und sich nicht sicher sind, in welchem ​​​​Land ich mich befinde, an. Vielleicht möchten Sie dieses Tool verwenden, um zu überprüfen, ob sie oder er die Grenze zu einem anderen Land überschreiten wird.


So verarbeiten Sie GRIB2-Wetterdaten für landwirtschaftliche Anwendungen (Shapefile)

Geschrieben von
Elliott Wobler
Ingenieur für technische Lösungen

In diesem Tutorial wird beschrieben, wie Sie mit den globalen Vorhersagedaten von Spire Weather im GRIB2-Format mit Python arbeiten.

Dieses Tutorial verwendet Shapefile-Eingaben.

Überblick

In diesem Tutorial wird beschrieben, wie Sie mit den globalen Vorhersagedaten von Spire Weather im GRIB2-Format mit Python arbeiten.

Wenn Sie noch nie mit GRIB2-Daten gearbeitet haben, empfiehlt es sich, mit dem Tutorial "Erste Schritte" zu beginnen, da dieses aktuelle etwas fortgeschrittenere Themen behandelt.

Dieses Tutorial zeigt insbesondere, wie Sie Bodenfeuchtigkeitsdaten in verschiedenen Tiefen innerhalb der Grenzen eines komplexen Polygons (z. B. einer Landesgrenze) abrufen.

Am Ende dieses Tutorials wissen Sie, wie Sie:

  1. Laden Sie Dateien mit GRIB2-Nachrichten in ein Python-Programm
  2. Überprüfen Sie die GRIB2-Daten, um zu verstehen, welche Wettervariablen enthalten sind
  3. Filtern Sie die GRIB2-Daten nach interessanten Wettervariablen in verschiedenen Tiefen
  4. Beschneiden Sie die GRIB2-Daten auf den durch eine Esri Shapefile-Eingabe definierten Bereich
  5. Konvertieren Sie die transformierten GRIB2-Daten in eine CSV-Ausgabedatei zur weiteren Analyse und Visualisierung

Herunterladen der Daten

Der erste Schritt ist das Herunterladen von Daten aus der Datei-API von Spire Weather.

In diesem Tutorial wird erwartet, dass die GRIB2-Nachrichten NWP-Daten aus Spire's Agricultural Data Bundle enthalten.

Informationen zur Verwendung der File-API-Endpunkte von Spire Weather finden Sie in der API-Dokumentation und den FAQ.

Die FAQ enthält auch detaillierte Beispiele zum gleichzeitigen Herunterladen mehrerer Prognosedateien mit cURL.

Für dieses Tutorial wird davon ausgegangen, dass die GRIB2-Daten bereits erfolgreich heruntergeladen wurden, ansonsten erhalten Sie hier ein Beispiel.

Dateinamen verstehen

Dateien, die von den API-Produkten von Spire Weather heruntergeladen wurden, verwenden alle dieselbe Dateinamenskonvention.

Allein anhand des Dateinamens können wir Folgendes feststellen:

  • das Datum und die Uhrzeit, zu der die Prognose ausgegeben wurde
  • das Datum und die Uhrzeit, für die die prognostizierten Daten gültig sind
  • die horizontale Auflösung der globalen Vorhersagedaten
  • die in der Datei enthaltenen Wetterdatenvariablen (siehe die vollständige Liste der kommerziellen Datenpakete von Spire Weather)

Ausführlichere Informationen zu den oben genannten Punkten finden Sie in unseren FAQ.

Python-Anforderungen

Für dieses Tutorial sind die folgenden Python-Pakete erforderlich.

Obwohl die Verwendung von Conda nicht unbedingt erforderlich ist, ist dies die offiziell empfohlene Methode zur Installation von PyNIO (siehe Link unten).

Nachdem eine Conda-Umgebung erstellt und aktiviert wurde, können die folgenden Befehle direkt ausgeführt werden:

Überprüfung der Daten

Nach dem Herunterladen der Daten und dem Einrichten einer Python-Umgebung mit den erforderlichen Paketen wird im nächsten Schritt der Dateninhalt überprüft, um festzustellen, auf welche Wettervariablen zugegriffen werden kann. Die Dateninspektion kann ausschließlich mit PyNIO durchgeführt werden, aber in diesem Tutorial verwenden wir stattdessen PyNIO als Engine für Xarray und laden die Daten zur Transformation in einen Xarray-Datensatz. Beachten Sie, dass ein expliziter Import von PyNIO nicht erforderlich ist, solange es ordnungsgemäß in der aktiven Python-Umgebung installiert ist.

Importieren Sie zunächst das xarray-Paket:

Öffnen Sie als Nächstes die GRIB2-Daten mit xarray mit PyNIO als Engine (beachten Sie, dass die GRIB2-Daten von Spire stammen sollten’s Landwirtschaftlich Datensammlung):

ds = xr.open_dataset("path_to_agricultural_file.grib2", engine="pynio")

Geben Sie schließlich für jede der Variablen den Nachschlageschlüssel, den lesbaren Namen und die Maßeinheiten aus:

Die Ausgabe des Obigen sollte ungefähr so ​​aussehen und einen klaren Überblick über die verfügbaren Datenfelder geben:

Da dieses Tutorial die Arbeit mit GRIB2-Daten auf verschiedenen vertikalen Ebenen behandelt, sollten wir auch das Feld level_type untersuchen:

Die Ausgabe des obigen sollte wie folgt aussehen:

Beachten Sie, dass lv_DBLL0_l0 und lv_DBLL0_l1 jetzt in der Ausgabe fehlen. Dies liegt daran, dass es sich um spezielle Felder handelt, die Daten enthalten, die die verfügbaren Tiefenbereiche beschreiben. Auf diese beiden Felder werden wir im nächsten Abschnitt zurückkommen: Tiefenwerte verstehen.

Eine andere Sache, die hier hervorzuheben ist, ist, dass SOILW_P0_2L106_GLL0 und TSOIL_P0_2L106_GLL0 den gleichen level_type-Wert haben. Dies bedeutet, dass die gleiche exakte Methodik verwendet werden kann, um die Bodenfeuchtigkeit oder Bodentemperatur in verschiedenen Tiefen zu verarbeiten, obwohl wir für dieses Tutorial nur die Bodenfeuchtigkeit betrachten werden.

Tiefenwerte verstehen

Um die verfügbaren Tiefenwerte besser zu verstehen, können wir mit dem Drucken von Metadaten für die Bodenfeuchtevariable beginnen:
print(ds["SOILW_P0_2L106_GLL0"])
Die Ausgabe des obigen sollte in etwa so aussehen:

Am Ende der ersten Zeile enthält die Liste nicht nur die Indexnamen lat_0 und lon_0, die wir nach dem grundlegenden Tutorial erwarten würden, sondern auch einen neuen namens lv_DBLL0 .
Wir wissen aus unserer vorherigen print-Anweisung, dass sich lv_DBLL0 auf Tiefe unter Landoberfläche bezieht, und die sechste Zeile der neuesten Druckausgabe sagt uns, dass lv_DBLL0 eine Dimension ohne Koordinaten ist. Aus diesen Informationen können wir erahnen, dass es für diese Daten einen dritten Index namens lv_DBLL0 gibt, der die Tiefe in den Boden angibt, der die Feuchtigkeitsdaten entsprechen.
Wir können Metadaten auf einen Index mit der gleichen Methode drucken, die zum Prüfen von Variablen verwendet wird:
print(ds["lv_DBLL0"])
Die Ausgabe des obigen sollte wie folgt aussehen:

Die erste Zeile der Ausgabe sagt uns, dass es vier mögliche Werte gibt, ausgedrückt als (lv_DBLL0: 4) , und die zweite Zeile sagt uns, was diese Werte sind: [0, 1, 2, 3]
Dies bedeutet, dass es für jedes eindeutige Paar von lat_0- und lon_0-Koordinaten vier verschiedene Bodenfeuchtewerte gibt, die durch Angabe eines lv_DBLL0-Werts von 0, 1, 2 oder 3 abgerufen werden können.
Um zu bestimmen, welchen Tiefenbereichen diese Indexwerte tatsächlich entsprechen, müssen wir die entsprechenden Variablen unserer anfänglichen Druckausgabe untersuchen: lv_DBLL0_l0 und lv_DBLL0_l1
print(ds["lv_DBLL0_l0"])
Die Ausgabe des obigen sollte wie folgt aussehen:

Dasselbe können wir dann für die Variable lv_DBLL0_l1 tun:
print(ds["lv_DBLL0_l1"])
Die Ausgabe des obigen sollte wie folgt aussehen:

Dies sagt uns Folgendes:

ein lv_DBLL0-Wert von 0 entspricht einem lv_DBLL0_l0-Wert von 0,0 Metern und einem lv_DBLL0_l1-Wert von 0,1 Metern

ein lv_DBLL0-Wert von 1 entspricht einem lv_DBLL0_l0-Wert von 0,1 m und einem lv_DBLL0_l1-Wert von 0,4 m

ein lv_DBLL0-Wert von 2 entspricht einem lv_DBLL0_l0-Wert von 0,4 Metern und einem lv_DBLL0_l1-Wert von 1,0 Metern

ein lv_DBLL0-Wert von 3 entspricht einem lv_DBLL0_l0-Wert von 1,0 m und einem lv_DBLL0_l1-Wert von 2,0 m

ein lv_DBLL0-Wert von 1 entspricht einer Tiefe von 10 cm bis 40 cm

ein lv_DBLL0-Wert von 2 entspricht einer Tiefe von 40 cm bis 100 cm

ein lv_DBLL0-Wert von 3 entspricht einer Tiefe von 100 cm bis 200 cm

Verarbeitung der Daten

Da wir nun wissen, welche Wettervariablen und vertikalen Ebenen in den GRIB2-Daten enthalten sind, können wir mit der Verarbeitung unseres Xarray-Datensatzes beginnen.

Filtern der Röntgendaten nach einer bestimmten Variablen

Mit xarray ist das Filtern des Inhalts des Datensatzes auf eine einzelne interessierende Variable sehr einfach:

Die Auswahl mehrerer Variablen ist auch möglich, indem ein Array von Strings als Eingabe verwendet wird: ds = ds.get([var1, var2])

Es wird empfohlen, diesen Schritt vor der Konvertierung des Xarray-Datasets in einen Pandas-DataFrame auszuführen (anstatt den DataFrame später zu filtern), da dies die Größe der zu konvertierenden Daten minimiert und somit die Gesamtlaufzeit reduziert.

Konvertieren der Xarray-Daten in einen pandas.DataFrame

Um das gefilterte Xarray-Dataset in einen Pandas DataFrame zu konvertieren, führen Sie einfach Folgendes aus:

Filtern des pandas.DataFrame auf einen bestimmten Tiefenbereich

Mit den gesammelten Informationen aus dem Tiefenwerte verstehen Abschnitt können wir den DataFrame jetzt auf einen bestimmten Tiefenbereich filtern.

Als erstes kopieren wir die Tiefenindexwerte in eine neue DataFrame-Spalte:

Als Nächstes erstellen wir den Ausdruck, den wir zum Filtern des DataFrame verwenden.

Aus unserer vorherigen Analyse wissen wir, dass ein lv_DBLL0-Wert von 0 einer Tiefe von 0 cm bis 10 cm entspricht.

Daher können wir die Bodenfeuchtigkeitsdaten mit dem folgenden Ausdruck auf einen Tiefenbereich von 0-10 cm filtern:

Schließlich wenden wir den Filter auf den DataFrame an:

Unser DataFrame wurde jetzt so gefiltert, dass er nur Bodenfeuchtigkeitsdaten im Tiefenbereich von 0-10 cm enthält.

Laden eines Esri Shapefiles mit dem GDAL Python-Paket

Obwohl das Paket, das wir mit conda installiert haben, gdal heißt, importieren wir es als osgeo in Python. Dies ist eine Abkürzung der Open Source Geospatial Foundation, über die GDAL/OGR (eine freie und quelloffene Software) lizenziert wird.

Das ursprünglich von Esri entwickelte Shapefile-Format ist ein gängiger Standard in der Welt der geografischen Informationssysteme. Es definiert die Geometrie und Attribute von geografisch referenzierten Features in drei oder mehr Dateien mit bestimmten Dateierweiterungen. Die drei obligatorischen Dateierweiterungen sind .shp , .shx und .dbf — und alle diese zugehörigen Komponentendateien werden voraussichtlich im selben Dateiverzeichnis gespeichert. Viele bereits vorhandene Shapefiles können kostenlos online heruntergeladen werden (z. B. Landesgrenzen, ausschließliche Wirtschaftszonen usw.) und auch benutzerdefinierte Shapes können in einer Vielzahl von kostenlosen Softwaretools erstellt werden. In diesem Beispiel verwenden wir das Land Italien als unser komplexes Polygon, aber dies könnte genauso gut die Ausdehnung einer Farm oder eines anderen subregionalen Gebiets sein.

Beim Öffnen eines Shapefiles mit GDAL müssen wir nur auf die Datei mit der Erweiterung .shp verweisen. Es ist jedoch erforderlich, dass die anderen Komponentendateien im selben Verzeichnis vorhanden sind. Wenn wir eine Datei namens italy.shp öffnen, sollten sich im selben Verzeichnis zumindest auch die Dateien italy.shx und italy.dbf befinden.

Nachdem wir den Treiber und den Pfad zu unserem Shapefile-Polygon definiert haben, können wir es wie folgt in unser Skript laden:

Abrufen des Begrenzungsrahmens, der einen Shapefile-Bereich enthält

Schließlich werden wir die Daten auf den genauen Bereich beschneiden, der durch das Shapefile definiert wird, aber dies ist ein rechenintensiver Prozess, daher ist es am besten, zuerst die Datengröße zu begrenzen. Theoretisch könnten wir den Schritt des Zuschneidens auf eine einfache Box ganz überspringen, aber in der Praxis lohnt es sich, die Gesamtlaufzeit zu reduzieren.

GDAL erleichtert die Berechnung des groben Begrenzungsrahmens, der einen komplexen Shapefile-Bereich enthält:

Auf Koordinatenwerte kann dann einzeln aus dem resultierenden Array zugegriffen werden:

Die Reihenfolge der Geokoordinaten ist eine häufige Ursache für Verwirrung. Beachten Sie daher, dass die GetExtent-Funktion von GDAL ein Array zurückgibt, in dem die Längengradwerte vor den Breitengradwerten stehen.

Zuschneiden des pandas.DataFrame auf einen räumlichen Begrenzungsrahmen

Nachdem die gefilterten Daten nun in einen Pandas DataFrame konvertiert wurden und wir die Grenzen unseres Interessenbereichs haben, können wir die Daten auf ein einfaches Feld zuschneiden.

Der erste Schritt in diesem Prozess ist das Entpacken der Breiten- und Längengrade aus dem DataFrame’s-Index, auf den über die Indexnamen lat_0 und lon_0 zugegriffen werden kann:

Obwohl die Breitenwerte bereits im Standardbereich von -90 degradieren zu +90 Grad, Längengradwerte liegen im Bereich von 0 zu +360.

Um die Arbeit mit den Daten zu erleichtern, konvertieren wir Längengradwerte in den Standardbereich von -180 Grad zu +180 Grad:

Da Breiten- und Längengraddaten jetzt in den gewünschten Wertebereichen liegen, können wir sie als neue Spalten in unserem bestehenden DataFrame speichern:

Dann verwenden wir die Bounding-Box-Werte aus dem vorherigen Abschnitt (die Komponenten des bbox-Arrays), um die DataFrame-Filterausdrücke zu konstruieren:

Schließlich wenden wir die Filter auf unseren bestehenden DataFrame an:

Der resultierende DataFrame wurde auf die Grenzen der Box zugeschnitten, die den komplexen Shapefile-Bereich enthält.

Zuschneiden des pandas.DataFrame auf die genauen Grenzen eines Shapefile-Bereichs

Um den DataFrame auf die genauen Grenzen des komplexen Shapefile-Bereichs zuzuschneiden, müssen wir jedes Koordinatenpaar in unseren Daten überprüfen. Ähnlich wie im vorherigen Abschnitt, in dem wir jeden Längengradwert neu zugeordnet haben, führen wir diese Aktion mit einem Kartenausdruck aus.

Um jedes Koordinatenpaar an die Kartenfunktion zu übergeben, erstellen wir eine neue DataFrame-Spalte namens point, in der jeder Wert ein Tupel ist, das sowohl Breiten- als auch Längengrade enthält:

Wir können dann jeden Tupelwert jedes Koordinatenpaars zusammen mit dem zuvor geladenen Shapefile-Bereich an die Kartenfunktion übergeben und sie in einer Funktion namens check_point_in_area verarbeiten, die wir unten definieren. Die Funktion check_point_in_area gibt entweder True oder False zurück, um anzuzeigen, ob sich das bereitgestellte Koordinatenpaar innerhalb des Bereichs befindet oder nicht. Als Ergebnis erhalten wir eine neue DataFrame-Spalte mit booleschen Werten namens inArea:

Sobald die Spalte inArea gefüllt ist, führen wir einen einfachen Filter durch, um Zeilen zu entfernen, bei denen der inArea-Wert False ist. Dadurch werden effektiv Daten für alle Punktpositionen entfernt, die sich nicht innerhalb des Shapefile-Bereichs befinden:

Der Erfolg des oben Gesagten hängt natürlich von der Logik innerhalb der Funktion check_point_in_area ab, die wir noch nicht implementiert haben. Da der Shapefile-Bereich mit GDAL geladen wurde, können wir eine GDAL-Geometriemethode namens Enthält nutzen, um schnell zu überprüfen, ob der Bereich einen bestimmten Punkt enthält. Dazu muss das Koordinatenpaar in GDAL zunächst in eine wkbPoint-Geometrie umgewandelt werden:

Wie Sie sehen, ist die einzige Variable, die von der Funktion check_point_in_area zurückgegeben wird, ein boolescher Wert, der angibt, ob sich der angegebene Punkt im Bereich befindet oder nicht. Diese booleschen Werte füllen dann die neue Spalte inArea DataFrame. Dies ermöglicht es uns, den Filter von oben anzuwenden und am Ende die genau zugeschnittenen Daten zu erhalten, die wir wollen:

Parsen der Vorhersagezeit aus dem Dateinamen

Jede einzelne Datei enthält globale Wettervorhersagedaten für denselben Zeitpunkt.

Nutzen Sie unser Wissen aus dem Dateinamen verstehen Abschnitt dieses Tutorials und vorausgesetzt, dass das Argument Dateiname das erwartete Format hat, können wir eine Funktion schreiben, um die gültige Vorhersagezeit aus dem Dateinamen zu analysieren:

Dann können wir eine neue DataFrame-Spalte für time erstellen, die diesen Wert als String in jeder Zeile speichert:

Obwohl es unnötig erscheinen mag, in jeder Zeile den gleichen genauen Zeitstempelwert zu speichern, ist dies ein wichtiger Schritt, wenn wir unseren DataFrame schließlich mit Prognosedaten für andere Zeiten verketten möchten (siehe unten in Verarbeitung mehrerer Datendateien).

Speichern der Daten in einer CSV-Ausgabedatei

Führen Sie einen letzten Filter für unseren DataFrame durch, um nur die Spalten auszuwählen, die wir in unserer Ausgabe haben möchten, wobei Variable eine Zeichenfolge wie "SOILW_P0_2L106_GLL0" ist:

Speichern Sie den verarbeiteten DataFrame in einer CSV-Ausgabedatei:

Durch Setzen des Parameters index=False wird sichergestellt, dass die DataFrame-Indexspalten nicht in die Ausgabe aufgenommen werden. Auf diese Weise schließen wir die Werte lat_0 , lon_0 und lv_DBLL0 aus, da wir bereits Spalten für den Breitengrad und den neu zugeordneten Längengrad haben (und alle verbleibenden Daten nach unserer Filterung in derselben Tiefe liegen).

Bitte beachten Sie, dass die Konvertierung von GRIB2 in CSV dazu führen kann, dass sehr große Dateigrößen, insbesondere wenn die Daten nicht wesentlich beschnitten oder gefiltert sind.

Verarbeitung mehrerer Datendateien

Es ist oft wünschenswert, mehrere Datendateien gleichzeitig zu verarbeiten, um die Ergebnisse in einer einzigen einheitlichen CSV-Ausgabedatei zu kombinieren.

Nehmen wir zum Beispiel an, dass wir gerade die Spire Weather API verwendet haben, um eine vollständige Wettervorhersage im Wert von GRIB2-Daten in ein lokales Verzeichnis namens "forecast_data/" herunterzuladen. Wir können diese Dateinamen dann in eine Liste einlesen und sie zur besseren Orientierung alphabetisch sortieren:

Von hier aus können wir durch die Dateinamen iterieren und jeden einzelnen an eine Funktion übergeben, die die im Abschnitt beschriebenen Schritte ausführt Verarbeitung der Daten Abschnitt dieses Tutorials.

Sobald alle unsere endgültigen DataFrames fertig sind, können wir Pandas verwenden, um sie wie folgt zu verketten (wobei final_dataframes eine Liste von DataFrames ist):

Am Ende erhalten wir einen kombinierten DataFrame namens output_df, den wir wie zuvor in einer Ausgabe-CSV-Datei speichern können:

Vollständiger Code

Unten finden Sie ein funktionsfähiges Python-Skript, das die in diesem Tutorial beschriebenen Techniken verwendet und auch erklärende Inline-Kommentare enthält.

Das Skript benötigt vier Argumente:

Die interessierende Wetterdatenvariable ( SOILW_P0_2L106_GLL0 oder TSOIL_P0_2L106_GLL0 )

Das lokale Verzeichnis, in dem die GRIB2-Daten von Agricultural Weather gespeichert sind

Das lokale Verzeichnis, in dem die Shapefile-Komponenten gespeichert sind

Der Tiefenbereichsindexwert zum Filtern der Daten auf eine einzelne vertikale Ebene ( 0 , 1 , 2 oder 3 )

Das Skript kann beispielsweise so ausgeführt werden:

python script.py --variable SOILW_P0_2L106_GLL0 --source-data grib_directory/ --shapefile shpfile_directory/italy.shp --depth 0

Hier ist der vollständige Code:

Abschließende Anmerkungen

Mit der CSV-Datenausgabe unseres endgültigen Skripts können wir die verarbeiteten Daten jetzt einfach in einem kostenlosen Tool wie kepler.gl visualisieren. Wir können auch Schwellenwerte für Warnungen festlegen, Statistiken erstellen oder mit anderen Datensätzen fusionieren.

Die unten stehende Visualisierung – wurde ursprünglich in einer Spire-Datenstory verwendet – wurde mit Kepler unter Verwendung der in diesem Tutorial behandelten Techniken erstellt. Spire Weather bietet auch vorgefertigte Visualisierungen über die Web Map Service (WMS) API, über die Sie hier mehr erfahren können.

Weitere Codebeispiele finden Sie im öffentlichen GitHub-Repository von Spire Weather.


Holen Sie sich erstklassige Standort- und Mobilitätstechnologie

Erstellen Sie Ihre Lösungen mit Echtzeit-Standortinformationen, die von erstklassigen Mobilitätstechnologiepartnern unterstützt werden TomTom, AccuWeather, und Moovit. Integrieren Sie einfach erweiterte Standort- und Mobilitätsfunktionen in Ihre Anwendungen mit Geodatendiensten, die in Azure Maps nativ sind.


GPScoordinates.info wird verwendet, um die Breiten- und Längenkoordinaten eines Point of Interest zu bestimmen, um sie in einem GPS, egal ob Navigator, Handy oder Computer, zu verwenden, um das Ziel auf einfachste und schnellste Weise zu erreichen.

Das verwendete Koordinatensystem ist das WGS84-System, das standardmäßig in den meisten GPS- und IGN-Systemen verwendet wird, das topografische und Wanderkarten in demselben System veröffentlicht.
Die Koordinaten werden in Dezimalgrad (ddd. ddddddd°) angegeben, der Breitengrad wird nördlich des Äquators positiv gezählt und der Längengrad östlich des Greenwich-Meridians (z. B. Breite N 47.35909°, Länge E -122.14190°).

Was ist Längengrad?

Der Längengrad ist ein anderer Winkelwert, ein Ausdruck der Ost- oder Westposition eines Punktes auf der Erde. In der Geodäsie ist es der Winkel in der Mitte, der die Ebene bildet, die durch diesen Punkt und die Rotationsachse der Erde mit der Ebene des Greenwich-Meridians geht.

Was ist Breitengrad?

Der Breitengrad ist ein Winkelwert, ein Ausdruck der Nord- oder Südposition eines Punktes auf der Erde. Aus mathematischer Sicht ist der Breitengrad eines Punktes der Winkel in der Mitte, der an diesem Punkt mit der Äquatorialebene den Normalenwinkel (vertikal) bildet.

Alle Daten, die Sie auf der Website finden, sind vollständig echt und wurden vor der Veröffentlichung getestet.


Feuerwehr-Abfrage

Fragen Sie eine Adresse oder ein Paket ab, um Ihren Feuerwehrbezirk zu bestimmen oder um eine Feuerwache oder einen Verwaltungsstandort zu finden. Diese Karte enthält auch andere Bezirke, wie z. B. CSDs, die ebenfalls Brandschutz bieten.

Datenschutzerklärung

Um Ihre Privatsphäre zu schützen, zeigen wir bei allen Suchen, die Sie auf dieser Website durchführen, keine Informationen zu Eigentumsidentität/Eigentum an. Abschnitt 6254.21 des California Government Code verbietet die Veröffentlichung von Privatadressen oder Telefonnummern eines gewählten oder ernannten Beamten (oder seiner Familie) im Internet, ohne zuvor die schriftliche Genehmigung dieser Person einzuholen. Mit Wirkung vom 1. Januar 2003 ändert Kapitel 621 Abschnitt 6254.21, um dieses Verbot auf „Beamte der öffentlichen Sicherheit“ (und ihre Familie) auszudehnen.

HINWEIS: Bewegen Sie den Mauszeiger über ein Kartenwerkzeugsymbol, um den Namen eines bestimmten Werkzeugs anzuzeigen. Die Funktion dieses Tools finden Sie in der folgenden Liste.

DIE KARTEN-TOOLS

Maßstabsleiste / Breiten- und Längengrad / Lesezeichen erstellen / Lesezeichen teilen / Zoom-Tools / Karte drucken / Karte aktualisieren

Lesezeichen hinzufügen

Speichern Sie häufig besuchte Orte oder Funktionen.

Ort teilen

Teilen Sie Ihr Lesezeichen für einen Ort oder eine Funktion

Hineinzoomen

Klick auf das " +", um eine allgemeine Position zu vergrößern. Um einen bestimmten Bereich zu vergrößern, klicken Sie auf die Karte selbst. Die Karte wird mit der doppelten aktuellen Auflösung neu gezeichnet. Die Karte wird auf den Punkt zentriert, auf den Sie geklickt haben.

Rauszoomen

Klick auf das " -", um an einer verallgemeinerten Position herauszuzoomen.

Drucken

Erstellen Sie hochwertige Kartendrucke mit Feature-Highlights und Popup-Fenstern.

Kartentool aktualisieren

Wenn dieses Werkzeug gedrückt wird, kehrt die Karte in ihre Standardposition zurück.

NAVIGATIONSTOOLS

Pop-ups für Informationen und Tools Tool

Öffnen und schließen Sie die Popup-Fenster Funktionsinformationen, Symbolleiste und Kopfzeile/Menü, indem Sie auf klicken

Sich bewegen

Um auf der Karte herumzuschwenken (von einer Seite zur anderen oder nach oben und unten bewegen), klicken, halten und ziehen.

Funktionsinfo-Popup

Öffnet, wenn ein Feature angeklickt wird. Die meisten Funktionen haben beim "Anklicken" ein "Pop-up". Diese Funktion enthält grundlegende Informationen zu der Funktion, auf die Sie geklickt haben.

Kopf-/Menüleiste

Dies wird zusammengeklappt, wenn Sie auf den "Pfeil nach oben" am linken Rand klicken:


Kartenlegende

Erweitern Sie die Kartenlegende Fenster in der unteren rechten Ecke des Kartenbildschirms. Alle Funktionen in der Legende, die mit einem "Kontrollkästchen" gekennzeichnet sind, können auf "Ein" oder "Aus" geschaltet werden. Beim Öffnen des Programms werden nur einige der Funktionen überprüft. Diese sind voreingestellt, damit Ihr Computer die Daten schneller verarbeiten kann. HINWEIS: Das Rendern einiger Layer (je nach Datenquelle und Netzwerkgeschwindigkeit) kann einige Zeit in Anspruch nehmen.

Eine Community oder einen Ort abfragen

Das Abfrage eines Community- oder Place-Tools ist es gewohnt, schnell zu einer bekannten Community oder einem bekannten Ort zu gelangen. Wählen Sie Ihren gewünschten Standort aus dem Dropdown-Menü aus. Klicken Sie auf „Ergebnisse abrufen“ und zoomen Sie auf diese Position.

Datenzusammenfassungstool

Das Datenzusammenfassungstool ermöglicht es Ihnen, Features in einem Layer auszuwählen und dann Features in einem zweiten Layer zu finden, die bestimmte Kriterien erfüllen (z. B. sich innerhalb einer bestimmten Entfernung schneiden). Auswahlwerkzeuge umfassen Radius-, Kasten-, Form- und Attributfilter. Klicken Sie auf „Ergebnisse abrufen“ und exportieren Sie Ihre Daten.

Paketsuche

Geben Sie eine Assessor Parcel Number (APN) in das Suchfeld ein (in diesem Format: 123456789) und klicken Sie auf "Los". Die Karte zoomt automatisch auf den Standort und markiert Ihre Anfrage.

Schnelle Adresssuche, Paket- oder Koordinatensuche

Wählen Sie eine Option unter dem Adressfeld aus. Geben Sie eine Adresse ein (wählen Sie Adresse), Koordinaten (wählen Koordinate für Breitengrad/Längengrad) oder Paketnummer (wählen Sie Daten und geben Sie die Paketnummer in diesem Format ein: 123456789) in das Suchbox (befindet sich in der oberen rechten Ecke des Kartenbildschirms. Die Karte zoomt automatisch auf den Standort.

Ändern Sie die Grundkarte

Sie können aus einer Reihe von Grundkarten auswählen, darunter HERE-Luftbilder, Gelände-, topografische und Straßenkarten sowie HERE Maps-Straßen, -Satelliten, -Hybridkarten und -Gelände.

Druckfähiges PDF erstellen

Erstellen Sie eine druckbare Version Ihrer benutzerdefinierten Karte im Portable Document Format (PDF) von Adobe. Das Generieren des PDFs kann einige Zeit in Anspruch nehmen.

Messen (auf der Karte zeichnen)

Wählen Sie ein Zeichenwerkzeug und das Fenster wird automatisch geschlossen und Sie können Ihrer Karte Formen hinzufügen, um einen Bereich hervorzuheben oder einen bestimmten Punkt anzugeben. Das Tool berechnet auch Entfernung und Fläche. Doppelklicken Sie, um Polygone zu schließen.

Google Street View

Dieses Tool integriert Street View von Google nahtlos in Ihre Karte.

Geolokalisierung

Zoomen Sie auf Ihren aktuellen Standort und verfolgen Sie Ihre Bewegungen auf Ihrem Handy, Tablet oder Netbook. Bei Aktivierung wird Ihr Standort auf der Karte angezeigt. Für diese Funktion muss der Benutzer seinen Webbrowser autorisieren, um seinen Standort zu kennen.

Lesezeichen

Zoomen Sie schnell zu allen gespeicherten Lesezeichen, die Sie erstellt haben. Verwenden Sie die Symbolleiste oben auf der Karte, um ein Lesezeichen zu erstellen.

Haftungsausschluss und Nutzungsbeschränkungen:

Die Daten, auf die über diese Website zugegriffen wird, bieten eine visuelle Anzeige von geografischen Informationen als öffentliche Ressource für allgemeine Informationen zur Verwendung "wie sie sind", "wie verfügbar" und "mit allen Fehlern". Die präsentierten Daten werden aus einer Vielzahl von Quellen aggregiert. Wir haben versucht, diese verschiedenen Datenquellen so gut wie möglich zu integrieren. Jede datenliefernde Stelle kann ihre eigenen internen Standards für Genauigkeit und Aktualität haben, daher kann der GIS-Bereich die Übereinstimmung der verschiedenen Datenquellen nicht garantieren. Obwohl alle zumutbaren Anstrengungen unternommen wurden, um den Inhalt, die Reihenfolge, die Genauigkeit, die Aktualität oder die Vollständigkeit der in diesen Daten enthaltenen Materialien sicherzustellen, übernimmt Plumas County GIS keine Haftung für: 1. Fehler, Auslassungen oder Ungenauigkeiten in den bereitgestellten Informationen, ungeachtet 2. Jede Entscheidung oder Handlung, die vom Benutzer im Vertrauen auf die hierin bereitgestellten Informationen oder Daten getroffen oder nicht getroffen wird.

In allen Situationen, in denen die offiziellen gedruckten Veröffentlichungen von Plumas County von den in diesem System enthaltenen Texten oder grafischen Darstellungen abweichen, haben die offiziellen gedruckten Dokumente Vorrang. Wenn der Landkreis auf irreführende, ungenaue oder anderweitig unangemessene Informationen aufmerksam gemacht wird, werden angemessene Anstrengungen unternommen, um diese zu korrigieren oder zu entfernen.

Durch die Nutzung dieser interaktiven GIS-Webkarte übernehmen Sie alle Risiken, die mit der Nutzung dieser Site verbunden sind, einschließlich der Gefahr, dass Ihr Computer, Ihre Software oder Ihre Daten durch Viren, Software oder andere Dateien, die über Plumas übertragen oder aktiviert werden, beschädigt werden Kreisseite oder Ihren Zugang dazu. Daher erklären sich die Benutzer durch die Nutzung dieser Website für jeden Zweck einverstanden, Plumas County von jeglicher Haftung jeglicher Art freizustellen, zu verteidigen und schadlos zu halten, die sich aus oder aufgrund der mangelnden Genauigkeit oder Korrektheit der Daten oder der Verwendung von die auf der Website präsentierten Daten.

Plumas County gibt keine Zusicherungen oder Gewährleistungen in Bezug auf den Zustand oder die Funktionalität dieser Website, ihre Eignung für die Nutzung oder dafür, dass dieser Webservice ununterbrochen oder fehlerfrei ist.

  • - Alle GIS-Daten weisen inhärente räumliche Ungenauigkeiten auf, einschließlich Luftbilder. Manchmal stimmen die Luftdaten (die auf vor dem Flug erfassten Längen- und Breitengradkoordinaten basieren) nicht richtig mit den Flurstück- oder Straßendaten überein und können unterschiedliche Genauigkeitsgrade aufweisen. Luftbilder können durch Höhenunterschiede, Linsenverzerrungen und Kameraneigung verursachte Merkmalsverschiebungen und Maßstabsabweichungen aufweisen. Parzellenbegrenzungslinien sollten als grafische Darstellung und in keiner Weise als Rechtsgutachten oder technisches Dokument betrachtet werden.
  • - Diese Daten dienen nur der visuellen Darstellung und enthalten möglicherweise nicht alle Daten, die durch direkte Kontaktaufnahme mit Plumas County Planning Services oder GIS verfügbar sind.
  • - Die GIS-Daten von Plumas County dienen nur zu Informationszwecken und sollten nicht verwendet werden, um genaue Grenzen, Parzellengrenzen, Schätzungen, technische oder rechtliche Beschreibungen zu bestimmen. Die GIS-Daten von Plumas County sind nicht als offizielle Erhebungen zu verstehen. Die standortspezifische Bewertung sollte durch eine Feldbegehung verifiziert werden. Darüber hinaus ändern sich die Landinformationen ständig und die aktuellsten oder genauesten Daten werden hier möglicherweise nicht dargestellt.
  • - Primärquellen, aus denen diese Daten zusammengestellt wurden, müssen zur Überprüfung der in diesen Daten enthaltenen Informationen herangezogen werden. Wenden Sie sich an das zuständige County Department, um Originalquellendokumente zu erhalten oder für offizielle Feststellungen. Sie können sich auch an die Plumas County Planning Services unter (530) 283-7011 wenden, um weitere Informationen zu erhalten.

Lesen Sie den Haftungsausschluss und die Nutzungsbeschränkungen sorgfältig durch. Durch Anklicken des "AKZEPTIEREN" button, you agree that you have read and understand the preceding information and you will be able to enter the online mapping and data download page.

Plumas County Geographic Information Systems (GIS) is a division of Plumas County's Planning Services. GIS develops, maintains and distributes spatial information to aid in the creation of maps and data analysis to support County departments and their customers.

Contact Info:
Questions about Plumas County's GIS program should be directed to:


Inhalt

The survey was begun in 1871, shortly after Manitoba and the North-West Territories became part of Canada, following the purchase of Rupert's Land from the Hudson’s Bay Company. Covering about 800,000 square kilometres (310,000 sq mi), the survey system and its terminology are deeply ingrained in the rural culture of the Prairies. The DLS is the world's largest survey grid laid down in a single integrated system. The first formal survey done in western Canada was by Peter Fidler in 1813. [2]

The inspiration for the Dominion Land Survey System was the plan for Manitoba (and later Saskatchewan and Alberta) to be agricultural economies. With a large number of European settlers arriving, Manitoba was undergoing a large change so grasslands and parklands were surveyed, settled, and farmed. [3] The Dominion Land Survey system was developed because the farm name and field position descriptions used in northern Europe were not organized or flexible enough, and the township and concession system used in eastern Canada was not satisfactory. The first meridian was chosen at 97°27′28.4″ west longitude and was established in 1869. Another six meridians were established after. [4]

A number of places are excluded from the survey system: these include federal lands such as First Nation reserves, federal parks, and air weapon ranges. The surveys do not encroach on reserves because that land was established before the surveys began. When the Hudson's Bay Company relinquished its title to the Dominion on July 15, 1870, via the Deed of Surrender, it received Section 8 and all of Section 26 excluding the northeast quarter. These lands were gradually sold by the company and in 1984 they donated the remaining 5,100 acres (21 km 2 ) to the Saskatchewan Wildlife Association. [5]

The surveying of western Canada was divided into five basic surveys. Each survey's layout was slightly different from the others. The first survey began in 1871 and ended in 1879 and covers some of southern Manitoba and a little of Saskatchewan. The second and smallest survey, in 1880, was used in only small areas of Saskatchewan. This system differs from the first survey because rather than running section lines parallel to the eastern boundary they run true north-south. The largest and most important of these surveys was the third, which covers more land than all the others surveys put together. This survey began in 1881. That method of surveying is still used in Saskatchewan and Manitoba. [5] The fourth and fifth surveys were used only in some townships in British Columbia.

The reason that the Canadian government was pushing to subdivide Manitoba, Saskatchewan, and Alberta was to affirm Canadian sovereignty over these lands. The United States was undergoing rapid expansion in the 1860s, and the Canadian government was afraid that the Americans would expand into Canadian territory. Canada's introduction of a railway and surveying was a means to discourage American encroachment. Sir John A. Macdonald remarked in 1870 that the Americans "are resolved to do all they can short of war, to get possession of our western territory, and we must take immediate and vigorous steps to counteract them." [6]

The beginning of the Dominion Land Survey marked a new era for western Canada. Railways were making their way to the West and the population of western regions began to increase. The introduction of the survey system marked the end of the nomadic ways for the First Nations and Metis. This did not go over well and was a catalyst to the events of the Red River Rebellion. [6]

Being a surveyor was not easy. The hours were long, the time away from civilization was longer, and the elements were unforgiving. A survey party generally consisted of up to 20 members, which would include a party chief, chain men, a cook, people to saw trees, a recorder, and people to turn angles. All travel was either on horseback or by foot. To begin surveying a party chief would have to buy approximately $400 worth of instruments. These instruments included an alidade, dumpy level, theodolite, Gunter's chain (which was replaced by a steel tape), and a solar compass or a vernier compass. [2]

The Dominion Land Survey system was proposed in 1869 by John Stoughton Dennis. The initial plan, though based on the square townships of the American Public Lands Survey System, involved 9-mile townships divided into sixty-four 800-acre sections consisting of four 200-acre lots each. Work to establish the first meridian and few township outlines began and quickly ended in 1869 when a party of Metis symbolically stepped on a survey chain, beginning the Red River Resistance. Work resumed in 1871 however, the system was redesigned to use 6-mile townships with 640-acre sections based on a suggestion from Lieutenant-Governor of the North-West Territories William McDougall, who advocated that most of the settlers would come from the United States, so it was "advisable to offer them lots of a size to which they have been accustomed." The Dominion Land Survey System still differed from the Public Land System because it contained road allowances. [6]

The Dominion Land Survey was enormous. Around 178,000,000 acres (720,000 km 2 ) are estimated to have been subdivided into quarter sections, 27 million of which were surveyed by 1883 (14 years after the system's inception). The amount of work undertaken between 1871 and 1930 is given justice by the amount of paperwork submitted: the maps, plans, and memos transferred by the Canadian government to the provinces filled approximately 200 railway cars. This did not include closed or dormant files, which would fill 9,000 filing cabinets and weigh about 227 tons. [6]

Until very recently, surveying to take distance and angular measurements was done with manually controlled instruments. Distance was measured using either a chain or more recently a transit or range finder. To turn angles, a theodolite was used. To find their location, they used astronomical observations, and to find elevation, levels and barometers were used. [7] To see over long distances, towers were constructed from timber in flat and wooded areas. [8]


Schau das Video: Breddegrader og lengdegrader