{ "cells": [ { "cell_type": "markdown", "id": "2b74d3b0", "metadata": {}, "source": [ "# 💻 Geopandas: en introduksjon\n", "\n", "[](https://colab.research.google.com/github/GMGI221-2024/forelesninger/blob/main/04_geopandas.ipynb)\n", "\n", "I denne seksjonen vil vi dekke det grunnleggende med *geopandas*, et Python-bibliotek for\n", "å samhandle med romlig vektordata.\n", "\n", "[Geopandas](https://geopandas.org/) gir et brukervennlig grensesnitt til vektordatasett. Det kombinerer mulighetene til *pandas*\n", "med geometrikapabilitetene til\n", "[shapely](#02_geometriske_objekter), [romlig-filformateringstøtte\n", "fra fiona](#03_vektor) og kartprojeksjonsbibliotekene til\n", "pyproj(som vi ser på neste uke).\n", "\n", "Hoveddatastrukturene i geopandas er `GeoDataFrame`s og `GeoSeries`. De\n", "utvider funksjonaliteten til `pandas.DataFrame`s og `pandas.Series`.\n", "\n", "Det er en nøkkelforskjell mellom pandas dataframes og geopandas\n", "[`GeoDataFrame`s](https://geopandas.org/en/stable/docs/user_guide/data_structures.html#geodataframe):\n", "en `GeoDataFrame` inneholder en ekstra kolonne for geometrier. Som standard er\n", "navnet på denne kolonnen `geometry`, og det er en\n", "[`GeoSeries`](https://geopandas.org/en/stable/docs/user_guide/data_structures.html#geoseries)\n", "som inneholder geometrier (punkter, linjer, polygoner, ...) som\n", "`shapely.geometry` objekter." ] }, { "cell_type": "code", "execution_count": 7, "id": "746d2668", "metadata": { "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " | klasse | \n", "klasse_navn | \n", "geometry | \n", "
---|---|---|---|
0 | \n", "100 | \n", "myr | \n", "POLYGON ((265791.9 6614994.65, 265790.18 6614997.81, 265754.58 6614993.01, 265738.37 6614991.46, 265714.54 6614994.62, 265703.4 6614982.57, 265700.51 6614972.78, 265701.87 6614965.64, 265710.39 6614959.84, 265729.32 6614969.17, 265751.33 6614968.19, 265785.92 6614984.13, 265791.9 6614994.65)) | \n", "
1 | \n", "100 | \n", "myr | \n", "POLYGON ((262206.27 6628558.13, 262202.64 6628562.47, 262192.59 6628562.38, 262186.79 6628553.87, 262184.71 6628541.99, 262186.07 6628534.84, 262203.19 6628524.25, 262221.22 6628523.61, 262226.47 6628526.15, 262228.92 6628530.96, 262206.27 6628558.13)) | \n", "
2 | \n", "100 | \n", "myr | \n", "POLYGON ((265299.88 6621504.12, 265294.08 6621506.65, 265285.92 6621505.38, 265279.41 6621499.96, 265258.39 6621467.69, 265255.05 6621452.93, 265249.89 6621440.33, 265246.07 6621431.63, 265248.72 6621416.33, 265254.7 6621404.73, 265266.02 6621407.73, 265282.23 6621420.33, 265283.68 6621436.27, 265279.24 6621453.75, 265279.41 6621466.79, 265286.29 6621476.22, 265302.59 6621489.81, 265305.31 6621497.61, 265299.88 6621504.12)) | \n", "
3 | \n", "100 | \n", "myr | \n", "POLYGON ((260561.58 6622897.2, 260562.11 6622914.23, 260560.03 6622913.41, 260555.41 6622906.79, 260551.79 6622889.04, 260553.52 6622874.82, 260562.58 6622841.85, 260572.46 6622817.84, 260581.88 6622810.96, 260603.45 6622805, 260613.4 6622804.08, 260626.36 6622813.96, 260637.86 6622830, 260651.81 6622839.79, 260662.32 6622844.86, 260672.83 6622849.93, 260691.12 6622852.29, 260710.15 6622851.57, 260715.5 6622855.1, 260718.3 6622863.9, 260720.38 6622875.76, 260713.04 6622883.47, 260712.95 6622882.47, 260702.9 6622871.32, 260697.74 6622869.79, 260683.87 6622872.05, 260673.73 6622882.01, 260663.04 6622885.97, 260655.06 6622886.72, 260650.9 6622885.08, 260645.64 6622882.54, 260641.93 6622874.84, 260641.66 6622872.98, 260639.31 6622856.99, 260631.88 6622852.64, 260608.05 6622855.81, 260597.37 6622859.79, 260574.8 6622876.91, 260563.12 6622892.03, 260561.58 6622897.2)) | \n", "
4 | \n", "100 | \n", "myr | \n", "POLYGON ((265326.09 6621350.04, 265320.02 6621360.63, 265307.79 6621358.73, 265288.32 6621343.42, 265278.98 6621340.24, 265271.83 6621338.88, 265275.28 6621321.49, 265286.71 6621292.32, 265293.23 6621286.71, 265302.11 6621284.91, 265312.25 6621285.99, 265317.59 6621289.52, 265320.22 6621296.33, 265319.4 6621331.55, 265326.09 6621350.04)) | \n", "
\n", " | gml_id | \n", "oppdateringsdato | \n", "klasse | \n", "klasse_navn | \n", "geometry | \n", "
---|---|---|---|---|---|
0 | \n", "idd51cad71-d02b-4043-833b-8a6e50539af0 | \n", "2016-12-02 | \n", "100 | \n", "myr | \n", "POLYGON ((265791.900 6614994.650, 265790.180 6... | \n", "
1 | \n", "id41c8ac6e-b5ce-4657-958c-312c27dafd9a | \n", "2016-12-02 | \n", "100 | \n", "myr | \n", "POLYGON ((262206.270 6628558.130, 262202.640 6... | \n", "
2 | \n", "ide574839d-8f33-4b1e-bc44-01a865a1beb9 | \n", "2016-12-02 | \n", "100 | \n", "myr | \n", "POLYGON ((265299.880 6621504.120, 265294.080 6... | \n", "
3 | \n", "id2aa8beeb-8a23-4159-ae85-d218ead88c9f | \n", "2016-12-02 | \n", "100 | \n", "myr | \n", "POLYGON ((260561.580 6622897.200, 260562.110 6... | \n", "
4 | \n", "iddf0f9506-8358-49ae-bd65-b496cd4571be | \n", "2016-12-02 | \n", "100 | \n", "myr | \n", "POLYGON ((265326.090 6621350.040, 265320.020 6... | \n", "
\n", " | klasse | \n", "klasse_navn | \n", "geometry | \n", "
---|---|---|---|
0 | \n", "100 | \n", "myr | \n", "POLYGON ((265791.900 6614994.650, 265790.180 6... | \n", "
1 | \n", "100 | \n", "myr | \n", "POLYGON ((262206.270 6628558.130, 262202.640 6... | \n", "
2 | \n", "100 | \n", "myr | \n", "POLYGON ((265299.880 6621504.120, 265294.080 6... | \n", "
3 | \n", "100 | \n", "myr | \n", "POLYGON ((260561.580 6622897.200, 260562.110 6... | \n", "
4 | \n", "100 | \n", "myr | \n", "POLYGON ((265326.090 6621350.040, 265320.020 6... | \n", "
\n", " | klasse | \n", "klasse_navn | \n", "geometry | \n", "areal | \n", "
---|---|---|---|---|
0 | \n", "100 | \n", "myr | \n", "POLYGON ((265791.900 6614994.650, 265790.180 6... | \n", "1955.48975 | \n", "
1 | \n", "100 | \n", "myr | \n", "POLYGON ((262206.270 6628558.130, 262202.640 6... | \n", "1101.93145 | \n", "
2 | \n", "100 | \n", "myr | \n", "POLYGON ((265299.880 6621504.120, 265294.080 6... | \n", "2657.99245 | \n", "
3 | \n", "100 | \n", "myr | \n", "POLYGON ((260561.580 6622897.200, 260562.110 6... | \n", "6740.99175 | \n", "
4 | \n", "100 | \n", "myr | \n", "POLYGON ((265326.090 6621350.040, 265320.020 6... | \n", "2715.09810 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1281 | \n", "120 | \n", "tettbebyggelse | \n", "POLYGON ((264495.760 6627874.970, 264495.310 6... | \n", "332.87820 | \n", "
1282 | \n", "120 | \n", "tettbebyggelse | \n", "POLYGON ((264428.770 6627393.320, 264429.130 6... | \n", "157.27005 | \n", "
1283 | \n", "120 | \n", "tettbebyggelse | \n", "POLYGON ((264328.880 6627669.330, 264329.240 6... | \n", "229322.51250 | \n", "
1284 | \n", "120 | \n", "tettbebyggelse | \n", "POLYGON ((262436.510 6622047.280, 262438.610 6... | \n", "278301.64510 | \n", "
1285 | \n", "120 | \n", "tettbebyggelse | \n", "POLYGON ((264288.040 6627606.730, 264280.250 6... | \n", "36206.47765 | \n", "
1286 rows × 4 columns
\n", "\n", " | klasse | \n", "klasse_navn | \n", "geometry | \n", "areal | \n", "
---|---|---|---|---|
0 | \n", "100 | \n", "myr | \n", "POLYGON ((265791.900 6614994.650, 265790.180 6... | \n", "1955.48975 | \n", "
1 | \n", "100 | \n", "myr | \n", "POLYGON ((262206.270 6628558.130, 262202.640 6... | \n", "1101.93145 | \n", "
2 | \n", "100 | \n", "myr | \n", "POLYGON ((265299.880 6621504.120, 265294.080 6... | \n", "2657.99245 | \n", "
3 | \n", "100 | \n", "myr | \n", "POLYGON ((260561.580 6622897.200, 260562.110 6... | \n", "6740.99175 | \n", "
4 | \n", "100 | \n", "myr | \n", "POLYGON ((265326.090 6621350.040, 265320.020 6... | \n", "2715.09810 | \n", "