diff --git a/notebooks/invasion/Invasion_study_with_EMIT_data.ipynb b/notebooks/invasion/Invasion_study_with_EMIT_data.ipynb index 98b5b86..a6e47b2 100644 --- a/notebooks/invasion/Invasion_study_with_EMIT_data.ipynb +++ b/notebooks/invasion/Invasion_study_with_EMIT_data.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "# Explore how invasion can be detected using EMIT data\n", - "## In this tutorial using EMIT hyperspectral data and geospatial data of potentially invaded areas within NEON NIWO area, we will explore how EMIT data can help us to detect the invasion potential. " + "In this tutorial using EMIT hyperspectral data and geospatial data of potentially invaded areas within NEON NIWO area, we will explore how EMIT data can help us to detect the invasion potential. " ] }, { @@ -14,7 +14,7 @@ "id": "00c04e47-160d-41a6-a687-b6602a009bbf", "metadata": {}, "source": [ - "## We will first start by importing required packages" + "### We will first start by importing required packages" ] }, { @@ -655,7 +655,8 @@ "id": "25596d9a-ac47-42c0-a03e-c3f1d1059b95", "metadata": {}, "source": [ - "## In this tutorial our first input is orthorectified EMIT scene. You have used this same EMIT scene in your preveous training modules. Let's load the orthorectified EMIT scene. After loading our initial data, take a few seconds to explore the data structure and the variables." + "## Load orthorectified EMIT scene\n", + "In this tutorial our first input is orthorectified EMIT scene. You have used this same EMIT scene in your preveous training modules. Let's load the orthorectified EMIT scene. After loading our initial data, take a few seconds to explore the data structure and the variables." ] }, { @@ -1178,7 +1179,7 @@ "id": "8dc0296b-983a-4a1f-8428-bc6a37d29e9e", "metadata": {}, "source": [ - "## Explore the coordinate system the data in" + "#### Explore the coordinate system the data in" ] }, { @@ -1205,7 +1206,8 @@ "id": "94b7fb14-5f68-4c76-912c-fa8c0e4aa5d6", "metadata": {}, "source": [ - "## Our next step is to load the first polygon data set collected from the NEON NIWO region. We are using geopandas python package to load this geospatial dataset. Explore the data and their attributes. " + "## Load the polygon data\n", + "Our next step is to load the first polygon data set collected from the NEON NIWO region. We are using geopandas python package to load this geospatial dataset. Explore the data and their attributes. " ] }, { @@ -1291,7 +1293,8 @@ "id": "9357f34b-ba95-43b8-8dea-a8c0a1357b4f", "metadata": {}, "source": [ - "## Explore the coordinate system of the shapefile. Our data needs to be in the same coordinate system to extract the EMIT data for the polygon of interest.\n" + "## Explore the coordinate system of the shapefile. \n", + "Our data needs to be in the same coordinate system to extract the EMIT data for the polygon of interest.\n" ] }, { @@ -1313,30 +1316,13 @@ "print(shape_crs)" ] }, - { - "cell_type": "markdown", - "id": "3ecf25b3-2389-443e-b3cf-7f5f12849dbd", - "metadata": {}, - "source": [ - "## In this next section we will select only one spectral band from our EMIT scene with many spectral bands just to explore the reflectance distribution of the EMIT scene." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "cf3c0199-fdd6-4f01-9e67-00d56e3752eb", - "metadata": {}, - "outputs": [], - "source": [ - "ds_850 = ds.sel(wavelengths=850,method='nearest') # will replace this with the index data in the next step" - ] - }, { "cell_type": "markdown", "id": "711586ea-4311-42e5-870c-ce95b565865c", "metadata": {}, "source": [ - "## Let's plots our geospatial polygon area we want to explore for invasion over the reflectance layer we loaded in the previous step. " + "## Plot our geospatial data layer\n", + "Let's plots our geospatial polygon area we want to explore for invasion over the reflectance layer we loaded in the previous step. " ] }, { @@ -2151,7 +2137,8 @@ "id": "e546eb43-bc8c-4fe3-a177-10b4130fe3ae", "metadata": {}, "source": [ - "## Lets generate simple vegetation index from the EMIT scene" + "## Lets generate simple vegetation index from the EMIT scene. \n", + "In this example we are generating simple ratio" ] }, { @@ -2978,7 +2965,7 @@ "id": "8074183b-9eec-4eb3-a52d-1b1c48d17427", "metadata": {}, "source": [ - "## We will next load a point data that has various categories of vegetation within the study area collected by Dr. Jay for her research. We are going to explore EMIT spectral signatures of these categories and see whether EMOT can help us to detect various categories using their spectral signature. " + "We will next load a point data that has various categories of vegetation within the study area collected by Dr. Jay for her research. We are going to explore EMIT spectral signatures of these categories and see whether EMOT can help us to detect various categories using their spectral signature. " ] }, { @@ -2986,7 +2973,8 @@ "id": "1e961451-fe0c-4ce0-9434-a4a50e5e99ea", "metadata": {}, "source": [ - "## Explore the data. You will see four attributes other than the index. Category tells about the major class each row belongs. ID is same as the index here. The longitude and lattitude are X and Y location of each point in geographic coordinate system. We are using these longitude and lattitude coordinates to extract the spectral signature of each row of the data below. " + "## Explore the data. \n", + "You will see four attributes other than the index. Category tells about the major class each row belongs. ID is same as the index here. The longitude and lattitude are X and Y location of each point in geographic coordinate system. We are using these longitude and lattitude coordinates to extract the spectral signature of each row of the data below. " ] }, { @@ -3880,7 +3868,8 @@ "id": "03bf0cef-9fe9-431c-8263-7faf0d2af1ec", "metadata": {}, "source": [ - "## Add a buffer to increase the polygon area as most of our polygons are within just one EMIT pixel." + "## Add a buffer to increase the polygon area\n", + "We add a buffer as most of our polygons are within just one EMIT pixel." ] }, { @@ -3946,7 +3935,8 @@ "id": "f4b19f85-6f02-4deb-8b15-b451d57d0c90", "metadata": {}, "source": [ - "## Let's extract mean simple ratio for each polygon" + "## extract mean index for each polygon\n", + "Let's extract mean simple ratio for each polygon" ] }, { @@ -4060,7 +4050,8 @@ "id": "5017964c-8385-4384-9168-01e00c58b5ce", "metadata": {}, "source": [ - "### Load point data to explore the spectral signatures and the indices of interest derived from the EMIT data of the point locations " + "## Load point data to explore the spectral signatures and the indices of interest\n", + "In this section below we explore the spectral signatures and the indices of interest derived from the EMIT data of the point locations " ] }, { @@ -4211,7 +4202,8 @@ "id": "afe17c0b-318e-412b-ba8c-3f9221a6c379", "metadata": {}, "source": [ - "## Our point data layer is not a geospatial layer. To extract the data from the EMIT scne we have to now convert this pandas Dataframe into geopandas Dataframe. " + "## convert CSV to geopands Dataframe.\n", + "Our point data layer is not a geospatial layer. To extract the data from the EMIT scne we have to now convert this pandas Dataframe into geopandas Dataframe. " ] }, { @@ -4232,7 +4224,8 @@ "id": "24b3248a-3628-489b-b430-490e414e148f", "metadata": {}, "source": [ - "## Set the coordinate reference system to same as our othre data layers. Note that to do this your longitude and lattitude data also should be in the same coordinate system (EPSG:4326). If not you first need to set the corrdinate system that is from where you derived longitude and lattitude data and then convert to EPSG:4326.\n" + "## Set the coordinate reference system to same as our othre data layers.\n", + "Note that to do this your longitude and lattitude data also should be in the same coordinate system (EPSG:4326). If not you first need to set the corrdinate system that is from where you derived longitude and lattitude data and then convert to EPSG:4326.\n" ] }, { @@ -5092,7 +5085,7 @@ "id": "a638922c-6665-495c-b8e4-89ae6de46697", "metadata": {}, "source": [ - "## Set index for each point so that we can refer each point based on the index when convert to xarray dataset. Then we convert the data into a xarray Dataframe" + "Set index for each point so that we can refer each point based on the index when convert to xarray dataset. Then we convert the data into a xarray Dataframe" ] }, { @@ -5520,7 +5513,8 @@ "id": "7c051338-9bd8-4169-8554-84c44c756ca3", "metadata": {}, "source": [ - "## Extract Simple ratio for each data point using the simple ratio raster file and the lattitude and longitude coordinates of each point" + "## Extract Simple ratio for each data point\n", + "We now extract the Simple ratio for each data point using the simple ratio raster file and the lattitude and longitude coordinates of each point" ] }, { @@ -5737,7 +5731,7 @@ "id": "6b7b0d6c-5a4b-47f1-84a6-563f2c629cae", "metadata": {}, "source": [ - "## Join the extracted data with the original data table so that we can see all the attributes" + "Join the extracted data with the original data table so that we can see all the attributes" ] }, { @@ -5985,7 +5979,8 @@ "id": "682036c7-eebc-4f43-96de-382a1fff3990", "metadata": {}, "source": [ - "## Plot the data as bosplots based on category and see if there is a difference in simple rattio among categories" + "## Plot the data as bosplots\n", + "We now plot the data as boxplots based on category and see if there is a difference in simple rattio among categories" ] }, {