Skip to content

Commit

Permalink
un petit mot sur mercator (#201)
Browse files Browse the repository at this point in the history
* Update 03_geopandas_tutorial.Rmd

* Automated changes

* add image

* Automated changes

* commit image

* Automated changes

* Automated changes

* corrige image n'apparaissant pas

* truesize

* Automated changes

* to rmd

* Automated changes

* Automated changes

* Automated changes

* bon lien

* Automated changes

* Automated changes

* thetruesize

* Automated changes

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
linogaliana and github-actions[bot] committed Dec 16, 2021
1 parent 352e3b3 commit 5cac236
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 16 deletions.
9 changes: 6 additions & 3 deletions content/course/manipulation/02a_pandas_tutorial.Rmd
Expand Up @@ -979,7 +979,9 @@ On utilise de manière indifférente les termes *merge* ou *join*.
Le deuxième terme provient de la syntaxe SQL.
En `pandas`, dans la plupart des cas, on peut utiliser indifféremment `df.join` et `df.merge`

![](pandas_join.png)
```{r, echo = FALSE}
knitr::include_graphics('pandas_join.png')
```

Il est aussi possible de réaliser un merge en utilisant la fonction `pandas.concat()` avec `axis=1`.
Se référer à la documentation de `concat` pour voir les options possibles.
Expand All @@ -999,8 +1001,9 @@ Un exemple de la distinction entre les deux peut être pris à l'ouvrage de réf

L'aide mémoire suivante aidera à se rappeler les fonctions à appliquer si besoin:

![](reshape.png)
<!-- #endregion -->
```{r, echo = FALSE}
knitr::include_graphics('reshape.png')
```

Le fait de passer d'un format *wide* au format *long* (ou vice-versa) peut être extrêmement pratique car
certaines fonctions sont plus adéquates sur une forme de données ou sur l'autre.
Expand Down
19 changes: 16 additions & 3 deletions content/course/manipulation/03_geopandas_tutorial.Rmd
Expand Up @@ -97,7 +97,7 @@ Les données spatiales rassemblent classiquement deux types de données :
1. des **données géographiques** (ou géométries): objets géométriques tels que des points, des vecteurs, des polygones, ou des maillages (*raster*). Exemple: la forme de chaque chaque commune, les coordonnées d'un bâtiment;
2. des **données attributaires** (ou attributs): des mesures et des caractéristiques associés aux objets géométriques. Exemple: la population de chaque commune, le nombre de fenêtres et le nombre d'étages d'un bâtiment.

**Les données spatiales sont fréquemment traitées à l'aide d'un système d'information géographique (SIG)**, c'est-à-dire un système d'information capable de stocker, d'organiser et de présenter des données alphanumériques spatialement référencées par des coordonnées dans un système de référence (CRS). `R` dispose de fonctionnalités lui permettant de réaliser les mêmes tâches qu'un SIG (traitement de données spatiales, représentations cartographiques).
**Les données spatiales sont fréquemment traitées à l'aide d'un système d'information géographique (SIG)**, c'est-à-dire un système d'information capable de stocker, d'organiser et de présenter des données alphanumériques spatialement référencées par des coordonnées dans un système de référence (CRS). `Python` dispose de fonctionnalités lui permettant de réaliser les mêmes tâches qu'un SIG (traitement de données spatiales, représentations cartographiques).

**Les systèmes de projection font l'objet de standards internationaux et sont souvent désignés par des codes dits codes EPSG**. Ce [site](https://epsg.io/) est un bon aide-mémoire. Les plus fréquents, pour les utilisateurs français, sont les suivants (plus d'infos [ici](https://geodesie.ign.fr/contenu/fichiers/documentation/SRCfrance.pdf)):

Expand Down Expand Up @@ -551,7 +551,20 @@ sujet, notamment l'image suivante qui montre bien le principe d'une projection:

![Les différents types de projection](https://www.earthdatascience.org/images/courses/earth-analytics/spatial-data/spatial-projection-transformations-crs.png)

La [documentation officielle de geopandas](https://geopandas.org/projections.html) est également très bien
La Terre peut ainsi être représentée de multiple manière, ce qui n'est pas neutre sur la manière de se représenter
certains continents. En particulier, avec la projection Mercator, l'Afrique apparaît beaucoup moins vaste qu'elle ne l'est en réalité

```{r, echo = FALSE}
knitr::include_graphics('truesize.png')
```


*Exemple de reprojection de pays depuis le site [thetruesize.com](https://thetruesize.com/)*

Les projections sont très nombreuses et certaines peuvent avoir une [forme suprenante](https://imgs.xkcd.com/comics/map_projections.png)

Concernant la gestion des projections avec `geopandas`,
la [documentation officielle](https://geopandas.org/projections.html) est très bien
faite sur le sujet. Elle fournit notamment l'avertissement suivant qu'il est
bon d'avoir en tête:

Expand All @@ -560,7 +573,7 @@ bon d'avoir en tête:
> From time to time, however, you may get data that does not include a projection. In this situation, you have to set the CRS so geopandas knows how to interpret the coordinates.
![](https://imgs.xkcd.com/comics/bad_map_projection_south_america.png)
*Image empruntée à <https://blog.chrislansdown.com/2020/01/17/a-great-map-projection-joke/>*
*Image empruntée à XKCD <https://xkcd.com/2256/> qu'on peut également trouver sur <https://blog.chrislansdown.com/2020/01/17/a-great-map-projection-joke/>*

Pour déterminer le système de projection d'une base de données, on peut vérifier l'attribut `crs`:

Expand Down
Expand Up @@ -53,16 +53,14 @@ de nettoyage de données, notamment des chaînes de caractère.

## Exercices

Les notebooks d'exercices sont listés [ici](listetp), visualisables
via
<a href="https://github.com/linogaliana/python-datascientist" class="github"><i class="fab fa-github"></i></a>
ou
[![nbviewer](https://img.shields.io/badge/visualize-nbviewer-blue)](https://nbviewer.jupyter.org/github/linogaliana/python-datascientist/tree/master)
ainsi que dans les différents environnements prêts à l'emploi mis à
disposition
[![Onyxia](https://img.shields.io/badge/launch-onyxia-brightgreen)](https://datalab.sspcloud.fr/my-lab/catalogue/inseefrlab-helm-charts-datascience/jupyter/deploiement?resources.requests.memory=4096Mi)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/linogaliana/python-datascientist/master)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/linogaliana/python-datascientist/blob/master)
Les notebooks d'exercices sont listés [ici](listetp). Il est
possible de les consulter sur ce site ou d'utiliser l'un des
badges présents en début de chapitre, par exemple
ceux-ci pour ouvrir le TP `pandas`:

```{r, echo = FALSE, results = 'asis', include = TRUE, eval = TRUE}
print_badges("content/course/manipulation/02b_pandas_TP.Rmd", split = 4)
```



Expand Down

0 comments on commit 5cac236

Please sign in to comment.