deafrica_tools.plotting#
Fonctions pour tracer les données de Digital Earth Africa.
Fonctions
|
À partir d'un ensemble de coordonnées x et y, cette fonction génère une carte interactive avec un rectangle délimité superposé à l'imagerie Google Maps. |
|
Trace un GeoDataFrame geopandas sur un fond de carte interactif ipyleaflet, avec des entités colorées en fonction des valeurs de colonne d'attribut. |
|
Tracer une image LULC. |
|
Tracer une image de bits de signalement d'observation d'eau. |
|
Prend un jeu de données xarray et trace des images RVB en utilisant trois bandes d'imagerie (par ex. ['red', 'green', 'blue']). |
|
Prend une série temporelle xarray et anime les données sous forme d'animation à trois bandes (par ex. couleurs réelles ou fausses) ou à bande unique, permettant de comparer les changements dans le paysage au fil du temps. |
- deafrica_tools.plotting.display_map(x, y, crs='EPSG:4326', margin=-0.5, zoom_bias=0)#
À partir d’un ensemble de coordonnées x et y, cette fonction génère une carte interactive avec un rectangle délimité superposé à l’imagerie Google Maps.
Dernière modification : septembre 2019
Modifié à partir d’une fonction écrite par Otto Wagner disponible ici : ceos-seo/data_cube_utilities
- Paramètres:
x ((float, float)) – Un tuple de coordonnées x au format (min, max).
y ((float, float)) – Un tuple de coordonnées y au format (min, max).
crs (string, optional) – Une chaîne de caractères indiquant le code EPSG CRS des coordonnées fournies. La valeur par défaut est “EPSG:4326”.
margin (float) – Une valeur numérique indiquant le nombre de degrés lat-long pour remplir les bords du polygone de superposition rectangulaire. Une valeur plus élevée entraîne plus d’espace entre le bord du tracé et les côtés du polygone. La valeur par défaut est -0,5.
zoom_bias (float or int) – Une valeur numérique vous permettant d’augmenter ou de diminuer le niveau de zoom d’un cran. La valeur par défaut est 0 ; définissez une valeur supérieure à 0 pour zoomer et inférieure à 0 pour dézoomer.
- Renvoie:
folium.Map (Une carte centrée sur les limites de coordonnées fournies. Un)
rectangle est tracé sur cette carte détaillant le périmètre des limites x, y.
Un niveau de zoom est calculé de telle sorte que la fenêtre d’affichage résultante
soit la plus proche possible du rectangle de délimitation centré
sans le rogner.
- deafrica_tools.plotting.map_shapefile(gdf, attribute, continuous=False, cmap='viridis', basemap=ipyleaflet.basemaps.Esri.WorldImagery, default_zoom=None, hover_col=True, **style_kwargs)#
Trace un GeoDataFrame geopandas sur un fond de carte interactif ipyleaflet, avec des entités colorées en fonction des valeurs de colonne d’attribut. Peut être configuré en option pour imprimer des données sélectionnées à partir d’entités dans le GeoDataFrame.
Dernière modification : février 2020
- Paramètres:
gdf (geopandas.GeoDataFrame) – Un GeoDataFrame contenant les entités spatiales à tracer sur le fond de carte.
attribute (string, required) – Une chaîne de caractères requise donnant le nom de toute colonne du GeoDataFrame que vous souhaitez colorer sur la choroplèthe.
continuous (boolean, optional) – Indique s’il faut tracer les données en tant que variable catégorielle ou continue. La valeur par défaut est de remapper l’attribut, ce qui convient aux données catégorielles. Pour les données continues, définissez continuous sur True.
cmap (string, optional) – Une chaîne de caractères donnant le nom d’une palette de couleurs matplotlib.cm qui sera utilisée pour styliser les entités dans le GeoDataFrame. Les entités seront colorées en fonction de l’attribut sélectionné. La valeur par défaut est la palette “viridis”.
basemap (ipyleaflet.basemaps object, optional) – Un objet optionnel ipyleaflet.basemaps utilisé comme fond de carte pour le tracé interactif. La valeur par défaut est basemaps.Esri.WorldImagery.
default_zoom (int, optional) – Un entier optionnel donnant un niveau de zoom par défaut pour le tracé interactif ipyleaflet. La valeur par défaut est None, qui déduit le niveau de zoom de l’étendue des données.
hover_col (boolean or str, optional) – Si True (la valeur par défaut), la fonction imprimera les valeurs de la colonne attribute du GeoDataFrame au-dessus de la carte interactive lorsqu’un utilisateur survole les entités de la carte. Alternativement, un champ de shapefile personnalisé peut être spécifié en fournissant une chaîne donnant le nom du champ à imprimer. Définissez sur False pour empêcher l’impression de tout attribut.
**style_kwargs – Arguments de mots-clés facultatifs à passer au paramètre style de la fonction ipyleaflet.Choropleth. Cela peut être utilisé pour contrôler l’apparence du shapefile, par exemple “stroke” et “weight” (contrôlant la largeur de ligne), “fillOpacity” (transparence du polygone) et “dashArray” (si les lignes/contours sont tracés avec des tirets). Pour plus d’informations : https://ipyleaflet.readthedocs.io/en/latest/api_reference/choropleth.html
- deafrica_tools.plotting.plot_lulc(lulc, product=None, legend=True, **plot_kwargs)#
Tracer une image LULC.
- Paramètres:
lulc (xr.DataArray) – Un DataArray contenant des indicateurs binaires LULC.
product (str) – “ESA”, “IO”, “CGLS”, ou “CCI”, “ESRI”
legend (bool) – Indique s’il faut tracer une légende. Défaut True.
plot_kwargs (dict) – Arguments de mots-clés transmis à DataArray.plot.
- Type renvoyé:
plot
- deafrica_tools.plotting.plot_wofs(wofs, legend=True, **plot_kwargs)#
Tracer une image de bits de signalement d’observation d’eau.
- Paramètres:
wofs (xr.DataArray) – Un DataArray contenant des indicateurs binaires d’observation de l’eau.
legend (bool) – Indique s’il faut tracer une légende. Défaut True.
plot_kwargs (dict) – Arguments de mots-clés transmis à DataArray.plot.
- Type renvoyé:
plot
- deafrica_tools.plotting.rgb(ds, bands=['red', 'green', 'blue'], index=None, index_dim='time', robust=True, percentile_stretch=None, col_wrap=4, size=6, aspect=None, savefig_path=None, savefig_kwargs={}, **kwargs)#
Prend un jeu de données xarray et trace des images RVB en utilisant trois bandes d’imagerie (par exemple [“red”, “green”, “blue”]). Le paramètre index permet de sélectionner facilement des images individuelles ou multiples pour le tracé RVB. Les images peuvent être enregistrées dans un fichier en spécifiant un chemin de sortie à l’aide de savefig_path. Cette fonction a été conçue pour fonctionner comme un wrapper plus facile à utiliser autour de la fonctionnalité .plot.imshow() de xarray.
Dernière modification : avril 2021
- Paramètres:
ds (xarray Dataset) – Un tableau bidimensionnel ou multidimensionnel à tracer sous forme d’image RVB. Si le tableau a plus de deux dimensions (par exemple, plusieurs observations le long d’une dimension “time”), utilisez index pour en sélectionner une (index=0) ou plusieurs (index=[0, 1]), ou créez un tracé à facettes personnalisé en utilisant par exemple col= »time ».
bands (list of strings, optional) – Une liste de trois chaînes donnant les noms des bandes à tracer. Défaut à “[“red”, “green”, “blue”]”. Si le jeu de données ne contient pas de bandes nommées “red”, “green”, “blue”, alors bands doit être spécifié.
index (integer or list of integers, optional) – index peut être utilisé pour sélectionner une (index=0) ou plusieurs observations (index=[0, 1]) du jeu de données d’entrée pour le tracé. Si plusieurs images sont demandées, elles seront tracées sous forme de graphique à facettes.
index_dim (string, optional) – La dimension le long de laquelle les observations doivent être tracées si plusieurs observations sont demandées en utilisant index. Défaut à time.
robust (bool, optional) – Produit une image améliorée où la plage de la palette de couleurs est calculée avec les 2e et 98e centiles au lieu des valeurs extrêmes. Défaut à True.
percentile_stretch (tuple of floats) – Un tuple de deux flottants (entre 0.00 et 1.00) qui peut être utilisé pour limiter la plage de la palette de couleurs à des centiles spécifiés manuellement afin d’obtenir un meilleur contrôle sur la luminosité et le contraste de l’image. La valeur par défaut est None ; “(0.02, 0.98)” est équivalent à robust=True. Si ce paramètre est utilisé, robust n’aura aucun effet.
col_wrap (integer, optional) – Le nombre de colonnes autorisées dans les tracés à facettes. Défaut à 4.
size (integer, optional) – La hauteur (en pouces) de chaque tracé. Défaut à 6.
aspect (integer, optional) – Le rapport hauteur/largeur de chaque facette dans le tracé, de sorte que aspect * size donne la largeur de chaque facette en pouces. Défaut à None, ce qui calculera l’aspect basé sur les dimensions x et y des données d’entrée.
savefig_path (string, optional) – Chemin pour exporter le fichier image pour le tracé RVB. Défaut à None, ce qui n’exporte pas de fichier image.
savefig_kwargs (dict, optional) – Un dictionnaire d’arguments de mots-clés à transmettre à matplotlib.pyplot.savefig lors de l’exportation d’un fichier image. Pour toutes les options disponibles, voir : https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html
**kwargs (optional) – Arguments de mots-clés supplémentaires à transmettre à xarray.plot.imshow(). Par exemple, la fonction peut être utilisée pour tracer dans un objet axes matplotlib existant en passant un argument de mot-clé ax. Pour plus d’options, voir : http://xarray.pydata.org/en/stable/generated/xarray.plot.imshow.html
- Renvoie:
Un tracé RVB d’une ou plusieurs observations, et éventuellement une image
fichier écrit sur disque.
- deafrica_tools.plotting.xr_animation(ds, bands=None, output_path='animation.mp4', width_pixels=500, interval=100, percentile_stretch=(0.02, 0.98), image_proc_funcs=None, show_gdf=None, show_date='%d %b %Y', show_text=None, show_colorbar=True, gdf_kwargs={}, annotation_kwargs={}, imshow_kwargs={}, colorbar_kwargs={}, limit=None)#
Prend une série temporelle xarray et anime les données sous forme d’animation à trois bandes (par ex. couleurs réelles ou fausses) ou à bande unique, permettant de comparer les changements dans le paysage au fil du temps.
Les animations peuvent être personnalisées pour inclure des annotations de texte et de date ou utiliser des combinaisons spécifiques de bandes d’entrée. Les données vectorielles peuvent être superposées et animées au-dessus de l’imagerie, et des fonctions de traitement d’image personnalisées peuvent être appliquées à chaque image. Prend en charge les formats de fichiers .mp4 (idéal pour Twitter/réseaux sociaux) et .gif (idéal pour tous les usages, mais peut avoir des tailles de fichier importantes).
Dernière modification : octobre 2020
- Paramètres:
ds (xarray.Dataset) – Un jeu de données xarray avec plusieurs étapes temporelles (c’est-à-dire plusieurs observations le long de la dimension time).
bands (list of strings) – Une liste d’un ou trois noms de bandes à tracer, qui doivent tous exister dans ds.
output_path (str, optional) – Une chaîne donnant l’emplacement de sortie et le nom de fichier de l’animation résultante. Les extensions de fichier “.mp4” et “.gif” sont acceptées. Défaut à “animation.mp4”.
width_pixels (int, optional) – Un entier définissant la largeur de sortie en pixels pour l’animation résultante. La hauteur de l’animation est définie automatiquement en fonction des dimensions/rapport du jeu de données xarray d’entrée. Défaut à 500 pixels de largeur.
interval (int, optional) – Un entier définissant les millisecondes entre chaque image d’animation utilisé pour contrôler la vitesse de l’animation de sortie. Des valeurs plus élevées entraînent une animation plus lente. Défaut à 100 millisecondes entre chaque image.
percentile_stretch (tuple of floats, optional) – Un tuple optionnel de deux flottants qui peut être utilisé pour découper les tableaux à une ou trois bandes par centiles afin de produire une image plus vibrante et visuellement attrayante qui n’est pas affectée par les valeurs aberrantes/extrêmes. La valeur par défaut est (0.02, 0.98) ce qui est équivalent au robust=True de xarray. Ce paramètre est complètement ignoré si vmin et vmax sont fournis en tant que kwargs à imshow_kwargs.
image_proc_funcs (list of funcs, optional) – Une liste optionnelle contenant des fonctions qui seront appliquées à chaque image d’animation (étape temporelle) avant l’animation. Cela peut inclure des fonctions de traitement d’image telles que l’augmentation du contraste, le masque flou, la saturation, etc. La fonction doit prendre ET retourner un numpy.ndarray avec la forme [y, x, bandes]. Si votre fonction a des paramètres, vous pouvez passer des valeurs personnalisées en utilisant une fonction lambda : image_proc_funcs=[lambda x: custom_func(x, param1=10)].
show_gdf (geopandas.GeoDataFrame, optional) – Les données vectorielles (par exemple, les shapefiles ESRI ou GeoJSON) peuvent être optionnellement tracées par-dessus l’imagerie en fournissant un objet geopandas.GeoDataFrame. Pour personnaliser les couleurs utilisées pour tracer les caractéristiques vectorielles, créez une nouvelle colonne dans le GeoDataFrame appelée “colors” spécifiant la couleur utilisée pour tracer chaque caractéristique : par exemple, gdf[“colors”] = “red”. Pour tracer les caractéristiques vectorielles à des moments spécifiques dans le temps pendant l’animation, créez de nouvelles colonnes “start_time” et/ou “end_time” dans le GeoDataFrame qui définissent la plage de temps utilisée pour tracer chaque caractéristique. Les dates peuvent être fournies dans n’importe quel format de chaîne pouvant être converti en utilisant pandas.to_datetime(). par exemple, gdf[“end_time”] = [“2001”, “2005-01”, “2009-01-01”]
show_date (string or bool, optional) – Une chaîne ou un booléen optionnel qui définit comment (ou si) tracer les annotations de date pour chaque image d’animation. Défaut à “%d %b %Y” ; peut être personnalisé dans n’importe quel format compris par strftime (https://strftime.org/). Réglez sur False pour supprimer complètement les annotations de date.
show_text (str or list of strings, optional) – Une chaîne ou une liste de chaînes optionnelle d’une longueur égale au nombre d’étapes temporelles dans ds. Cela peut être utilisé pour afficher une annotation de texte statique (en utilisant une chaîne), ou un titre dynamique (en utilisant une liste) qui affiche un texte différent pour chaque étape temporelle. Par défaut, aucune annotation de texte ne sera tracée.
show_colorbar (bool, optional) – Un booléen optionnel indiquant s’il faut inclure une barre de couleur pour les animations à bande unique. Défaut à True.
gdf_kwargs (dict, optional) – Un dictionnaire optionnel d’arguments de mots-clés pour personnaliser l’apparence d’un geopandas.GeoDataFrame fourni à show_gdf. Les arguments de mots-clés sont transmis à GeoSeries.plot (voir http://geopandas.org/reference.html#geopandas.GeoSeries.plot). Par exemple : gdf_kwargs = {“linewidth”: 2}.
annotation_kwargs (dict, optional) – Un dictionnaire optionnel d’arguments de mots-clés pour contrôler l’apparence des annotations de texte. Les arguments de mots-clés sont transmis à plt.annotate depuis matplotlib. (voir https://matplotlib.org/api/_as_gen/matplotlib.pyplot.annotate.html pour les options). Par exemple, annotation_kwargs={“fontsize”:20, “color”:”red”, “family”:”serif”}.
imshow_kwargs (dict, optional) – Un dictionnaire optionnel d’arguments de mots-clés pour contrôler l’apparence des tableaux transmis à plt.imshow de matplotlib (voir https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html pour les options). Par exemple, un schéma de couleurs vertes et un étirement personnalisé pourraient être spécifiés en utilisant : onebandplot_kwargs={“cmap”:”Greens”, “vmin”:0.2, “vmax”:0.9}. (certains paramètres comme “cmap” n’auront un effet que pour les animations à bande unique, pas pour les animations RVB à trois bandes).
colorbar_kwargs (dict, optional) – Un dictionnaire optionnel d’arguments de mots-clés utilisé pour contrôler l’apparence de la barre de couleur. Les arguments de mots-clés sont transmis à matplotlib.pyplot.tick_params (voir https://matplotlib.org/api/_as_gen/matplotlib.pyplot.tick_params.html pour les options). Cela peut être utilisé pour personnaliser les graduations de la barre de couleur, par exemple en changeant la couleur de l’étiquette de graduation en fonction de l’arrière-plan de l’animation : colorbar_kwargs={“colors”: “black”}.
limit (int, optional) – Un entier optionnel spécifiant combien d’images d’animation rendre (par exemple limit=50 rendra les 50 premières images). Cela peut être utile pour tester rapidement les animations sans rendre toute la série temporelle.