{"cells":[{"metadata":{},"cell_type":"markdown","source":"I'm not good at English\nPlease tell me if my English is wrong\n\nI still don't know much\nStill, I am working.\n\n\n****【Prerequisites】\n\nGiven gpdp_120_pr.csv contains all the belonging to Puerto Rico, an unincorporated area of the United States located in the northeastern Caribbean\n\nConsists of power plants. The Latitude of Puerto Rico is 18.200178 and longitude is -66.664513.\n\n#E = A X EF X (1-ER / 100)\n\n#E = emissions\n#A = activity rate\n#EF = emission factor\n#ER = Overall emission reduction efficiency%.\n\n#Simplified emission factor = (measurement of NO2 emission) / (amount of electricity generated)\n********\n\n**"},{"metadata":{"trusted":true},"cell_type":"code","source":"\n\n\n\n\nimport numpy as np \nimport pandas as pd\n\nimport rasterio as rio\nimport tifffile as tiff \n\nimport matplotlib.pyplot as plt\nfrom skimage.io import imread\nimport seaborn as sns\n\nimport folium\nfrom folium import plugins\n\n\nimport os\nimport glob\n\n\n\n#columns50\npd.set_option('display.max_columns', 50)\n\nsns.set()\n\n#data\nfrom os import listdir\nlistdir(\"../input/ds4g-environmental-insights-explorer/eie_data/\")\n#four fils\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Code source: https://www.kaggle.com/paultimothymooney/overview-of-the-eie-analytics-challenge\nfrom folium import plugins      \ndef 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,tiles = 'Stamen Terrain')\n    \n\n    for i in range(0,len(df)):\n        popup = folium.Popup(str(df.primary_fuel[i:i+1]))\n        folium.Marker([df[latitude_column].iloc[i],\n                       df[longitude_column].iloc[i]],\n                       popup=popup,icon=folium.Icon(color='white',icon_color='red',icon ='bolt',prefix='fa',)).add_to(plot)\n    return(plot)\n\ndef overlay_image_on_puerto_rico(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\n\ndef plot_tif_img_on_map(file_name,lat,lon,zoom):\n    wor_map = folium.Map([lat, lon], zoom_start=zoom)\n    folium.raster_layers.ImageOverlay(\n        image=file_name,\n        bounds = [[18.6,-67.3,],[17.9,-65.2]],\n        colormap=lambda x: (1, 0, 0, x),\n    ).add_to(wor_map)\n    return wor_map\n\ndef 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","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"First, check the data of NO2 emission measurement"},{"metadata":{"trusted":true},"cell_type":"code","source":"sentinal_path = \"../input/ds4g-environmental-insights-explorer/eie_data/s5p_no2/\"\nexamples = listdir(sentinal_path)[0:10]\nexamples","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for n in range(5):\n    image = imread(sentinal_path + examples[n])\n    print(image.shape)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fig, ax = plt.subplots(2,6,figsize=(20,3))\nfor n in range(2):\n    for m in range(6):\n        ax[n,m].imshow(image[:,:,m+n*6], cmap=\"Reds\")\n        ax[n,m].grid(False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Global Power Plant Database (CSV) by World Resources Institute (WRI)\n# Includes both thermal and renewable power plants.\npower_plants_df = pd.read_csv('/kaggle/input/ds4g-environmental-insights-explorer/eie_data/gppd/gppd_120_pr.csv')\npower_plants_df.head()\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"power_plants = pd.read_csv('/kaggle/input/ds4g-environmental-insights-explorer/eie_data/gppd/gppd_120_pr.csv')\npower_plants = split_column_into_new_columns(power_plants,'.geo','latitude',50,66)\npower_plants = split_column_into_new_columns(power_plants,'.geo','longitude',31,48)\npower_plants['latitude'] = power_plants['latitude'].astype(float)\na = np.array(power_plants['latitude'].values.tolist()) # 18 instead of 8\n\npower_plants['latitude'] = np.where(a < 10, a+10, a).tolist() \n\nlat=18.200178; lon=-66.664513\nplot_points_on_map(power_plants,0,425,'latitude',lat,'longitude',lon,9)\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"power_plants_df = power_plants.sort_values('capacity_mw',ascending=False).reset_index()\npower_plants_df[[\"name\",'latitude','longitude','primary_fuel','capacity_mw','estimated_generation_gwh']]\n\n#-----memo---------\n#name:名称\n#latitude:緯度\n#longitude:経度\n#primary_fuel:主な燃料　●\n#capacity_mw:容量mw\n#estimated_generation_gwh:推定年間発電量　●\n#-----memo---------","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#imagefile\n#images5p_no2 = '/kaggle/input/ds4g-environmental-insights-explorer/eie_data/s5p_no2/s5p_no2_20180708T172237_20180714T190743.tif'\nimages5p_no2 = '/kaggle/input/ds4g-environmental-insights-explorer/eie_data/s5p_no2/s5p_no2_20180807T161744_20180813T174606.tif'\n\nband = rio.open(images5p_no2).read(7)\nprint(band.shape)\n\nvmin, vmax = np.nanpercentile(band, (5,95))  # 5-95% stretch\nimg_plt = plt.imshow(band, cmap='Oranges', vmin=vmin, vmax=vmax)\nplt.show()\n\nlatitude=18.1429005246921; longitude=-65.4440010699994\nplot_tif_img_on_map(band,latitude,longitude,9)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Estimated annual power generation (line 29) latitude 18.142901 longitude-65.4440010699994\n# latitude = 18.1429005246921; longitude = -65.4440010699994 (The part specified in the image file is this)\n\nquantity_of_electricity_generated = power_plants_df['estimated_generation_gwh'][29:30].values\nprint('Power generation at this latitude and longitude: ', quantity_of_electricity_generated)\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Extract numbers from .tiff files\n\naverage_no2_emission = [np.average(tiff.imread(images5p_no2))]\n\nprint(images5p_no2)\nprint('NO2 emission value of this pattern: ', average_no2_emission)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"path = \"/kaggle/input/ds4g-environmental-insights-explorer/eie_data/s5p_no2/\"\n\ndir_list = []\nfor test in os.listdir(path):\n    dir_list.append(test)\n\n# Show first 5\ndir_list[0:5]\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\ntotal_list = []\n\nimport math\n# Get the file name of each image data\nfor foldername in os.listdir(path):\n    imgs_path = path + foldername\n   \n    #Convert images to numbers\n    average_no2_emission = np.average(tiff.imread(imgs_path))\n    #print(average_no2_emission)\n    total_list.append(average_no2_emission)\n   ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\n#Simplified Emissions Factor = (Measure of NO2 emissions) / (Quanity of electricity generated)\n\n#Average of all power generation\nAve_estimated_generation_gwhf =  power_plants_df['estimated_generation_gwh'].mean()\n\n#Average excluding missing values\nAve_total_list =  np.nanmean(total_list)\n\n\nSimplified_Emissions_Factor = Ave_total_list / Ave_estimated_generation_gwhf\n\n#Simplified Emissions Factor is\nprint(Simplified_Emissions_Factor)\n\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"colab":{"name":"how-to-get-started-with-the-earth-engine-data.ipynb","provenance":[]},"kernelspec":{"display_name":"Python 3","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.6.6"}},"nbformat":4,"nbformat_minor":1}