I am trying to plot wind speed in v direction and wind speed in u direction on the oceans. The code below shows what i've done so far.
Is it possible to do the following?
- overlay wind speed u and wind speed v so that we can see the sum of both wind directions at once? I tried wind_img_u+wind_img_v, but it doesn't work.
- how can I show the wind speeds only on the oceans (so that I can still see the map of the lands).
- make the layer/tile translucent. I tried setting the tile opacity=0.3, but it doesn't seem to work.
Thank you!
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 1 10:04:39 2022
@author: xxx
"""
import ee
# Trigger the authentication flow.
ee.Authenticate()
# Initialize the library.
ee.Initialize()
wind = ee.ImageCollection('NOAA/GFS0P25')
i_date = '2022-06-30'
f_date = '2022-07-01'
# wind= ee.ImageCollection('ECMWF/ERA5/DAILY')
import folium
def add_ee_layer(self, ee_image_object, vis_params, name):
"""Adds a method for displaying Earth Engine image tiles to folium map."""
map_id_dict = ee.Image(ee_image_object).getMapId(vis_params)
folium.raster_layers.TileLayer(
tiles=map_id_dict['tile_fetcher'].url_format,
attr='Map Data © <a href="https://earthengine.google.com/">Google Earth Engine</a>',
name=name,
overlay=True,
control=True,
opacity=0.3 ####THIS DOESN'T WORK
).add_to(self)
# Add Earth Engine drawing method to folium.
folium.Map.add_ee_layer = add_ee_layer
wind_img_u=wind.select('u_component_of_wind_10m_above_ground').filterDate(i_date,f_date).first()
wind_img_v=wind.select('v_component_of_wind_10m_above_ground').filterDate(i_date,f_date).first()
wind_img_u=wind_img_u+wind_img_v ####THIS DOESN'T WORK
# Set visualization parameters for land surface temperature.
wind_vis_params = {
'min': -14, 'max': 14,
'palette': ['orange', 'yellow', 'green', 'yellow', 'orange']}
ee_tiles_names = ['Wind Speed']
# Create a new map.
lat, lon = 45.77, 4.855
my_map = folium.Map(location=[lat, lon], zoom_start=5)
# Add layers to the map using a loop.
my_map.add_ee_layer(wind_img_u, wind_vis_params, 'Wind Speed U')
my_map.add_ee_layer(wind_img_v, wind_vis_params, 'Wind Speed V')
my_map.add_child(folium.LayerControl())
folium.LayerControl(collapsed = False).add_to(my_map)
my_map.save("c:/data/weather.html")
import webbrowser
webbrowser.open("c:/data/weather.html")