Basierend auf dem Breiten- und Längengrad der CSV-Datei habe ich ein Skript erstellt, das Daten im Zielbereich extrahiert und Netzcode hinzufügt.
[Hinweis] Ich habe ein Skript zum Konvertieren von Daten im Grib2-Format in eine CSV-Datei erstellt
--Csv-Datei eingeben ――Die 5. und 6. Spalte geben den Längen- und Breitengrad an, und die 7. Spalte gibt den Niederschlagswert an.
highres_nowcast_add_meshcode.py
# -*- coding: utf-8 -*-
import os
import glob
import csv
import pandas as pd
import pprint
import calendar
import jismesh.utils as ju
#Geben Sie die Ausgabedatei an
output_csvfile = "./out/highres_nowcast_anl_kanto.csv"
#Zielbereichseinstellung
y1 = 37.29166666666667
y2 = 34.04166666666667
x1 = 140.9375
x2 = 137.0625
#Ausgabedatei geöffnet
with open(output_csvfile, 'a', encoding='utf-8', newline="") as f:
#Rufen Sie den Pfad aller CSV-Dateien im Ordner ab
All_Files = glob.glob('./data/*.csv')
pprint.pprint (All_Files)
#Schleifenverarbeitung für die Anzahl der CSV-Dateien
for file in All_Files:
#Daten in Liste speichern
df = pd.read_csv(file, header=None, encoding='utf-8')
print(u'Ende des Speicherprozesses im Datenrahmen')
#Geben Sie einen Spaltennamen an
df.columns = ["time_s_utc","time_f_utc","sign","surface","lon","lat","rain"]
print("---Vor der Datenextraktion---")
#Zeigen Sie die ersten 5 Werte an
print(df.head(5))
#Siehe dtype für jede Spalte
print(df.dtypes)
#Nehmen Sie die Anzahl der Zeilen und Spalten
print(df.shape)
#Extrahieren Sie Daten im Zielbereich
df_kt = df[(df["lon"]>x2) & (df["lon"]<x1) & (df["lat"]>y2) & (df["lat"]<y1)]
#5. Mesh-Code hinzugefügt
df_kt['meshcode'] = ju.to_meshcode(df_kt.lat, df_kt.lon, 5)
print("---Nach der Datenextraktion---")
#Zeigen Sie die ersten 5 Werte an
print(df_kt.head(5))
#Siehe dtype für jede Spalte
print(df_kt.dtypes)
#Nehmen Sie die Anzahl der Zeilen und Spalten
print(df_kt.shape)
#Schreiben, um eine CSV-Datei auszugeben
df_kt.to_csv(f, index=False)
print(u'Verarbeitung beenden')
Ausgabe einer CSV-Datei (5-minütiger Niederschlag für jedes 5. Netz) und 5. Netzformdatei Zeichnen Sie es auf dieser Grundlage in QGIS.
Recommended Posts