Wie durchlaufe ich zwei Geodatenrahmen, um die Anzahl der Schnittpunkte zwischen einer bestimmten Linie in einem GDF undPython

Python-Programme
Guest
 Wie durchlaufe ich zwei Geodatenrahmen, um die Anzahl der Schnittpunkte zwischen einer bestimmten Linie in einem GDF und

Post by Guest »

Ich habe zwei Geodatenrahmen mit Linienfeatures. Für jede Zeile im ersten Datenrahmen möchte ich herausfinden, wie viele Zeilen aus dem zweiten Datenrahmen sie schneiden, und diese Zahl an eine neue Spalte im Datenrahmen anhängen.
Zum Beispiel, wenn ich haben zwei Geodatenrahmen wie diesen:

Code: Select all

from shapely.geometry import LineString
import geopandas as gpd

df = gpd.GeoDataFrame([['a',LineString([(1, 0.25), (2,1.25)])], ['b', LineString([(1.2, 1.0), (1.4, 1.5)])]], columns = ['name','geometry'])
df = gpd.GeoDataFrame(df, geometry = 'geometry')

df2 = gpd.GeoDataFrame([['c', LineString([(2.0, 0.5), (1.0, .75)])], ['d', LineString([(2, 0.75), (1.25, 0.8)])]], columns = ['name', 'geometry'])
df2 = gpd.GeoDataFrame(df2, geometry = 'geometry')
Image
(df = blue , df2 = red)
Ich hätte gerne eine Ausgabe, die so aussieht:
Image

nach dem Ausführen des Skripts.
Ich habe diese Frage gefunden von vor einigen Jahren, die etwas Ähnliches fragten. Mir gefällt die Idee, mithilfe des Puffers die Verarbeitungszeit zu verkürzen. Als ich jedoch versuchte, es mithilfe meiner Liniendaten zu implementieren, war die Liste der Endergebnisse leer. Hat jemand Ideen für Möglichkeiten, diese Datenrahmen zu durchlaufen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post