Skip to content

Commit 8728352

Browse files
authored
Correction coquilles geopandas (#444)
* Hide message * cell markdown * cartiflette * echo true * typo * rm details * column * mef * apis
1 parent a8d5b9c commit 8728352

File tree

3 files changed

+51
-33
lines changed

3 files changed

+51
-33
lines changed

content/annexes/corrections.qmd

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Webscraping
6969
#| echo: false
7070
#| output: 'asis'
7171
#| include: true
72-
#| eval: false
72+
#| eval: true
7373
print_badges("content/manipulation/04a_webscraping_TP.qmd", correction=True)
7474
```
7575
:::
@@ -81,17 +81,19 @@ Expressions régulières:
8181
#| echo: false
8282
#| output: 'asis'
8383
#| include: true
84-
#| eval: false
84+
#| eval: true
8585
print_badges("content/manipulation/04b_regex_TP.qmd", correction=True)
8686
```
8787
:::
8888

89+
Chapitre sur les API:
90+
8991
::: {.cell .markdown}
9092
```{python}
9193
#| echo: false
9294
#| output: 'asis'
9395
#| include: true
94-
#| eval: false
96+
#| eval: true
9597
print_badges("content/manipulation/04c_API_TP.qmd", correction=True)
9698
```
9799
:::

content/manipulation/03_geopandas_TP.qmd

Lines changed: 45 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,20 @@ données géographiques pourront être manipulées
5757
comme n'importe quel type de données avec `Python`.
5858
La complexité induite par la dimension spatiale ne sera pas ressentie.
5959

60+
::: {.cell .markdown}
61+
```{=html}
6062
<details>
6163
<summary>
64+
6265
Illustration du principe des données spatiales (documentation de `sf`, l'équivalent de `Geopandas` en `R`)
66+
6367
</summary>
64-
![](https://user-images.githubusercontent.com/520851/50280460-e35c1880-044c-11e9-9ed7-cc46754e49db.jpg){width="70%"}
65-
</details>
6668
69+
![](https://user-images.githubusercontent.com/520851/50280460-e35c1880-044c-11e9-9ed7-cc46754e49db.jpg){width="70%"}
6770
71+
</details>
72+
```
73+
:::
6874
[^noteQGIS]: D'ailleurs, le logiciel de cartographie spécialisé QGIS, s'appuie sur `Python`
6975
pour les manipulations de données nécessaires avant de réaliser une carte.
7076

@@ -79,6 +85,38 @@ Ce chapitre illustre à partir d’exemples pratiques certains principes centrau
7985
Si vous êtes intéressés par `R`,
8086
une version très proche de ce TP est disponible dans [ce cours de `R`](https://rgeo.linogaliana.fr/exercises/geospatial-wrangling.html).
8187

88+
::: {.cell .markdown}
89+
```{=html}
90+
<div class="alert alert-info" role="alert">
91+
<h3 class="alert-heading"><i class="fa-solid fa-comment"></i> Note</h3>
92+
```
93+
94+
Le package `cartiflette` est expérimental
95+
et n'est disponible que sur
96+
[`Github`](https://github.com/InseeFrLab/cartogether), pas sur `PyPi`.
97+
Il est amené à évoluer rapidement et cette page sera mise à jour
98+
quand de nouvelles fonctionalités (notamment l'utilisation d'`API`)
99+
seront disponibles pour encore simplifier la récupération de
100+
contours géographiques.
101+
102+
Pour installer `cartiflette`, il est nécessaire d'utiliser les commandes suivantes
103+
depuis un `Jupyter Notebook` (si vous utilisez la ligne de commande directement,
104+
vous pouvez retirer les `!` en début de ligne):
105+
106+
```{python}
107+
#| eval: false
108+
!pip install requests py7zr geopandas openpyxl tqdm s3fs PyYAML xlrd
109+
!pip install git+https://github.com/inseefrlab/cartiflette@80b8a5a28371feb6df31d55bcc2617948a5f9b1a
110+
```
111+
112+
Ces commandes permettent de récupérer l'ensemble du code
113+
source depuis [`Github`](https://github.com/InseeFrLab/cartiflette)
114+
115+
```{=html}
116+
</div>
117+
```
118+
:::
119+
82120
## Préliminaires
83121

84122
Avant de se lancer dans le TD, il est nécessaire d'installer quelques
@@ -115,7 +153,7 @@ sont quant à elles détaillées dans le chapitre
115153
précédent.
116154

117155
```{python}
118-
#| echo: false
156+
#| echo: true
119157
#| output: false
120158
!pip install requests py7zr geopandas openpyxl tqdm s3fs PyYAML xlrd
121159
!pip install git+https://github.com/inseefrlab/cartiflette@80b8a5a28371feb6df31d55bcc2617948a5f9b1a
@@ -176,22 +214,14 @@ communes_borders = download_vectorfile_url_all(
176214
2. Regarder les premières lignes des données. Identifier la différence avec
177215
un _dataframe_ standard.
178216

179-
<details>
180-
181-
<summary>
182-
Premières lignes des données
183-
</summary>
184-
185217
```{python}
186218
# 2) Regarder les premières lignes
187219
communes_borders.head()
188220
```
189221

190-
</details>
191-
192222
3. Afficher le `crs` de `communes_borders`. Ce dernier contrôle la
193223
transformation de l'espace tridimensionnel terrestre en une surface plane.
194-
Utiliser `st_transform` pour transformer les données en Lambert 93, le
224+
Utiliser `to_crs` pour transformer les données en Lambert 93, le
195225
système officiel (code EPSG 2154).
196226

197227
4. Afficher les communes des Hauts de Seine (département 92) et utiliser la méthode
@@ -447,6 +477,7 @@ sur notre perception de la taille des pays.
447477
<summary>
448478
Voir la carte interactive
449479
</summary>
480+
450481
```{ojs}
451482
html`<div class="grid-container">
452483
<div class="viewof-projection">${viewof projectionBertin}</div>
@@ -584,24 +615,16 @@ stations = stations.to_crs(petite_couronne.crs)
584615
principales_stations = stations.sort_values("capacity", ascending = False).head(50)
585616
```
586617

587-
<details>
588-
<summary>
589618
La couche de base obtenue à l'issue de la question 4.
590-
</summary>
591619

592620
```{python}
593621
# 4. petite couronne
594622
base = petite_couronne.boundary.plot(edgecolor = "black", linewidth = 0.5)
595623
base
596624
```
597625

598-
</details>
599-
600626

601-
<details>
602-
<summary>
603627
Puis en y ajoutant les limites départementales (question 5).
604-
</summary>
605628

606629
```{python}
607630
# 5. Ajout de la couche des départements
@@ -610,22 +633,15 @@ petite_couronne_departements.boundary.plot(ax = base, edgecolor = "blue", linewi
610633
base
611634
```
612635

613-
</details>
614-
615-
616-
<details>
617-
<summary>
618636
Puis les stations (question 6).
619-
</summary>
620637

621638
```{python}
622639
# 6. Ajout des stations
623640
base = petite_couronne.boundary.plot(edgecolor = "black", linewidth = 0.5)
624641
petite_couronne_departements.boundary.plot(ax = base, edgecolor = "blue", linewidth = 0.7)
625-
principales_stations.plot(ax= base, column = "capacity", markersize = "capacity", color = "red", alpha = 0.4)
642+
principales_stations.plot(ax= base, markersize = "capacity", color = "red", alpha = 0.4)
626643
base
627644
```
628-
</details>
629645

630646
La carte finale, après mise en forme:
631647

@@ -634,7 +650,7 @@ La carte finale, après mise en forme:
634650
#7. sans axe et avec titre
635651
base = petite_couronne.boundary.plot(edgecolor = "black", linewidth = 0.5)
636652
petite_couronne_departements.boundary.plot(ax = base, edgecolor = "blue", linewidth = 0.7)
637-
principales_stations.plot(ax= base, column = "capacity", markersize = "capacity", color = "red", alpha = 0.4)
653+
principales_stations.plot(ax= base, markersize = "capacity", color = "red", alpha = 0.4)
638654
base.set_axis_off()
639655
base.set_title("Les 50 principales stations de Vélib")
640656
base

content/manipulation/03_geopandas_tutorial.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Il peut servir de pendant à celui-ci pour l'utilisateur de `R`.
6161
Quelques installations préalables sont nécessaires :
6262

6363
```{python}
64-
#| message : false
64+
#| output : false
6565
!pip install pandas fiona shapely pyproj rtree # à faire obligatoirement en premier pour utiliser rtree ou pygeos pour les jointures spatiales
6666
!pip install contextily
6767
!pip install geopandas

0 commit comments

Comments
 (0)