Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Överlappningsoperationer | Rumsliga Analysmetoder
Geospatial Analys med Python
Avsnitt 2. Kapitel 2
single

single

Överlappningsoperationer

Svep för att visa menyn

Överläggningsoperationer är en grundläggande del av geospatial analys och möjliggör jämförelse, kombination och extraktion av relationer mellan olika rumsliga datamängder. Dessa operationer är särskilt användbara när du behöver besvara frågor som "Var överlappar två objekt?", "Vad är den sammanlagda ytan av två regioner?" eller "Vilka delar av en region täcks inte av en annan?" De tre vanligaste överläggningsoperationerna är intersection (skärning), union (union) och difference (differens), där varje operation har ett unikt analytiskt syfte.

Operationen intersection hjälper till att hitta det rumsliga område där två datamängder överlappar. Detta är avgörande när du vill identifiera gemensamma områden, till exempel där miljöskyddszoner överlappar med föreslagna utvecklingsområden. Operationen union kombinerar däremot alla geometrier från båda datamängderna och slår samman deras rumsliga utbredning och attribut. Detta är användbart för att skapa en datamängd som representerar alla områden som täcks av någon av de ursprungliga datamängderna. Operationen difference gör det möjligt att subtrahera ett områdes yta från ett annat, vilket visar vilka delar som är exklusiva för den första datamängden. Detta används ofta när du vill exkludera vissa områden från din analys, till exempel att ta bort vattenområden från en markanvändningskarta.

Överläggningsoperationer utförs vanligtvis med metoden overlay() i geopandas, vilket förenklar dessa komplexa rumsliga manipulationer och säkerställer att attributdata hanteras korrekt under processen.

123456789101112131415
import geopandas as gpd # Create two simple GeoDataFrames with polygons poly1 = gpd.GeoDataFrame({'id': [1]}, geometry=gpd.GeoSeries.from_wkt(['POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'])) poly2 = gpd.GeoDataFrame({'id': [2]}, geometry=gpd.GeoSeries.from_wkt(['POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))'])) # Intersection: find overlapping area intersection = gpd.overlay(poly1, poly2, how='intersection') print("Intersection result:") print(intersection) # Union: combine all areas union = gpd.overlay(poly1, poly2, how='union') print("\nUnion result:") print(union)
Uppgift

Svep för att börja koda

Utför en överläggningsoperation på två rumsliga dataset med hjälp av geopandas.

  • Acceptera två GeoDataFrames och en sträng som specificerar överläggningsoperationen ("intersection", "union" eller "difference") som parametrar.
  • Använd geopandas för att utföra den angivna överläggningsoperationen mellan de två GeoDataFrames.
  • Returnera den resulterande GeoDataFrame.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt