2017-12-18 17 views
2

Ich habe einige Daten des Feuchtigkeitsgehalts des Bodens (Theta) in Form von 3D-Domain-Punkten (CSV-Datei der Spalten x, y, z, Theta). Ich möchte Querschnitte aus der 3D-Domäne an bestimmten Positionen nehmen (Sektion ABCD in der Abbildung). Ich möchte den Wert von Theta in einem 5 * 5 Gitter im Querschnitt berechnen, aber die Punkte um jeden Knoten des Gitters sind nicht koplanar mit dem unbekannten Punkt. Ich habe dies zuvor für 2D-Domains in Python gemacht, aber die 3D-Domains scheinen für mich komplizierter. Ich habe gefunden, dass plotly can make something like that in its virtual environment, aber ich möchte dies eine numpy Array oder Pandas DataFrame, um es als Kontur in der Jupyter Notebook zu zeichnen. enter image description hereWie schneidet man 2D-Gitter aus 3D-Bewässerungsdaten?

Ich weiß, dass das Netz zu finden, beinhaltet den Wert jeden Punkt wie P0 in der Figur durch Interpolation zu finden oder von seinen Nachbarn Rasterung, dann den Querschnitt zu ziehen matplotlib, aber ich don‘weiß, wie es zu tun .

Verwandte Frage, Ist das Schneiden von 2D-Gittern aus 3D-Gittern in Matplotlib oder ähnlichen Bibliotheken verfügbar?

Danke für alle Hilfe.

Antwort

0

Haben Sie versucht, mit Pyugrid zu spielen? Es ist eine Bibliothek speziell für das Manipulieren von unstrukturierten Gittern, also klingt es so, als ob es Ihnen nützlich wäre. Schauen Sie sich diese example notebooks.

+0

Danke für Ihren Vorschlag, aber es scheint, dass pyugrid 2D Gitter (Breitengrad und Längengrad) verwendet, und der dritte ist der Wert der Welle (Hitze, Druck, etc.), während ich 3 Koordinaten für x, y, z in verwende Zusatz zu einem Wert der Feuchtigkeit. Ich habe keine Möglichkeit gefunden, eine solche Bibliothek mit 3D-Gitter UND einem Value-Vektor zu füttern. –

1

Das zugrunde liegende Problem ist 3D-Interpolation. Es gibt zahlreiche Pakete, die diese Art von Sache tun können, oder Sie können Ihre eigenen schreiben (z. B. mit KDE, was im Grunde nur eine Art von Glättung/Binning ist). Es gibt eine Menge Material über das Thema, wie

+0

Vielen Dank für Ihre wertvolle Antwort. Ich werde alles versuchen, was Sie vorgeschlagen haben und werde Ihnen so schnell wie möglich ein Feedback geben. –