refacto extract function, object for allowed configs
This commit is contained in:
parent
1920449212
commit
7ceafa92d2
@ -20,17 +20,30 @@ import MappingMuseums from "./mappings/converters/configMuseums";
|
||||
import MappingRouenPAV from "./mappings/converters/configRouen_PAV";
|
||||
|
||||
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', 'MappingArbresIssy',
|
||||
'MappingArbres92', 'MappingMuseums', 'MappingRouenPAV', 'MappingAskAngela', 'MappingPlanningFamlial','MappingSurveillanceRouen'
|
||||
];
|
||||
|
||||
const allowed_configs = {
|
||||
mappingIssy2Roues,
|
||||
mappingConfigIRVE,
|
||||
mappingConfigIRVEFromOsmose,
|
||||
mappingConfigIRVE_simple,
|
||||
mappingTest,
|
||||
ConfigIRVE,
|
||||
mappingRouenParkingVelos,
|
||||
mappingFINESS,
|
||||
MappingArbresIssy,
|
||||
MappingArbres92,
|
||||
MappingMuseums,
|
||||
MappingRouenPAV,
|
||||
MappingAskAngela,
|
||||
MappingPlanningFamlial,
|
||||
MappingSurveillanceRouen
|
||||
};
|
||||
|
||||
const minimist = require('minimist');
|
||||
import MappingAskAngela from "./mappings/converters/configAskAngela";
|
||||
import MappingPlanningFamlial from "./mappings/converters/configPlanningFamilial";
|
||||
import MappingSurveillanceRouen from "./mappings/converters/configSurveillance";
|
||||
import engine from "./mappings/engine";
|
||||
|
||||
const debugLog = utils.debugLog;
|
||||
|
||||
@ -424,43 +437,9 @@ function setMappingConfigFromName(engine_conf_choice: string) {
|
||||
Mapping_engine.setConfig(mappingConfigIRVEFromOsmose)
|
||||
|
||||
} else {
|
||||
// choisir la config IRVE par défaut si aucune option de config de mapping n'est choisie en CLI
|
||||
|
||||
|
||||
if (engine_conf_choice !== default_engine_conf_choice && allowed_configs.indexOf("mappingIssy2Roues") !== -1) {
|
||||
// ['mappingIssy2Roues', 'mappingConfigIRVE', 'mappingConfigIRVEFromOsmose', 'mappingConfigIRVE_simple', 'mappingTest', 'ConfigIRVE']
|
||||
if (engine_conf_choice == 'mappingIssy2Roues') {
|
||||
console.log('mappingIssy2Roues', mappingIssy2Roues)
|
||||
Mapping_engine.setConfig(mappingIssy2Roues)
|
||||
} else if (engine_conf_choice == 'mappingConfigIRVE') {
|
||||
Mapping_engine.setConfig(mappingConfigIRVE)
|
||||
} else if (engine_conf_choice == 'mappingConfigIRVEFromOsmose') {
|
||||
Mapping_engine.setConfig(mappingConfigIRVEFromOsmose)
|
||||
} else if (engine_conf_choice == 'mappingConfigIRVE_simple') {
|
||||
Mapping_engine.setConfig(mappingConfigIRVE_simple)
|
||||
} else if (engine_conf_choice == 'mappingTest') {
|
||||
Mapping_engine.setConfig(mappingTest)
|
||||
} else if (engine_conf_choice == 'ConfigIRVE') {
|
||||
Mapping_engine.setConfig(ConfigIRVE)
|
||||
} else if (engine_conf_choice == 'mappingRouenParkingVelos') {
|
||||
Mapping_engine.setConfig(mappingRouenParkingVelos)
|
||||
} else if (engine_conf_choice == 'MappingArbresIssy') {
|
||||
Mapping_engine.setConfig(MappingArbresIssy)
|
||||
} else if (engine_conf_choice == 'mappingFINESS') {
|
||||
Mapping_engine.setConfig(mappingFINESS)
|
||||
} else if (engine_conf_choice == 'MappingArbres92') {
|
||||
Mapping_engine.setConfig(MappingArbres92)
|
||||
} else if (engine_conf_choice == 'MappingMuseums') {
|
||||
Mapping_engine.setConfig(MappingMuseums)
|
||||
} else if (engine_conf_choice == 'MappingRouenPAV') {
|
||||
Mapping_engine.setConfig(MappingRouenPAV)
|
||||
} else if (engine_conf_choice == 'MappingAskAngela') {
|
||||
Mapping_engine.setConfig(MappingAskAngela)
|
||||
}else if (engine_conf_choice == 'MappingPlanningFamlial') {
|
||||
Mapping_engine.setConfig(MappingPlanningFamlial)
|
||||
}else if (engine_conf_choice == 'MappingSurveillanceRouen') {
|
||||
Mapping_engine.setConfig(MappingSurveillanceRouen)
|
||||
}
|
||||
if (engine_conf_choice !== default_engine_conf_choice && Object.keys(allowed_configs).indexOf("mappingIssy2Roues") !== -1) {
|
||||
Mapping_engine.setConfig(allowed_configs[engine_conf_choice])
|
||||
} else {
|
||||
console.error('mauvais paramètre de Mapping_engine: '+engine_conf_choice, '.\n Veuillez en sélectionner un parmi ceux autorisés avec l option --engine-config=MaConfigQuiVaBien parmi ceux ci :', allowed_configs)
|
||||
return
|
||||
|
@ -1,39 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# export depuis OSM des parking à vélo cargo
|
||||
# cargo_bike=*
|
||||
# en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
|
||||
url='https://overpass-api.de/api/interpreter?data=[out:json][timeout:300];area(id:3602202162)->.searchArea;nwr["cargo_bike"](area.searchArea);out+geom;'
|
||||
|
||||
export_file="cargo_bike_zone_france_from_openstreetmap"
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
echo " export osm de: $export_file"
|
||||
# Télécharger le fichier GeoJSON
|
||||
curl -X GET -o "$export_file.json" -g $url
|
||||
|
||||
echo -e "\n Curl OK \n"
|
||||
date
|
||||
echo -e "nombre de points extraits depuis overpass turbo :"
|
||||
jq '.elements | length' "$export_file.json"
|
||||
|
||||
# on garde la version OSM brute des données extraites
|
||||
cp "$export_file.json" "../../osm_output/$export_file.osm.json"
|
||||
|
||||
# on convertir en geojson
|
||||
osm2geojson -q -i 2 --reader json "$export_file.json" "$export_file.geojson" -f
|
||||
echo -e "\n -> fichier converti: $export_file.geojson "
|
||||
|
||||
# on déplace dans le dossier osm_output les versions brutes et converties
|
||||
mv "$export_file.geojson" "../../osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans ../../osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 geojson_to_csv.py "../../osm_output/$export_file.geojson" -o "../../osm_output/$export_file.csv"
|
||||
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "../../osm_output/$export_file.geojson"
|
||||
source ../../update_scripts/functions.sh
|
||||
extract_from_osm $url $export_file
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# tout système produisant de l'énergie, pas seulement élec.
|
||||
# des espaces de coworking
|
||||
# en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
@ -9,30 +9,5 @@ echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
url='https://overpass-api.de/api/interpreter?data=[out:json][timeout:300];area(id:3602202162)->.searchArea;node["amenity"="coworking_space"](area.searchArea);out+geom;'
|
||||
|
||||
export_file="coworking_zone_france_from_openstreetmap"
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
echo " export osm de: $export_file"
|
||||
# Télécharger le fichier GeoJSON
|
||||
curl -X GET -o "$export_file.json" -g $url
|
||||
|
||||
echo -e "\n Curl OK \n"
|
||||
date
|
||||
echo -e "nombre de points extraits depuis overpass turbo :"
|
||||
jq '.elements | length' "$export_file.json"
|
||||
|
||||
# on garde la version OSM brute des données extraites
|
||||
cp "$export_file.json" "../../osm_output/$export_file.osm.json"
|
||||
|
||||
# on convertir en geojson
|
||||
osm2geojson -q -i 2 --reader json "$export_file.json" "$export_file.geojson" -f
|
||||
echo -e "\n -> fichier converti: $export_file.geojson "
|
||||
|
||||
# on déplace dans le dossier osm_output les versions brutes et converties
|
||||
mv "$export_file.geojson" "../../osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans ../../osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 geojson_to_csv.py "../../osm_output/$export_file.geojson" -o "../../osm_output/$export_file.csv"
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "../../osm_output/$export_file.geojson"
|
||||
source ../../update_scripts/functions.sh
|
||||
extract_from_osm $url $export_file
|
@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# export depuis OSM des stations et bornes de recharges
|
||||
# "amenity"="charging_station"
|
||||
# pour le monde entier
|
||||
# en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
|
||||
url='https://overpass-api.de/api/interpreter?data=[out:json][timeout:300];area(id:3602202162)->.searchArea;node["amenity"="charging_station"](area.searchArea);out+geom;'
|
||||
url='https://overpass-api.de/api/interpreter?data=[out:json][timeout:300];area(id:3602202162)->.searchArea;nwr["amenity"="charging_station"](area.searchArea);out+geom;'
|
||||
|
||||
export_file="irve_zone_france_from_openstreetmap"
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# "man_made"="surveillance" en France
|
||||
# export depuis OSM des musées en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# export depuis OSM des points d'apport volontaire
|
||||
# amenity=recycling
|
||||
# en France
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# "harassment_prevention=ask_angela"
|
||||
# export depuis OSM des points de planning familial du monde entier
|
||||
# pour le monde entier
|
||||
|
||||
|
||||
@ -10,30 +9,6 @@ url='https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];nwr["he
|
||||
|
||||
export_file="planning_familial_points_from_openstreetmap"
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
echo " export osm de: $export_file"
|
||||
# Télécharger le fichier GeoJSON
|
||||
curl -X GET -o "$export_file.json" -g $url
|
||||
|
||||
echo -e "\n Curl OK \n"
|
||||
date
|
||||
echo -e "nombre de points extraits depuis overpass turbo :"
|
||||
jq '.elements | length' "$export_file.json"
|
||||
|
||||
# on garde la version OSM brute des données extraites
|
||||
cp "$export_file.json" "../../osm_output/$export_file.osm.json"
|
||||
|
||||
# on convertir en geojson
|
||||
osm2geojson -q -i 2 --reader json "$export_file.json" "$export_file.geojson" -f
|
||||
echo -e "\n -> fichier converti: $export_file.geojson "
|
||||
|
||||
# on déplace dans le dossier osm_output les versions brutes et converties
|
||||
mv "$export_file.geojson" "../../osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans ../../osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 geojson_to_csv.py "../../osm_output/$export_file.geojson" -o "../../osm_output/$export_file.csv"
|
||||
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "../../osm_output/$export_file.geojson"
|
||||
source ../../update_scripts/functions.sh
|
||||
extract_from_osm $url $export_file
|
@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# "harassment_prevention=ask_angela"
|
||||
# export depuis OSM des ponts qui ont un nom
|
||||
# pour le monde entier
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# export depuis OSM des restaurants
|
||||
# "amenity"="restaurant" en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
|
@ -1,38 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# export depuis OSM des points
|
||||
# export depuis OSM des caméras de surveillance
|
||||
# "man_made"="surveillance"
|
||||
# en France
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
|
||||
url='https://overpass-api.de/api/interpreter?data=%5Bout%3Ajson%5D%5Btimeout%3A300%5D%3B%0Aarea(id%3A3602202162)-%3E.searchArea%3B%0Anode%5B%22man_made%22%3D%22surveillance%22%5D(area.searchArea)%3B%0Aout+geom%3B'
|
||||
|
||||
export_file="surveillance_zone_france_from_openstreetmap"
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
echo " export osm de: $export_file"
|
||||
# Télécharger le fichier GeoJSON
|
||||
curl -X GET -o "$export_file.json" -g $url
|
||||
|
||||
echo -e "\n Curl OK \n"
|
||||
date
|
||||
echo -e "nombre de points extraits depuis overpass turbo :"
|
||||
jq '.elements | length' "$export_file.json"
|
||||
|
||||
# on garde la version OSM brute des données extraites
|
||||
cp "$export_file.json" "../../osm_output/$export_file.osm.json"
|
||||
|
||||
# on convertir en geojson
|
||||
osm2geojson -q -i 2 --reader json "$export_file.json" "$export_file.geojson" -f
|
||||
echo -e "\n -> fichier converti: $export_file.geojson "
|
||||
|
||||
# on déplace dans le dossier osm_output les versions brutes et converties
|
||||
mv "$export_file.geojson" "../../osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans ../../osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 geojson_to_csv.py "../../osm_output/$export_file.geojson" -o "../../osm_output/$export_file.csv"
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "../../osm_output/$export_file.geojson"
|
||||
source ../../update_scripts/functions.sh
|
||||
extract_from_osm $url $export_file
|
||||
|
43
update_scripts/functions.sh
Normal file
43
update_scripts/functions.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# fonction d'extraction d'une requête overpass et conversion du fichier de sortie
|
||||
|
||||
extract_from_osm(){
|
||||
overpass_query=$1
|
||||
file_name=$2
|
||||
|
||||
echo -e "extraction de $file_name"
|
||||
echo -e "requête: \n $overpass_query"
|
||||
|
||||
echo -e "\n récupération de données depuis OpenStreetMap \n"
|
||||
echo " export osm de: $export_file"
|
||||
# Télécharger le fichier GeoJSON
|
||||
curl -X GET -o "$export_file.json" -g $url
|
||||
|
||||
echo -e "\n Curl OK \n"
|
||||
date
|
||||
echo -e "nombre de points extraits depuis overpass turbo :"
|
||||
jq '.elements | length' "$export_file.json"
|
||||
|
||||
# on garde la version OSM brute des données extraites
|
||||
cp "$export_file.json" "../osm_output/$export_file.osm.json"
|
||||
|
||||
# on convertir en geojson
|
||||
osm2geojson -q -i 2 --reader json "$export_file.json" "$export_file.geojson" -f
|
||||
echo -e "\n -> fichier converti: $export_file.geojson "
|
||||
|
||||
# on déplace dans le dossier osm_output les versions brutes et converties
|
||||
mv "$export_file.geojson" "../osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans ../osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 geojson_to_csv.py "../osm_output/$export_file.geojson" -o "../osm_output/$export_file.csv"
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "../osm_output/$export_file.geojson"
|
||||
|
||||
}
|
||||
|
||||
echo "fonction d'extraction depuis OSM chargée"
|
||||
|
||||
export extract_from_osm
|
62
update_scripts/send_to_datagouv.py
Normal file
62
update_scripts/send_to_datagouv.py
Normal file
@ -0,0 +1,62 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
|
||||
def mettre_a_jour_jeu_de_donnees(dataset, headers):
|
||||
# Mettre à jour le jeu de données
|
||||
url = f"https://www.data.gouv.fr/api/1/datasets/{dataset['id']}"
|
||||
response = requests.put(url, headers=headers, data=json.dumps(dataset))
|
||||
|
||||
# Vérifier si la mise à jour a réussi
|
||||
if response.status_code == 200:
|
||||
print(f"Le jeu de données '{dataset['title']}' a été mis à jour avec succès.")
|
||||
else:
|
||||
print(f"Une erreur est survenue : {response.status_code}")
|
||||
|
||||
# Mettre à jour le fichier CSV associé au jeu de données
|
||||
resource_url = f"https://www.data.gouv.fr/api/1/datasets/{dataset['id']}/resources"
|
||||
files = {"file": open(dataset["resource_url"], "rb")}
|
||||
response = requests.post(resource_url, headers=headers, data=json.dumps({"title": dataset["resource_title"], "description": dataset["resource_description"], "url": dataset["resource_url"]}), files=files)
|
||||
|
||||
# Vérifier si la mise à jour a réussi
|
||||
if response.status_code == 201:
|
||||
print(f"Le fichier CSV '{dataset['resource_title']}' a été mis à jour avec succès.")
|
||||
else:
|
||||
print(f"Une erreur est survenue : {response.status_code}")
|
||||
|
||||
# Remplir les variables suivantes avec vos informations de connexion
|
||||
username = "votre_nom_d'utilisateur"
|
||||
password = "votre_mot_de_passe"
|
||||
token = "votre_token_d'accès"
|
||||
|
||||
# Créer l'en-tête de la requête avec le token d'accès
|
||||
headers = {
|
||||
"Authorization": f"Bearer {token}",
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
# Configuration des jeux de données à mettre à jour
|
||||
datasets = [
|
||||
{
|
||||
"id": "identifiant_de_votre_premier_jeu_de_données",
|
||||
"title": "Nouveau titre de votre premier jeu de données",
|
||||
"description": "Nouvelle description de votre premier jeu de données",
|
||||
"categories": ["transport", "open-data"],
|
||||
"resource_title": "Nouveau titre du premier fichier CSV",
|
||||
"resource_description": "Description du premier fichier CSV",
|
||||
"resource_url": "chemin/vers/votre/premier/fichier.csv"
|
||||
},
|
||||
{
|
||||
"id": "identifiant_de_votre_deuxième_jeu_de_données",
|
||||
"title": "Nouveau titre de votre deuxième jeu de données",
|
||||
"description": "Nouvelle description de votre deuxième jeu de données",
|
||||
"categories": ["environnement", "open-data"],
|
||||
"resource_title": "Nouveau titre du deuxième fichier CSV",
|
||||
"resource_description": "Description du deuxième fichier CSV",
|
||||
"resource_url": "chemin/vers/votre/deuxième/fichier.csv"
|
||||
}
|
||||
]
|
||||
|
||||
# Itérer sur les jeux de données et les mettre à jour
|
||||
for dataset in datasets:
|
||||
mettre_a_jour_jeu_de_donnees(dataset, headers)
|
Loading…
Reference in New Issue
Block a user