📖 doc: checklist to add dataset, add mapping Arbres Issy les Mx

This commit is contained in:
Tykayn 2024-10-14 15:36:05 +02:00 committed by tykayn
parent 408681101c
commit 69c3e2ebc9
8 changed files with 777530 additions and 3 deletions

View File

@ -14,9 +14,14 @@ import MappingConfigType, {BoundingBoxCoordinatesType, FeatureCollection} from "
import utils from './mappings/utils' import utils from './mappings/utils'
import mappingRouenParkingVelos from "./mappings/converters/configRouen_OpenData_velo_parkings"; import mappingRouenParkingVelos from "./mappings/converters/configRouen_OpenData_velo_parkings";
import mappingFINESS from "./mappings/converters/configFINESS"; import mappingFINESS from "./mappings/converters/configFINESS";
import MappingArbresIssy from "./mappings/converters/configArbresIssy";
const limitWarningPercentageChangeInPoints = 5; // show a warning when more than N percent of the number of points changed const limitWarningPercentageChangeInPoints = 5; // show a warning when more than N percent of the number of points changed
const allowed_configs = ['mappingIssy2Roues', 'mappingConfigIRVE', 'mappingConfigIRVEFromOsmose', 'mappingConfigIRVE_simple', 'mappingTest', 'ConfigIRVE', 'mappingRouenParkingVelos','mappingFINESS']; const allowed_configs = [
'mappingIssy2Roues', 'mappingConfigIRVE', 'mappingConfigIRVEFromOsmose',
'mappingConfigIRVE_simple', 'mappingTest', 'ConfigIRVE',
'mappingRouenParkingVelos', 'mappingFINESS', 'MappingArbresIssy',
];
const minimist = require('minimist') const minimist = require('minimist')
@ -378,8 +383,9 @@ function setMappingConfigFromName(engine_conf_choice: string) {
Mapping_engine.setConfig(ConfigIRVE) Mapping_engine.setConfig(ConfigIRVE)
} else if (engine_conf_choice == 'mappingRouenParkingVelos') { } else if (engine_conf_choice == 'mappingRouenParkingVelos') {
Mapping_engine.setConfig(mappingRouenParkingVelos) Mapping_engine.setConfig(mappingRouenParkingVelos)
} } else if (engine_conf_choice == 'MappingArbresIssy') {
else if (engine_conf_choice == 'mappingFINESS') { Mapping_engine.setConfig(MappingArbresIssy)
} else if (engine_conf_choice == 'mappingFINESS') {
Mapping_engine.setConfig(mappingFINESS) Mapping_engine.setConfig(mappingFINESS)
} }
} else { } else {

View File

@ -1,6 +1,14 @@
# Ajout d'un jeu de données # Ajout d'un jeu de données
Pour ajouter un jeu de données et sa conversion vous devrez faire un mapper et mettre le jeu de données dans le convertisseur. Pour ajouter un jeu de données et sa conversion vous devrez faire un mapper et mettre le jeu de données dans le convertisseur.
Checklist:
- [] avoir un jeu de données de Points en Geojson à convertir, dans `etalab_data`, dans un dossier thématique (arbres, parking vélo, IRVE...).
- [] un convertisseur (Mapper) qui étend le type `MappingConfigType`
- [] une page de documentation markdown liée à ce jeu de données mentionnant une commande ts-node à lancer dans `docs`.
- [] noter l'url du jeu de données source dans `get_datasets.sh`
- [] ajouter l'import de ce Mapper dans `convert_to_osm_tags.ts`
- [] tester le rendu de la conversion en plaçant la sortie output dans JOSM.
## Récupérer un jeu de données ## Récupérer un jeu de données
## Créer un Mapper ## Créer un Mapper
Créer un fichier ts dans mappings/converters qui expose un objet étendant `MappingConfigType`. Ici on fait un Mappeur qui ne changera qu'une seule clé en gardant toutes ses valeur, nom_amenageur sera converti en name. Créer un fichier ts dans mappings/converters qui expose un objet étendant `MappingConfigType`. Ici on fait un Mappeur qui ne changera qu'une seule clé en gardant toutes ses valeur, nom_amenageur sera converti en name.

20
docs/arbres.md Normal file
View File

@ -0,0 +1,20 @@
# Arbres
Des jeux de données sont disponibles pour lister les abres, suivre leur évolution, et mettre en avant les arbres monumentaux, dignes d'intérêt touristique.
## Issy les moulineaux
- ID_ARBRE : ref:FR:issy_les_mx:id_arbre
- CADUC_PERS : leaf_cycle=evergreen pour persistant , deciduous pour caduque
- HAUTEUR est_height=* hauteur estimée
- FEUIL_CONI : feuillu leaf_type=broadleaved / conifère leaf_type=needleleaved
- GENESPVAR : nom d'espèce species=*
- AN_PLANT : date_start
- VERNACULAIRE : species:FR=*
- PARTICULAR : Majeur, Remarquable : historic=monument
- FORME: tree_shape = curtain / free / half_free <= Architecturé, rideau / Libre / Semi-libre
# conversion
```bash
ts-node convert_to_osm_tags.ts --source=etalab_data/arbres/arbres_issy.geojson --output-file=arbres_issy.geojson --engine-config=MappingArbresIssy
```

View File

@ -0,0 +1,88 @@
import MappingConfigType from "../mapping-config.type";
const MappingArbresIssy: MappingConfigType = {
config_name: 'Mapping des arbres d\'Issy les Moulineaux',
config_author: 'tykayn <contact+geojson2osm@cipherbliss.com>',
default_properties_of_point: {natural: 'tree'},
tags: {
// ******* booléens
// ******* nombres
// - ID_ARBRE : ref:FR:issy_les_mx:id_arbre identifiant interne à Issy les Moulineaux
"id_arbre": "ref:FR:issy_les_mx:id_arbre",
"ordre": "ref:FR:issy_les_mx:ordre_arbre",
// - AN_PLANT : date de plantation
"an_plan": "date_start",
// ******* textes
// - HAUTEUR est_height=* hauteur estimée en intervalle de mètres
"hauteur": "est_height",
// - VERNACULAIRE : species:FR=*
"vernaculaire": "species:FR",
// - GENESPVAR : nom d'espèce species=*
"genespvar": "species",
// - CADUC_PERS : leaf_cycle=evergreen pour persistant , deciduous pour caduque
"caduc_pers": {
key_converted: "leaf_cycle",
conditional_values: {
"Persistant": {
value_converted: "evergreen"
},
"Caduque": {
value_converted: "deciduous"
},
}
} ,
// - FEUIL_CONI : feuillu leaf_type=broadleaved / connifère leaf_type=needleleaved
"feuil_coni": {
key_converted: "leaf_type",
conditional_values: {
"Feuillu": {
value_converted: "broadleaved"
},
"Connifère": {
value_converted: "needleleaved"
},
}
},
// - PARTICULAR : Majeur, Remarquable : historic=monument
"particular": {
key_converted: "historic",
conditional_values: {
"Majeur": {
value_converted: "monument"
},
"Remarquable": {
value_converted: "monument"
},
}
},
// - FORME: tree_shape = curtain / free / half_free <= Architecturé, rideau / Libre / Semi-libre
"forme": {
key_converted: "tree_shape",
conditional_values: {
"Architecturé, rideau": {
value_converted: "curtain"
},
"Semi-libre": {
value_converted: "half_free"
},
"Libre": {
value_converted: "free"
},
}
},
},
add_not_mapped_tags_too: false,
source: {
geojson_path: 'https://data.issy.com/api/explore/v2.1/catalog/datasets/arbres-remarquables-issy-les-moulineaux/exports/geojson?lang=fr&timezone=Europe%2FBerlin',
url: 'https://www.data.gouv.fr/fr/datasets/arbres-remarquables'
},
filters: {},
}
export default MappingArbresIssy

File diff suppressed because it is too large Load Diff

645607
output/___mappingIRVE.geojson Normal file

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@ echo "- récupérer les infos de bornes de recharge électrique"
wget https://www.data.gouv.fr/fr/datasets/r/7eee8f09-5d1b-4f48-a304-5e99e8da1e26 -O "latest.json" wget https://www.data.gouv.fr/fr/datasets/r/7eee8f09-5d1b-4f48-a304-5e99e8da1e26 -O "latest.json"
wget https://www.data.gouv.fr/fr/datasets/r/8d9398ae-3037-48b2-be19-412c24561fbb -O "latest.csv" wget https://www.data.gouv.fr/fr/datasets/r/8d9398ae-3037-48b2-be19-412c24561fbb -O "latest.csv"
wget https://www.data.gouv.fr/fr/datasets/r/b9731c6f-c0d7-422e-9e1c-19edd51687ce -O "finess_idf.json" wget https://www.data.gouv.fr/fr/datasets/r/b9731c6f-c0d7-422e-9e1c-19edd51687ce -O "finess_idf.json"
echo "- OK IRVE" echo "- OK IRVE"
echo "- récupérer les données présentes dans OpenStreetMap" echo "- récupérer les données présentes dans OpenStreetMap"
curl --header "Content-Type: plain/text" --data @content_irve_geojson.txt --trace-ascii website-data.log "https://overpass-api.de/api/interpreter" > "irve_osm_latest.geojson" curl --header "Content-Type: plain/text" --data @content_irve_geojson.txt --trace-ascii website-data.log "https://overpass-api.de/api/interpreter" > "irve_osm_latest.geojson"
@ -37,10 +38,13 @@ mv osmose-item-irve-8411-intégrables.json ../etalab_data/irve_bornes_recharge/
################## ##################
echo "- récupérer les données de cyclabilité d'Issy" echo "- récupérer les données de cyclabilité d'Issy"
wget "https://data.issy.com/api/explore/v2.1/catalog/datasets/parkings-2-roues/exports/geojson?lang=fr&timezone=Europe%2FBerlin" -O "issy_les_mx_cyclabilité.json" wget "https://data.issy.com/api/explore/v2.1/catalog/datasets/parkings-2-roues/exports/geojson?lang=fr&timezone=Europe%2FBerlin" -O "issy_les_mx_cyclabilité.json"
echo "- récupérer les données des arbres d'Issy"
wget "https://data.issy.com/api/explore/v2.1/catalog/datasets/arbres-remarquables-issy-les-moulineaux/exports/geojson?lang=fr&timezone=Europe%2FBerlin" -O "issy_les_mx_arbres.json"
echo "- récupérer les données de cyclabilité de Rouen" echo "- récupérer les données de cyclabilité de Rouen"
wget "https://data.metropole-rouen-normandie.fr/api/explore/v2.1/catalog/datasets/liste-des-stationnements-cyclables-metropole-rouen-normandie/exports/geojson?lang=fr&timezone=Europe%2FBerlin" -O "rouen_parking_velos.json" wget "https://data.metropole-rouen-normandie.fr/api/explore/v2.1/catalog/datasets/liste-des-stationnements-cyclables-metropole-rouen-normandie/exports/geojson?lang=fr&timezone=Europe%2FBerlin" -O "rouen_parking_velos.json"
mv "issy_les_mx_arbres.json" ../data_other/arbres/issy_les_mx_arbres.json
mv "geojson?lang=fr" ../data_other/cyclabilité/issy_les_mx_cyclabilité.json mv "geojson?lang=fr" ../data_other/cyclabilité/issy_les_mx_cyclabilité.json
mv "rouen_parking_velos.json" ../data_other/cyclabilité/rouen_parking_velos.json mv "rouen_parking_velos.json" ../data_other/cyclabilité/rouen_parking_velos.json