Skip to content

Commit

Permalink
SemVer v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
datagistips committed Feb 21, 2024
1 parent 2cd2cda commit dac6398
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 46 deletions.
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,37 @@ Ce travail a été conduit en partenariat avec OpenDataFrance et La Région SUD

Une première écriture du schéma est proposée sachant qu'en 2024, les parties prenantes et acteurs de la logistique seront conviés à son élaboration de manière plus approfondie.

## Schéma
## À propos

Le schéma sur les aires de livraison vise à proposer [une structure](https://github.com/CEREMA/schema-aire-livraison/blob/master/documentation/schema-page.md) selon laquelle saisir les **informations** contenues dans ces arrêtés dans un tableau de données.

Le schéma proposé se veut volontairement [assez simple (un seul tableau de saisie)](https://github.com/CEREMA/schema-aire-livraison/blob/main/exemple-antibes.csv) afin de **faciliter** la production de données d'arrêtés par le plus grand nombre et donc de faciliter leur diffusion.

Le schéma comporte les **champs** essentiels pour identifier les paramètres d'un arrêté ainsi que les caractéristiques de l'aire de livraison elle même. Sa structure est cohérente et reprend les champs du [schéma des arrêtés permanents de circulation en ville pour le transport de marchandises](https://schema.data.gouv.fr/CEREMA/schema-arrete-circulation-marchandises/).

[Un fichier d'exemple](exemple_antibes.csv) est fourni, avec la numérisation de trois aires de livraison sur la commune d'Antibes.

## Le schéma

[Voir le schéma au format JSON TableSchema ](schema.json)
[Voir la documentation associée au schéma (liste des champs et valeurs possibles)](documentation/schema-page.md)

### Version "ultra"
### Version *ultra*

Des champs supplémentaires sont disponibles pour le schéma dans sa version **ultra**

[Voir le schéma version **ultra** au format TableSchema (json)](documentation/schema-page-ultra.md)

## Pages de travail
## Inspirations pour le schéma

Les pages suivantes ont permis de travailler autour d'un schéma sur les aires de livraison :
### Pages de travail

[Répertoire FabLog d'OpenDataFrance](https://opendatafrance.gitbook.io/fablog/groupes-de-travail/partage-des-donnees/zones-de-livraison)
[Framapad](https://mypads.framapad.org/mypads/?/mypads/group/espace-de-travail-normalisation-ch36h71o/pad/view/draft-aires-de-livraison-zv13l47tc)
Les pages suivantes ont permis de travailler autour d'un schéma sur les aires de livraison :

## Jeux de données
- [Répertoire FabLog d'OpenDataFrance](https://opendatafrance.gitbook.io/fablog/groupes-de-travail/partage-des-donnees/zones-de-livraison)
- [Framapad](https://mypads.framapad.org/mypads/?/mypads/group/espace-de-travail-normalisation-ch36h71o/pad/view/draft-aires-de-livraison-zv13l47tc)

- Dans le répertoire, [un fichier d'exemple](exemple_antibes.csv) est fourni, avec la numérisation de trois aires de livraison sur la commune d'Antibes
### Jeux de données

Autrement, on trouve sur internet plusieurs jeux de données ouverts sur les aires de livraison, qui ont servi d'inspiration au schéma :

Expand All @@ -50,22 +54,18 @@ Autrement, on trouve sur internet plusieurs jeux de données ouverts sur les air
- [Nantes](https://data.nantesmetropole.fr/explore/dataset/244400404_aires-livraison-nantes-metropole/table/?disjunctive.commune&sort=debattement)
- Champ débattement
- [Mulhouse](https://data.mulhouse-alsace.fr/explore/dataset/68224_aires-de-livraison-sur-mulhouse/table/?location=17,47.75468,7.33279&basemap=jawg.streets)
- Peu de champs

## Remarques sur la numérisation

### Au sujet du champ `INTERV_JH`

Si `INTERV_JH` est vide, alors ce ne sont que des livraisons qui sont autorisées.

S'il y a des horaires spécifiés dans `INTERV_JH`, alors la livraison s'effectue à ces horaires. En dehors de ces plages, le stationnement standard est autorisé. Il est donc mixte.
- Ce jeu de données est assez minimaliste et comporte peu de champs

## Outils

Outils utiles : https://jsonformatter.curiousconcept.com/#
### Scripts locaux

Scripts (dossier `scripts`) :
Ils sont dans le dossier `scripts`:

[Créer la documentation du schéma](1-Creer-Documentation.bat)
[Tester l'exemple avec frictionless](scripts/2-Tester-Exemple.bat)

### Autres

Reformater le schéma JSON TableSchema : https://jsonformatter.curiousconcept.com/#

19 changes: 10 additions & 9 deletions documentation/schema-page.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,21 @@ Sp
| [INTERV_JH](#jours-et-heures-de-livraison---propriété-interv_jh) | chaîne de caractères | Non |
| [INTERV_REGIME](#régime-d'accès---propriété-interv_regime) | chaîne de caractères | Non |
| [INTERV_DUREE](#durée-maximale-d'intervention---propriété-interv_duree) | durée | Non |
| [INTERV_DISQUE](#disque-obligatoire---propriété-interv_disque) | booléen | Oui |
| [INTERV_DISQUE](#disque-obligatoire---propriété-interv_disque) | booléen | Non |
| [EMPRISE_ZONE](#zone---propriété-emprise_zone) | chaîne de caractères | Non |
| [EMPRISE_DESIGNATION](#adresse-du-point-de-référence-de-l'aire---propriété-emprise_designation) | chaîne de caractères | Oui |
| [EMPRISE_LONGUEUR](#longueur-de-l'emprise---propriété-emprise_longueur) | nombre réel | Non |
| [EMPRISE_LARGEUR](#largeur-de-l'emprise---propriété-emprise_largeur) | nombre réel | Non |
| [EMPRISE_DEBATTEMENT](#présence-d'un-débattement---propriété-emprise_debattement) | booléen | Oui |
| [EMPRISE_DEBATTEMENT](#présence-d'un-débattement---propriété-emprise_debattement) | booléen | Non |
| [STATIONNEMENT_LOCALISATION](#localisation-du-stationnement---propriété-stationnement_localisation) | chaîne de caractères | Non |
| [IRVE_PRESENCE](#installation-de-recharge-de-véhicule-électrique---propriété-irve_presence) | booléen | Oui |
| [IRVE_PRESENCE](#installation-de-recharge-de-véhicule-électrique---propriété-irve_presence) | booléen | Non |
| [IRVE_PUISSANCE](#puissance-de-l'installation-de-recharge-de-véhicule-électrique---propriété-irve_puissance) | nombre réel | Non |
| [GEOM_XY](#coordonnées-gps-de-l'aire-de-livraison-ou-de-la-rue---propriété-geom_xy) | point géographique | Oui |
| [GEOM_WKT](#géométrie-au-format-wkt---propriété-geom_wkt) | chaîne de caractères | Non |

#### Identifiant de l'entité - Propriété `ID`

> *Description : Il s'agit de l'identifiant, unique, de la ligne du tableau.. [Vous pouvez créer des identifiants grâce à l'application Heidi d'Etalab](https://heidi.app.etalab.studio/).<br/>Ex : 133-3*
> *Description : Il s'agit de l'identifiant, unique, de la ligne du tableau. Vous pouvez créer des identifiants grâce à l'application [Heidi](https://heidi.app.etalab.studio/) d'Etalab.<br/>Ex : 133-3*
- Valeur obligatoire
- Type : chaîne de caractères

Expand Down Expand Up @@ -130,14 +130,14 @@ Sp

#### Durée maximale d'intervention - Propriété `INTERV_DUREE`

> *Description : Durée maximale d'intervention (au niveau d'une aire piétonne, par exemple). L'entrée et la sortie dans une zone peuvent être horodatées à la délivrance d'un ticket lors de la traversée d'une borne de passage.<br/>Ex : P3H*
> *Description : Durée maximale d'intervention (au niveau d'une aire piétonne, par exemple). L'entrée et la sortie dans une zone peuvent être horodatées à la délivrance d'un ticket lors de la traversée d'une borne de passage.<br/>Ex : P0DT3H*
- Valeur optionnelle
- Type : durée

#### Disque obligatoire - Propriété `INTERV_DISQUE`

> *Description : Obligation de disposer d'un disque de livraison<br/>Ex : oui*
- Valeur obligatoire
- Valeur optionnelle
- Type : booléen

#### Zone - Propriété `EMPRISE_ZONE`
Expand Down Expand Up @@ -170,7 +170,7 @@ Sp
#### Présence d'un débattement - Propriété `EMPRISE_DEBATTEMENT`

> *Description : Un espace est disponible de part et d'autre de l'aire de livraison pour un accès facilité<br/>Ex : oui*
- Valeur obligatoire
- Valeur optionnelle
- Type : booléen

#### Localisation du stationnement - Propriété `STATIONNEMENT_LOCALISATION`
Expand All @@ -180,6 +180,7 @@ Sp
- Type : chaîne de caractères
- Valeurs autorisées :
- Autre
- Chaussée
- Contre allée
- Contre terre plein
- Demi lincoln
Expand All @@ -192,7 +193,7 @@ Sp
#### Installation de recharge de véhicule électrique - Propriété `IRVE_PRESENCE`

> *Description : Présence d'une borne de recharge de véhicule électrique<br/>Ex : oui*
- Valeur obligatoire
- Valeur optionnelle
- Type : booléen

#### Puissance de l'installation de recharge de véhicule électrique - Propriété `IRVE_PUISSANCE`
Expand All @@ -210,6 +211,6 @@ Sp

#### Géométrie au format WKT - Propriété `GEOM_WKT`

> *Description : Géométrie de la rue (ligne), ou de l'emprise (polygone) exprimée au format [WKT (Well Know Text](https://fr.wikipedia.org/wiki/Well-known_text) sous le système de projection WGS84 (EPSG:4326)<br/>Ex : LineString(5.39340184 45.56538751, 5.41017215 45.56722934, 5.42510063 45.5679079)*
> *Description : Géométrie de la rue (ligne), ou de l'emprise (polygone) exprimée au format [WKT](https://fr.wikipedia.org/wiki/Well-known_text) (Well Know Text) sous le système de projection WGS84 (EPSG:4326)<br/>Ex : LineString(5.39340184 45.56538751, 5.41017215 45.56722934, 5.42510063 45.5679079)*
- Valeur optionnelle
- Type : chaîne de caractères
14 changes: 7 additions & 7 deletions documentation/schema-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Sp

|Nom|Type|Description|Exemple|Propriétés|
|-|-|-|-|-|
|ID (Identifiant de l'entité)|chaîne de caractères|Il s'agit de l'identifiant, unique, de la ligne du tableau.. [Vous pouvez créer des identifiants grâce à l'application Heidi d'Etalab](https://heidi.app.etalab.studio/).|133-3|Valeur obligatoire, Valeur unique|
|ID (Identifiant de l'entité)|chaîne de caractères|Il s'agit de l'identifiant, unique, de la ligne du tableau. Vous pouvez créer des identifiants grâce à l'application [Heidi](https://heidi.app.etalab.studio/) d'Etalab.|133-3|Valeur obligatoire, Valeur unique|
|COLL_NOM (Nom de la collectivité à l'origine de l'arrêté)|chaîne de caractères|Nom de la collectivité.|Commune d'Aix-en-Provence|Valeur obligatoire|
|COLL_INSEE (Code INSEE)|chaîne de caractères|Code INSEE de la commune sur laquelle s'applique l'arrêté|13090|Valeur obligatoire, Taille minimale : 5, Taille maximale : 5, Motif : `^([013-9]\d|2[AB1-9])\d{3}$`|
|ARR_REF (Référence de l'arrêté)|chaîne de caractères|Référence ou numéro de l'arrêté auquel se réfère la règlementation. Si l'arrêté a été mis à jour, la référence doit être celle de l'arrêté mis à jour et non celle de l'arrêté originel. Si l'arrêté ne possède pas de référence, mettre la valeur `NC`|AP-13090-12|Valeur obligatoire|
Expand All @@ -27,15 +27,15 @@ Sp
|VEH_TONNAGE (Tonnage)|nombre réel|Tonnage maximal du véhicule|9|Valeur optionnelle, Valeur minimale : 0, Valeur maximale : 45|
|INTERV_JH (Jours et heures de livraison)|chaîne de caractères|Jours et heures de livraison exprimés selon le format OpeningHours d'OpenStreetMap ([https://wiki.openstreetmap.org/wiki/Key:opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)). Ce format permet d'indiquer les week-ends (we), les jours fériés (PH) et les vacances scolaires (SH). Par exemple `Mo-Fr 09:00-17:00; PH 10:00-12:00; PH Su off` signifie : 'Du lundi au vendredi de 9h à 17h sauf les jours fériés où l'ouverture est de 10h à 12h, à l'exception des jours fériés tombant un dimanche'. `24/7` indique `Tous les jours`. [Utiliser groom-groom pour récupérer les jours et heures de circulation](https://cerema-med.shinyapps.io/groom-groom?action=opening_hours). Si INTERV_JH est vide, alors ce ne sont que des livraisons qui sont autorisées. S'il y a des horaires spécifiés dans INTERV_JH, alors la livraison s'effectue à ces horaires. En dehors de ces plages, le stationnement standard est autorisé. Il est donc mixte.|Mo-Fr 08:00-12:00,13:00-17:30; Sa 08:00-12:00; PH off|Valeur optionnelle|
|INTERV_REGIME (Régime d'accès)|chaîne de caractères|Permet de savoir si l'aire de livraison est exclusive ou partagée avec du stationnement particulier, ou éventuellement concerne le transport de fond (si on choisit d'intégrer les aires réservés au transport de fond). Mixte : cohabite avec stationnement particulier|Livraison|Valeur optionnelle, Valeurs autorisées : Mixte, Transport de fonds, Livraison|
|INTERV_DUREE (Durée maximale d'intervention)|durée|Durée maximale d'intervention (au niveau d'une aire piétonne, par exemple). L'entrée et la sortie dans une zone peuvent être horodatées à la délivrance d'un ticket lors de la traversée d'une borne de passage.|P3H|Valeur optionnelle|
|INTERV_DISQUE (Disque obligatoire)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Obligation de disposer d'un disque de livraison|oui|Valeur obligatoire|
|INTERV_DUREE (Durée maximale d'intervention)|durée|Durée maximale d'intervention (au niveau d'une aire piétonne, par exemple). L'entrée et la sortie dans une zone peuvent être horodatées à la délivrance d'un ticket lors de la traversée d'une borne de passage.|P0DT3H|Valeur optionnelle|
|INTERV_DISQUE (Disque obligatoire)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Obligation de disposer d'un disque de livraison|oui|Valeur optionnelle|
|EMPRISE_ZONE (Zone)|chaîne de caractères|Zone associée à l'aire. Il s'agit généralement de la dénomination du quartier ou de l'aire piétonne associée règlementée|Secteur du Centre-Ville|Valeur optionnelle|
|EMPRISE_DESIGNATION (Adresse du point de référence de l'aire)|chaîne de caractères|Adresse du point de référence de l'aire. Cela peut être toute une rue ou un tronçon. Endroit précis de l'aire de livraison réservée aux livraisons.|Avenue Philippe Solari, Commune d'Aix-en-Provence, Quartier Mazarin, 200046977-ZFE-001|Valeur obligatoire, Motif : `^[a-zA-Z0-9\-\–\'\’\«\»\°\"\s\dÀ-ÿ\(\)\,\.]+$`|
|EMPRISE_LONGUEUR (Longueur de l'emprise)|nombre réel|Longueur de l'emprise en mètres.|9|Valeur optionnelle, Valeur minimale : 0, Valeur maximale : 100|
|EMPRISE_LARGEUR (Largeur de l'emprise)|nombre réel|Largeur de l'emprise en mètres.|9|Valeur optionnelle, Valeur minimale : 0, Valeur maximale : 10|
|EMPRISE_DEBATTEMENT (Présence d'un débattement)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Un espace est disponible de part et d'autre de l'aire de livraison pour un accès facilité|oui|Valeur obligatoire|
|STATIONNEMENT_LOCALISATION (Localisation du stationnement)|chaîne de caractères|Localisation du stationnement. Champ issu de https://opendata.paris.fr/explore/dataset/stationnement-voie-publique-emplacements/table/?disjunctive.regpri&disjunctive.regpar&disjunctive.typsta&disjunctive.arrond&disjunctive.zoneres&disjunctive.locsta&disjunctive.parite&disjunctive.signhor&disjunctive.signvert&disjunctive.confsign&disjunctive.typemob&disjunctive.zoneasp&disjunctive.stv&disjunctive.prefet&q=livraison&refine.regpri=LIVRAISON&sort=locsta&basemap=jawg.dark&location=16,48.85483,2.33805|Chaussée|Valeur optionnelle, Valeurs autorisées : Autre, Contre allée, Contre terre plein, Demi lincoln, Faux lincoln, Lincoln, Place, Terre plein, Trottoir|
|IRVE_PRESENCE (Installation de recharge de véhicule électrique)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Présence d'une borne de recharge de véhicule électrique|oui|Valeur obligatoire|
|EMPRISE_DEBATTEMENT (Présence d'un débattement)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Un espace est disponible de part et d'autre de l'aire de livraison pour un accès facilité|oui|Valeur optionnelle|
|STATIONNEMENT_LOCALISATION (Localisation du stationnement)|chaîne de caractères|Localisation du stationnement. Champ issu de https://opendata.paris.fr/explore/dataset/stationnement-voie-publique-emplacements/table/?disjunctive.regpri&disjunctive.regpar&disjunctive.typsta&disjunctive.arrond&disjunctive.zoneres&disjunctive.locsta&disjunctive.parite&disjunctive.signhor&disjunctive.signvert&disjunctive.confsign&disjunctive.typemob&disjunctive.zoneasp&disjunctive.stv&disjunctive.prefet&q=livraison&refine.regpri=LIVRAISON&sort=locsta&basemap=jawg.dark&location=16,48.85483,2.33805|Chaussée|Valeur optionnelle, Valeurs autorisées : Autre, Chaussée, Contre allée, Contre terre plein, Demi lincoln, Faux lincoln, Lincoln, Place, Terre plein, Trottoir|
|IRVE_PRESENCE (Installation de recharge de véhicule électrique)|booléen|Valeurs considérées comme vraies : ['oui', 'Oui', 'OUI', 'o', 'O', 'vrai', 'Vrai', 'VRAI', 'true', 'True', 'TRUE', '1']Valeurs considérées comme fausses : ['non', 'Non', 'NON', 'n', 'N', 'faux', 'Faux', 'FAUX', 'false', 'False', 'FALSE', '0']Présence d'une borne de recharge de véhicule électrique|oui|Valeur optionnelle|
|IRVE_PUISSANCE (Puissance de l'installation de recharge de véhicule électrique)|nombre réel|Puissance de l'installation de recharge de véhicule électrique en kW|22|Valeur optionnelle, Valeur minimale : 1, Valeur maximale : 150|
|GEOM_XY (Coordonnées GPS de l'Aire de Livraison ou de la rue)|point géographique|Coordonnées longitude, latitude associées à l'aire de livraison. S'écrit sous la forme 'long,lat' (5 ou 6 décimales sont conseillées).|5.42101,43.53591|Valeur obligatoire|
|GEOM_WKT (Géométrie au format WKT)|chaîne de caractères|Géométrie de la rue (ligne), ou de l'emprise (polygone) exprimée au format [WKT (Well Know Text](https://fr.wikipedia.org/wiki/Well-known_text) sous le système de projection WGS84 (EPSG:4326)|LineString(5.39340184 45.56538751, 5.41017215 45.56722934, 5.42510063 45.5679079)|Valeur optionnelle|
|GEOM_WKT (Géométrie au format WKT)|chaîne de caractères|Géométrie de la rue (ligne), ou de l'emprise (polygone) exprimée au format [WKT](https://fr.wikipedia.org/wiki/Well-known_text) (Well Know Text) sous le système de projection WGS84 (EPSG:4326)|LineString(5.39340184 45.56538751, 5.41017215 45.56722934, 5.42510063 45.5679079)|Valeur optionnelle|
Loading

0 comments on commit dac6398

Please sign in to comment.