{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"![](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQvUniQgPcnxBGmd5sFIOjB1V2ZjQchOZjcKQ&usqp=CAU)cos4cloud-eosc.eu","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-03-17T21:24:31.731305Z","iopub.execute_input":"2022-03-17T21:24:31.7317Z","iopub.status.idle":"2022-03-17T21:24:51.272162Z","shell.execute_reply.started":"2022-03-17T21:24:31.731584Z","shell.execute_reply":"2022-03-17T21:24:51.271243Z"},"jupyter":{"outputs_hidden":true}}},{"cell_type":"markdown","source":"According to Leonardo DaVinci Everything connects to everything else. Therefore, I´ll connect GeoLifeCLEF 2021 to 2022. By the way, GeoLifeClef 2021 has (till now) only one public Notebook and 2 others made by the host. ","metadata":{}},{"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport seaborn as sns\nimport matplotlib.pyplot as plt\nimport plotly.express as px\nimport plotly.graph_objs as go\n\nimport plotly\nplotly.offline.init_notebook_mode(connected=True)\n\n#Ignore warnings\nimport warnings\nwarnings.filterwarnings('ignore')","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:35:32.460199Z","iopub.execute_input":"2022-03-17T21:35:32.460618Z","iopub.status.idle":"2022-03-17T21:35:32.469443Z","shell.execute_reply.started":"2022-03-17T21:35:32.460550Z","shell.execute_reply":"2022-03-17T21:35:32.468692Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import rasterio as rio\nimport folium\nimport tifffile as tiff","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:35:37.558550Z","iopub.execute_input":"2022-03-17T21:35:37.558912Z","iopub.status.idle":"2022-03-17T21:35:37.564421Z","shell.execute_reply.started":"2022-03-17T21:35:37.558867Z","shell.execute_reply":"2022-03-17T21:35:37.562737Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#BDTICM: Absolute depth to bedrock - Unit: cm\n\nhttps://www.isric.org/explore/soilgrids/faq-soilgrids-2017","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/bdticm/bdticm_FR.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'terrain')#it was [:,:,0]\nplt.axes = False\nplt.title(\"Raster Bdticm France\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:35:43.725014Z","iopub.execute_input":"2022-03-17T21:35:43.725524Z","iopub.status.idle":"2022-03-17T21:35:49.769759Z","shell.execute_reply.started":"2022-03-17T21:35:43.725488Z","shell.execute_reply":"2022-03-17T21:35:49.768725Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/bio_13/bio_13_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'ocean') #it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster Bio 13 USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:50:12.953268Z","iopub.execute_input":"2022-03-17T21:50:12.953641Z","iopub.status.idle":"2022-03-17T21:50:16.044432Z","shell.execute_reply.started":"2022-03-17T21:50:12.953599Z","shell.execute_reply":"2022-03-17T21:50:16.043690Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#CECSOL: Cation Exchange Capacity of soil   - Unit: cmolc/kg","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/cecsol/cecsol_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'winter')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster CECSOL USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:52:09.398255Z","iopub.execute_input":"2022-03-17T21:52:09.398661Z","iopub.status.idle":"2022-03-17T21:52:28.152266Z","shell.execute_reply.started":"2022-03-17T21:52:09.398619Z","shell.execute_reply":"2022-03-17T21:52:28.151363Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#BLDFIE: Bulk density (fine earth) - Unit: kg/m3","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/bldfie/bldfie_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'viridis')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster BLDFIE USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T21:58:08.255072Z","iopub.execute_input":"2022-03-17T21:58:08.255492Z","iopub.status.idle":"2022-03-17T21:58:28.402699Z","shell.execute_reply.started":"2022-03-17T21:58:08.255448Z","shell.execute_reply":"2022-03-17T21:58:28.401019Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#CLYPPT: Weight percentage of the clay particles (<0.0002 mm) - Unit: percentage","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/clyppt/clyppt_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'plasma')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster CLYPPT USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:05:13.317945Z","iopub.execute_input":"2022-03-17T22:05:13.318311Z","iopub.status.idle":"2022-03-17T22:05:32.743135Z","shell.execute_reply.started":"2022-03-17T22:05:13.318278Z","shell.execute_reply":"2022-03-17T22:05:32.742459Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#ORCDRC: Soil organic carbon content - Unit: permille","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/orcdrc/orcdrc_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'YlGnBu')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster ORCDRC USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:07:24.077143Z","iopub.execute_input":"2022-03-17T22:07:24.078496Z","iopub.status.idle":"2022-03-17T22:07:41.888612Z","shell.execute_reply.started":"2022-03-17T22:07:24.078430Z","shell.execute_reply":"2022-03-17T22:07:41.887701Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#PHIHOX: pH index measured in water solution - Unit: pH","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/phihox/phihox_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'Reds')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster PHIHOX USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:09:12.667442Z","iopub.execute_input":"2022-03-17T22:09:12.667860Z","iopub.status.idle":"2022-03-17T22:09:31.620304Z","shell.execute_reply.started":"2022-03-17T22:09:12.667814Z","shell.execute_reply":"2022-03-17T22:09:31.619324Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#SLTPPT: Weight percentage of the silt particles (0.0002–0.05 mm) - Unit: percentage","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/sltppt/sltppt_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'Greens')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster SLTPPT USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:11:46.044271Z","iopub.execute_input":"2022-03-17T22:11:46.045102Z","iopub.status.idle":"2022-03-17T22:12:03.666555Z","shell.execute_reply.started":"2022-03-17T22:11:46.045042Z","shell.execute_reply":"2022-03-17T22:12:03.665384Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#SNDPPT: Weight percentage of the sand particles (0.05–2 mm) percentage","metadata":{}},{"cell_type":"code","source":"#Code by JyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels\n\nfrom skimage.io import imread\nimage = imread('/kaggle/input/geolifeclef-2021/data/rasters/sndppt/sndppt_USA.tif')\nprint (image.shape)\nplt.imshow(image[:,:], cmap = 'inferno')#it was [:,:,0] 3D\nplt.axes = False\nplt.title(\"Raster SNDPPT USA\");","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:13:37.838723Z","iopub.execute_input":"2022-03-17T22:13:37.839099Z","iopub.status.idle":"2022-03-17T22:13:57.875556Z","shell.execute_reply.started":"2022-03-17T22:13:37.839060Z","shell.execute_reply":"2022-03-17T22:13:57.874692Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_points_on_map(dataframe,begin_index,end_index,latitude_column,latitude_value,longitude_column,longitude_value,zoom):\n    df = dataframe[begin_index:end_index]\n    location = [latitude_value,longitude_value]\n    plot = folium.Map(location=location,zoom_start=zoom)\n    for i in range(0,len(df)):\n        popup = folium.Popup(str(df.species_id[i:i+1]))\n        folium.Marker([df[latitude_column].iloc[i],df[longitude_column].iloc[i]],popup=popup).add_to(plot)\n    return(plot)","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:18:32.401853Z","iopub.execute_input":"2022-03-17T22:18:32.402240Z","iopub.status.idle":"2022-03-17T22:18:32.411311Z","shell.execute_reply.started":"2022-03-17T22:18:32.402203Z","shell.execute_reply":"2022-03-17T22:18:32.409974Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def overlay_image_on_USA(file_name,band_layer,lat,lon,zoom):\n    band = rio.open(file_name).read(band_layer)\n    m = folium.Map([lat, lon], zoom_start=zoom)\n    folium.raster_layers.ImageOverlay(\n        image=band,\n        bounds = [[18.6,-67.3,],[17.9,-65.2]],\n        colormap=lambda x: (1, 0, 0, x),\n    ).add_to(m)\n    return m","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:18:53.539151Z","iopub.execute_input":"2022-03-17T22:18:53.539485Z","iopub.status.idle":"2022-03-17T22:18:53.547202Z","shell.execute_reply.started":"2022-03-17T22:18:53.539447Z","shell.execute_reply":"2022-03-17T22:18:53.546127Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_scaled(file_name):\n    vmin, vmax = np.nanpercentile(file_name, (5,95))  # 5-95% stretch\n    img_plt = plt.imshow(file_name, cmap='afmhot', vmin=vmin, vmax=vmax)\n    plt.show()","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:19:37.460733Z","iopub.execute_input":"2022-03-17T22:19:37.461903Z","iopub.status.idle":"2022-03-17T22:19:37.468808Z","shell.execute_reply.started":"2022-03-17T22:19:37.461815Z","shell.execute_reply":"2022-03-17T22:19:37.467472Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def split_column_into_new_columns(dataframe,column_to_split,new_column_one,begin_column_one,end_column_one):\n    for i in range(0, len(dataframe)):\n        dataframe.loc[i, new_column_one] = dataframe.loc[i, column_to_split][begin_column_one:end_column_one]\n    return dataframe","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:20:01.461337Z","iopub.execute_input":"2022-03-17T22:20:01.461654Z","iopub.status.idle":"2022-03-17T22:20:01.468945Z","shell.execute_reply.started":"2022-03-17T22:20:01.461622Z","shell.execute_reply":"2022-03-17T22:20:01.467735Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = pd.read_csv('/kaggle/input/geolifeclef-2021/data/observations/observations_us_train.csv', delimiter=';')\ndf.head()","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:32:44.089338Z","iopub.execute_input":"2022-03-17T22:32:44.089704Z","iopub.status.idle":"2022-03-17T22:32:44.901179Z","shell.execute_reply.started":"2022-03-17T22:32:44.089665Z","shell.execute_reply":"2022-03-17T22:32:44.900005Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Codes Paul Mooney https://www.kaggle.com/paultimothymooney/how-to-get-started-with-the-earth-engine-data\n\n#Ragnar https://www.kaggle.com/ragnar123/exploratory-data-analysis-and-factor-model-idea\n\n#df = split_column_into_new_columns(df,'.geo','latitude',45.705116)\n#df = split_column_into_new_columns(df,'.geo','longitude',1.424622)\ndf['latitude'] = df['latitude'].astype(float)\na = np.array(df['latitude'].values.tolist()) # 18 insted of 8\ndf['latitude'] = np.where(a < 10, a + 10, a).tolist()\nlat = 33.197660 ; lon = -116.180680\nplot_points_on_map(df, 0, 425, 'latitude', lat, 'longitude', lon, 9)","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:24:47.931618Z","iopub.execute_input":"2022-03-17T22:24:47.931995Z","iopub.status.idle":"2022-03-17T22:24:49.286713Z","shell.execute_reply.started":"2022-03-17T22:24:47.931957Z","shell.execute_reply":"2022-03-17T22:24:49.285683Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"image = '/kaggle/input/geolifeclef-2021/data/patches_sample/us/00/04/20000400_landcover.tif'\nlatitude=35.614468; longitude= -120.675770 \noverlay_image_on_USA(image,band_layer=1,lat=latitude,lon=longitude,zoom=8)#band_layer was 7 ","metadata":{"execution":{"iopub.status.busy":"2022-03-17T22:30:50.179425Z","iopub.execute_input":"2022-03-17T22:30:50.179764Z","iopub.status.idle":"2022-03-17T22:30:50.357020Z","shell.execute_reply.started":"2022-03-17T22:30:50.179731Z","shell.execute_reply":"2022-03-17T22:30:50.355892Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Acknowledgements:\n\nhttps://www.isric.org/explore/soilgrids/faq-soilgrids-2017\n\nPaul Mooney https://www.kaggle.com/paultimothymooney/how-to-get-started-with-the-earth-engine-data\n\nRagnar https://www.kaggle.com/ragnar123/exploratory-data-analysis-and-factor-model-idea\n\nJyeSR https://www.kaggle.com/jyesawtellrickson/data-measurement-levels","metadata":{}}]}