Skip to content

Commit d8152c7

Browse files
committed
⚡️(opendata) use the Statique Materialized View
Now that we've implemented a materialized view for static data, let's use it!
1 parent 88f1a36 commit d8152c7

File tree

2 files changed

+46
-94
lines changed

2 files changed

+46
-94
lines changed

src/opendata/CHANGELOG.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,13 @@ and this project adheres to
88

99
## [Unreleased]
1010

11-
### Changed
12-
13-
- Upgrade Psycopg to `3.2.4`
14-
15-
### Fixed
16-
17-
- Improve Enum representation to fit with the statique schema
18-
- Force `coordonneesXY` case in export
19-
2011
### Added
2112

2213
- Configured Data7 0.9.0
14+
- Use the `Statique` materialized view for the `statiques` dataset
15+
16+
### Changed
17+
18+
- Upgrade Psycopg to `3.2.4`
2319

2420
[unreleased]: https://github.com/MTES-MCT/qualicharge/

src/opendata/data7.yaml

Lines changed: 41 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -39,90 +39,46 @@ default:
3939
ORDER BY Status.horodatage DESC
4040
- basename: statiques
4141
query: >-
42-
WITH
43-
ImplantationStation (reference, output) AS (
44-
VALUES
45-
('VOIRIE', 'Voirie'),
46-
('PARKING_PUBLIC', 'Parking public'),
47-
(
48-
'PARKING_PRIVE_USAGE_PUBLIC',
49-
'Parking privé à usage public'
50-
),
51-
(
52-
'PARKING_PRIVE_CLIENTELE',
53-
'Parking privé réservé à la clientèle'
54-
),
55-
(
56-
'STATION_RECHARGE_RAPIDE',
57-
'Station dédiée à la recharge rapide'
58-
)
59-
),
60-
ConditionAccess (reference, output) AS (
61-
VALUES
62-
('ACCESS_LIBRE', 'Accès libre'),
63-
('ACCESS_RESERVE', 'Accès réservé')
64-
),
65-
AccessibilitePMR (reference, output) AS (
66-
VALUES
67-
('RESERVE_PMR', 'Réservé PMR'),
68-
('NON_RESERVE', 'Accessible mais non réservé PMR'),
69-
('NON_ACCESSIBLE', 'Non accessible'),
70-
('INCONNUE', 'Accessibilité inconnue')
71-
),
72-
Raccordement (reference, output) AS (
73-
VALUES
74-
('DIRECT', 'Direct'),
75-
('INDIRECT', 'Indirect')
76-
)
7742
SELECT
78-
Amenageur.nom_amenageur,
79-
Amenageur.siren_amenageur,
80-
Amenageur.contact_amenageur,
81-
Operateur.nom_operateur,
82-
Operateur.contact_operateur,
83-
Operateur.telephone_operateur,
84-
Enseigne.nom_enseigne,
85-
Station.id_station_itinerance,
86-
Station.id_station_local,
87-
Station.nom_station,
88-
ImplantationStation.output AS implantation_station,
89-
Localisation.adresse_station,
90-
Localisation.code_insee_commune,
91-
ST_AsGeoJSON (Localisation."coordonneesXY")::json -> 'coordinates' AS "coordonneesXY",
92-
Station.nbre_pdc,
93-
PointDeCharge.id_pdc_itinerance,
94-
PointDeCharge.id_pdc_local,
95-
PointDeCharge.puissance_nominale,
96-
PointDeCharge.prise_type_ef,
97-
PointDeCharge.prise_type_2,
98-
PointDeCharge.prise_type_combo_ccs,
99-
PointDeCharge.prise_type_chademo,
100-
PointDeCharge.prise_type_autre,
101-
PointDeCharge.gratuit,
102-
PointDeCharge.paiement_acte,
103-
PointDeCharge.paiement_cb,
104-
PointDeCharge.paiement_autre,
105-
PointDeCharge.tarification,
106-
ConditionAccess.output AS condition_acces,
107-
PointDeCharge.reservation,
108-
Station.horaires,
109-
AccessibilitePMR.output AS accessibilite_pmr,
110-
PointDeCharge.restriction_gabarit,
111-
Station.station_deux_roues,
112-
Raccordement.output AS raccordement,
113-
Station.num_pdl,
114-
Station.date_mise_en_service,
115-
PointDeCharge.observations,
116-
Station.date_maj,
117-
PointDeCharge.cable_t2_attache
43+
nom_amenageur,
44+
siren_amenageur,
45+
contact_amenageur,
46+
nom_operateur,
47+
contact_operateur,
48+
telephone_operateur,
49+
nom_enseigne,
50+
id_station_itinerance,
51+
id_station_local,
52+
nom_station,
53+
implantation_station,
54+
adresse_station,
55+
code_insee_commune,
56+
ST_AsGeoJSON ("coordonneesXY")::json -> 'coordinates' AS "coordonneesXY",
57+
nbre_pdc,
58+
id_pdc_itinerance,
59+
id_pdc_local,
60+
puissance_nominale,
61+
prise_type_ef,
62+
prise_type_2,
63+
prise_type_combo_ccs,
64+
prise_type_chademo,
65+
prise_type_autre,
66+
gratuit,
67+
paiement_acte,
68+
paiement_cb,
69+
paiement_autre,
70+
tarification,
71+
condition_acces,
72+
reservation,
73+
horaires,
74+
accessibilite_pmr,
75+
restriction_gabarit,
76+
station_deux_roues,
77+
raccordement,
78+
num_pdl,
79+
date_mise_en_service,
80+
observations,
81+
date_maj,
82+
cable_t2_attache
11883
FROM
119-
PointDeCharge
120-
INNER JOIN Station ON PointDeCharge.station_id = Station.id
121-
INNER JOIN Amenageur ON Station.amenageur_id = Amenageur.id
122-
INNER JOIN Operateur ON Station.operateur_id = Operateur.id
123-
INNER JOIN Enseigne ON Station.enseigne_id = Enseigne.id
124-
INNER JOIN Localisation ON Station.localisation_id = Localisation.id
125-
INNER JOIN ImplantationStation ON Station.implantation_station::TEXT = ImplantationStation.reference
126-
INNER JOIN ConditionAccess ON Station.condition_acces::TEXT = ConditionAccess.reference
127-
INNER JOIN AccessibilitePMR ON PointDeCharge.accessibilite_pmr::TEXT = AccessibilitePMR.reference
128-
LEFT JOIN Raccordement ON Station.raccordement::TEXT = Raccordement.reference
84+
Statique

0 commit comments

Comments
 (0)