From a8c4ccbc5befd61c17190c704d5ec334d2e99980 Mon Sep 17 00:00:00 2001 From: Ola Haugen Havrevoll Date: Fri, 8 Sep 2023 13:58:50 +0200 Subject: [PATCH] Improved iteration over the two lists + added crs. --- notebooks/Dfsu - Export to shapefile.ipynb | 339 +++++++++++++++++++-- 1 file changed, 309 insertions(+), 30 deletions(-) diff --git a/notebooks/Dfsu - Export to shapefile.ipynb b/notebooks/Dfsu - Export to shapefile.ipynb index 353e4af7a..89d07f0e0 100644 --- a/notebooks/Dfsu - Export to shapefile.ipynb +++ b/notebooks/Dfsu - Export to shapefile.ipynb @@ -191,11 +191,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "gdf = gpd.GeoDataFrame(df,geometry=poly_list)" + "gdf = gpd.GeoDataFrame(df,geometry=poly_list, crs=4326)" ] }, { @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -242,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -254,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -264,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -280,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -303,7 +303,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -311,20 +311,20 @@ "\n", "poly_list = []\n", "\n", - "for i in range(len(cn.collections)):\n", - " for p in cn.collections[i].get_paths():\n", + "for collection,level in zip(cn.collections,contour_levels):\n", + " for p in collection.get_paths():\n", " v = p.vertices\n", " x = v[:,0]\n", " y = v[:,1]\n", " poly = LineString([(i[0], i[1]) for i in zip(x,y)])\n", " if(poly.is_empty):\n", " print(f\"{i} is empty\")\n", - " poly_list.append(dict(wind_speed = contour_levels[i], poly=poly))" + " poly_list.append(dict(wind_speed = level, poly = poly))" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -336,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -368,27 +368,27 @@ " \n", " 0\n", " 4.0\n", - " LINESTRING EMPTY\n", + " LINESTRING (3.14064 51.02428, 3.15122 51.03832...\n", " \n", " \n", " 1\n", - " 4.5\n", - " LINESTRING EMPTY\n", + " 4.0\n", + " LINESTRING (-1.06282 54.23755, -1.06232 54.239...\n", " \n", " \n", " 2\n", - " 5.0\n", - " LINESTRING (0.74084 49.95996, 0.79247 49.94723...\n", + " 4.0\n", + " LINESTRING (-1.06630 54.28629, -1.06339 54.293...\n", " \n", " \n", " 3\n", - " 5.5\n", - " LINESTRING (0.74084 50.00444, 0.79247 49.99547...\n", + " 4.0\n", + " LINESTRING (4.76818 52.16071, 4.75442 52.16810...\n", " \n", " \n", " 4\n", - " 6.0\n", - " LINESTRING (0.68920 50.08850, 0.73941 50.06993...\n", + " 4.0\n", + " LINESTRING (5.59430 52.38263, 5.59568 52.38330...\n", " \n", " \n", "\n", @@ -396,14 +396,14 @@ ], "text/plain": [ " wind_speed geometry\n", - "0 4.0 LINESTRING EMPTY\n", - "1 4.5 LINESTRING EMPTY\n", - "2 5.0 LINESTRING (0.74084 49.95996, 0.79247 49.94723...\n", - "3 5.5 LINESTRING (0.74084 50.00444, 0.79247 49.99547...\n", - "4 6.0 LINESTRING (0.68920 50.08850, 0.73941 50.06993..." + "0 4.0 LINESTRING (3.14064 51.02428, 3.15122 51.03832...\n", + "1 4.0 LINESTRING (-1.06282 54.23755, -1.06232 54.239...\n", + "2 4.0 LINESTRING (-1.06630 54.28629, -1.06339 54.293...\n", + "3 4.0 LINESTRING (4.76818 52.16071, 4.75442 52.16810...\n", + "4 4.0 LINESTRING (5.59430 52.38263, 5.59568 52.38330..." ] }, - "execution_count": 15, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -411,10 +411,289 @@ "source": [ "# Create GeoDataframe\n", "df = pd.DataFrame({'wind_speed':[p['wind_speed'] for p in poly_list]})\n", - "gdf = gpd.GeoDataFrame(df,geometry=[p['poly'] for p in poly_list])\n", + "gdf = gpd.GeoDataFrame(df,geometry=[p['poly'] for p in poly_list], crs=4326)\n", "gdf.head()" ] }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf.explore(column='wind_speed')" + ] + }, { "cell_type": "code", "execution_count": 16, @@ -474,7 +753,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.11.0" } }, "nbformat": 4,