{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Sp9SMWNcgicC" }, "source": [ "# Convert from Vector to Raster\n", "\n", "*Written by Men Vuthy, 2022*\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": { "id": "1VzTJ_BDhIT1" }, "source": [ "### Dataset\n", "\n", "- Vector: H30植物群落.shp\n", "- Reference raster: kano_20180429_wgs84.tiff\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "7iZbcR0agicG" }, "source": [ "### Import necessary modules" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EmjEANjqiisn", "outputId": "4afa4a98-8f81-44f1-edd2-b9ea70eab128" }, "outputs": [], "source": [ "!pip install rasterio\n", "!pip install geopandas" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "FapxUdeSgicG" }, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "import rasterio\n", "from rasterio.features import rasterize\n", "from rasterio.transform import from_bounds\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": { "id": "bA6pCLEMi43C" }, "source": [ "*Mount drive*" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "VfihV5Wwi0tZ", "outputId": "ac1722b2-ca28-4662-bc22-75d15997f884" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" ] } ], "source": [ "from google.colab import drive\n", "drive.mount('/content/drive')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vex9Bx40iz6q", "outputId": "6e2992a8-6362-48e8-d2e0-45be56a8e547" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/content/drive/MyDrive/Colab Notebooks/Z. Other topics/Convert shapefile to raster\n" ] } ], "source": [ "cd /content/drive/MyDrive/Colab Notebooks/Z. Other topics/Convert shapefile to raster" ] }, { "cell_type": "markdown", "metadata": { "id": "hOSENVvFgicH" }, "source": [ "### Load dataset" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "A6SSQWmDgicI" }, "outputs": [], "source": [ "# Load raster image for reference\n", "image_ref = rasterio.open('data/kano_20180429_wgs84.tiff')\n", "\n", "# Load survey data shapefile or json file\n", "geo_survey = gpd.read_file('data/水国/H30植物群落.shp').to_crs(image_ref.crs)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 658 }, "id": "t1Z6Rqn3jj9D", "outputId": "adc75f4d-f3d0-44f1-bcdc-e53a13abcff5" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Idcodearea_ha基本分類基本分類No群落コード群落表示コ群落名lyr_code調査管理番河川コード調査年度調査回調査年月日表示用geometry
00020.042844沈水植物群落11003013ホザキノフサモ群落WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.93902 35.05341, 138.93902 35.053...
10020.015477沈水植物群落11003013ホザキノフサモ群落WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.93657 35.06657, 138.93655 35.066...
20020.013277沈水植物群落11003013ホザキノフサモ群落WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.93926 35.05376, 138.93923 35.053...
30020.024026沈水植物群落11003013ホザキノフサモ群落WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.93913 35.05392, 138.93914 35.053...
40020.062657沈水植物群落11003013ホザキノフサモ群落WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.93623 35.06915, 138.93621 35.069...
...................................................
31880790.009195開放水面282800028開放水面WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.95272 34.98724, 138.95272 34.987...
31890790.016298開放水面282800028開放水面WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.94891 34.98141, 138.94895 34.981...
31900820.011413ヤナギ高木林1212008128ジャヤナギ−アカメヤナギ群集(低木林)WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105ヤナギPOLYGON ((138.93614 35.06527, 138.93615 35.065...
31910760.078064人工構造物2628000262コンクリート構造物WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.90882 35.08336, 138.90879 35.083...
31920760.082595人工構造物2628000262コンクリート構造物WA8312R2018_85_11350_3_U293589-85-501-001-000-22018120181105NonePOLYGON ((138.91149 35.08144, 138.91145 35.081...
\n", "

3193 rows × 16 columns

\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Id code area_ha 基本分類 基本分類No 群落コード 群落表示コ 群落名 \\\n", "0 0 02 0.042844 沈水植物群落 1 1003 013 ホザキノフサモ群落 \n", "1 0 02 0.015477 沈水植物群落 1 1003 013 ホザキノフサモ群落 \n", "2 0 02 0.013277 沈水植物群落 1 1003 013 ホザキノフサモ群落 \n", "3 0 02 0.024026 沈水植物群落 1 1003 013 ホザキノフサモ群落 \n", "4 0 02 0.062657 沈水植物群落 1 1003 013 ホザキノフサモ群落 \n", "... .. ... ... ... ... ... ... ... \n", "3188 0 79 0.009195 開放水面 28 28000 28 開放水面 \n", "3189 0 79 0.016298 開放水面 28 28000 28 開放水面 \n", "3190 0 82 0.011413 ヤナギ高木林 12 12008 128 ジャヤナギ−アカメヤナギ群集(低木林) \n", "3191 0 76 0.078064 人工構造物 26 28000 262 コンクリート構造物 \n", "3192 0 76 0.082595 人工構造物 26 28000 262 コンクリート構造物 \n", "\n", " lyr_code 調査管理番 河川コード 調査年度 調査回 \\\n", "0 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "1 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "2 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "3 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "4 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "... ... ... ... ... ... \n", "3188 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "3189 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "3190 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "3191 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "3192 WA8312 R2018_85_11350_3_U29358 9-85-501-001-000-2 2018 1 \n", "\n", " 調査年月日 表示用 geometry \n", "0 20181105 None POLYGON ((138.93902 35.05341, 138.93902 35.053... \n", "1 20181105 None POLYGON ((138.93657 35.06657, 138.93655 35.066... \n", "2 20181105 None POLYGON ((138.93926 35.05376, 138.93923 35.053... \n", "3 20181105 None POLYGON ((138.93913 35.05392, 138.93914 35.053... \n", "4 20181105 None POLYGON ((138.93623 35.06915, 138.93621 35.069... \n", "... ... ... ... \n", "3188 20181105 None POLYGON ((138.95272 34.98724, 138.95272 34.987... \n", "3189 20181105 None POLYGON ((138.94891 34.98141, 138.94895 34.981... \n", "3190 20181105 ヤナギ POLYGON ((138.93614 35.06527, 138.93615 35.065... \n", "3191 20181105 None POLYGON ((138.90882 35.08336, 138.90879 35.083... \n", "3192 20181105 None POLYGON ((138.91149 35.08144, 138.91145 35.081... \n", "\n", "[3193 rows x 16 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geo_survey" ] }, { "cell_type": "markdown", "metadata": { "id": "GW_7omihgicJ" }, "source": [ "### Parameter Setting" ] }, { "cell_type": "markdown", "metadata": { "id": "d6q49r7rjAO5" }, "source": [ "Select the column to write vector value into pixel" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "-teNwl9vgicJ" }, "outputs": [], "source": [ "# Define parameters\n", "label_column = '基本分類No'" ] }, { "cell_type": "markdown", "metadata": { "id": "pEtQGDsJgicK" }, "source": [ "### Convert from Vector to Raster" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "40lx1qWTgicK" }, "outputs": [], "source": [ "# Project the survey geo into same CRS as the reference image\n", "geodata = geo_survey.to_crs(crs=image_ref.crs)\n", "\n", "# Convert vector to raster\n", "shape = image_ref.shape\n", "transform = image_ref.transform\n", "rasterize_array = rasterize(\n", " [(shape, label) for shape, label in zip(geodata['geometry'], geodata[label_column])],\n", " out_shape=shape,\n", " transform=transform,\n", " fill=0,\n", " all_touched=True,\n", " dtype=rasterio.float32) " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 595 }, "id": "vP93oLJsjiDX", "outputId": "24828558-cb92-4c9b-eef2-828fc84d2f7c" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot rasterized shape\n", "plt.figure(figsize=(8,10))\n", "plt.imshow(rasterize_array, 'gray')\n", "plt.show();" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "id": "oF3_JSg9gicL" }, "outputs": [], "source": [ "# Write rasterized array to image (.tif)\n", "with rasterio.open(\n", " 'rasterized-results.tif', 'w',\n", " driver='GTiff',\n", " dtype=rasterio.float32,\n", " nodata=0,\n", " count=1,\n", " width=rasterize_array.shape[1],\n", " height=rasterize_array.shape[0],\n", " transform=transform,\n", " crs=image_ref.crs\n", ") as dst:\n", " dst.write(rasterize_array, indexes=1)" ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3.7.10", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" }, "vscode": { "interpreter": { "hash": "54697fe90b6b48df13497a1835b00f8636d17074f5f61d6ce3a5a8b26dd66d49" } } }, "nbformat": 4, "nbformat_minor": 0 }