mirror of
https://forge.chapril.org/tykayn/wololo
synced 2025-06-20 01:34:42 +02:00
réinit
This commit is contained in:
commit
996524bc6d
107 changed files with 1295536 additions and 0 deletions
15
update_scripts/convert_ask_angela.sh
Normal file
15
update_scripts/convert_ask_angela.sh
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
# convertir tous les jeux de données présents pour AskAngela
|
||||
|
||||
# toulouse
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/askangela/toulouse_askangela.json --output-file=toulouse_askangela.json --engine-config=MappingAskAngela
|
||||
|
||||
#bordeaux
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/askangela/bordeaux_askangela.json --output-file=bordeaux_askangela.json --engine-config=MappingAskAngela
|
||||
|
||||
# poitiers
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/askangela/poitiers_askangela.json --output-file=poitiers_askangela.json --engine-config=MappingAskAngela
|
||||
|
||||
# lyon
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/askangela/lyon_askangela.json --output-file=lyon_askangela.json --engine-config=MappingAskAngela
|
||||
|
35
update_scripts/convert_data.sh
Executable file
35
update_scripts/convert_data.sh
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
|
||||
# get the updated geojson
|
||||
#wget https://www.data.gouv.fr/fr/datasets/r/7eee8f09-5d1b-4f48-a304-5e99e8da1e26 -P ./etalab_data -O ./etalab_data/all.json
|
||||
#wget https://www.data.gouv.fr/fr/datasets/r/8d9398ae-3037-48b2-be19-412c24561fbb -P ./etalab_data -O ./etalab_data/all.csv
|
||||
# https://www.data.gouv.fr/fr/datasets/r/8d9398ae-3037-48b2-be19-412c24561fbb pour le jeu de données irve schema v2, non utilisé dans ce script
|
||||
# filter its tags
|
||||
echo "refresh de la data"
|
||||
echo " ce script utilise plusieurs dépendances: nvm, pnpm, geojsontoosm "
|
||||
echo " c'est parti "
|
||||
nvm use stable
|
||||
pnpm i
|
||||
|
||||
pnpm start
|
||||
|
||||
# convert the new geojson to osm file
|
||||
geojsontoosm etalab_data/all.json > osm_output/bornes-irve-all-from-etalab-opendata.osm
|
||||
geojsontoosm output/my_converted_data_set_filtered_zipcode_91.json > osm_output/bornes-irve-filetered-from-etalab-opendata.osm
|
||||
|
||||
|
||||
echo ' conversion faite.'
|
||||
du -sch osm_output/bornes-irve-filetered-from-etalab-opendata.osm
|
||||
echo ""
|
||||
echo " vous pouvez ouvrir JOSM et mettre dedans les fichiers osm pour tenter une conflation
|
||||
|
||||
osm_output/bornes-irve-filetered-from-etalab-opendata.osm
|
||||
osm_output/bornes-présentes-dans-osm.osm
|
||||
|
||||
|
||||
pour mettre en valeur les données manquantes, vous pouvez sélectionner toutes les données existantes et rendre actif le calque de nouvelles données.
|
||||
Cela fera des points de couleur sur fond de ronds plus gros en gris. Les points de couleur non entourés sur le fond de ronds plus gros sont à importer.
|
||||
|
||||
vérifiez ensuite les données du fichier osm en cliquant sur un point du calque bornes-irve-filetered-from-etalab-opendata.osm
|
||||
"
|
||||
# done
|
22
update_scripts/convert_irve.sh
Executable file
22
update_scripts/convert_irve.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
echo "convertir les fichiers de données depuis etalab_data/irve_bornes_recharge en fichier osm "
|
||||
overpass_website="https://overpass-api.de/api/interpreter"
|
||||
# personnaliser les scripts:
|
||||
# aire Essonne: id 3600007401
|
||||
# aire IDF: id 3600008649
|
||||
# aire FR: id 3602202162
|
||||
|
||||
output_file_name='irve_osm_latest'
|
||||
|
||||
|
||||
echo " - mapping du fichier IRVE publié par Etalab "
|
||||
ts-node convert_to_osm_tags.ts --source="etalab_data/irve_bornes_recharge/latest.json" --output-file="_irve-latest-etalab.geojson" --engine-config=mappingConfigIRVE
|
||||
|
||||
echo " - mapping des analyses Osmose sur l'item 8411 (charging_station)"
|
||||
ts-node convert_to_osm_tags.ts --osmose=true --source="etalab_data/irve_bornes_recharge/osmose-item-irve-8411-intégrables.json" --output-file="irve-latest-osmose.geojson" --engine-config=mappingConfigIRVE
|
||||
|
||||
echo "fichier généré: $PWD/output/converted__irve-latest-etalab.json"
|
||||
|
||||
|
||||
|
||||
cd update_scripts
|
4
update_scripts/convert_planing_familial.sh
Normal file
4
update_scripts/convert_planing_familial.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
# convertir la liste de planing familial
|
||||
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/planing_familial/antennes_planning_familial.json --output-file=antennes_planning_familial.geojson --engine-config=MappingPlanningFamlial
|
5
update_scripts/convert_recycling.sh
Normal file
5
update_scripts/convert_recycling.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
# convertir tous les jeux de données présents pour AskAngela
|
||||
|
||||
# rouen
|
||||
ts-node convert_to_osm_tags.ts --source=etalab_data/recycling/rouen_pav.geojson --output-file=rouen_pav.json --engine-config=MappingRouenPAV
|
11
update_scripts/convert_surveillance_rouen.sh
Executable file
11
update_scripts/convert_surveillance_rouen.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
echo "convertir les fichiers de données en fichier geojson pour JOSM "
|
||||
|
||||
output_file_name='rouen_surveillance_from_umap.geojson'
|
||||
mappingType='MappingSurveillanceRouen'
|
||||
|
||||
ts-node convert_to_osm_tags.ts --source="etalab_data/surveillance/rouen_surveillance.json" --output-file="$output_file_name" --engine-config="$mappingType"
|
||||
|
||||
echo "fichier généré: $PWD/output/$output_file_name"
|
||||
|
||||
|
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" "$www_folder/mapping-osm-geojson/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" "$www_folder/mapping-osm-geojson/osm_output/$export_file.geojson"
|
||||
echo " -> fichier placé dans $www_folder/mapping-osm-geojson/osm_output/$export_file.geojson "
|
||||
|
||||
# on convertit le geojson en csv
|
||||
python3 "$www_folder/mapping-osm-geojson//mappings/extractors/geojson_to_csv.py" "$www_folder/mapping-osm-geojson/osm_output/$export_file.geojson" -o "$www_folder/mapping-osm-geojson/osm_output/$export_file.csv"
|
||||
rm "$export_file.json"
|
||||
echo "nombre de features dans l'export geojson :"
|
||||
jq '.features | length' "$www_folder/mapping-osm-geojson/osm_output/$export_file.geojson"
|
||||
|
||||
}
|
||||
|
||||
echo "fonction d'extraction depuis OSM chargée"
|
||||
|
||||
export extract_from_osm
|
56
update_scripts/get_datasets.sh
Executable file
56
update_scripts/get_datasets.sh
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
|
||||
# get the updated geojson
|
||||
# personnaliser les scripts:
|
||||
# aire Essonne: id 3600007401
|
||||
# aire IDF: id 3600008649
|
||||
# aire FR: id 3602202162
|
||||
|
||||
##################
|
||||
## IRVE data
|
||||
##################
|
||||
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/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"
|
||||
|
||||
echo "- OK IRVE"
|
||||
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"
|
||||
|
||||
echo "- récupérer les données présentes dans Osmose"
|
||||
wget "https://osmose.openstreetmap.fr/api/0.3/issues.geojson?full=true&status=open&item=8410&limit=20000" -O "osmose-item-irve-8411-intégrables.json"
|
||||
echo "- OK Osmose"
|
||||
|
||||
##################
|
||||
# moving datasets to the source folder etalab_data
|
||||
##################
|
||||
echo " - déplacement des datasets des IRVE dans le dossier etalab_data/irve_bornes_recharge"
|
||||
mv latest.json ../etalab_data/irve_bornes_recharge/
|
||||
#mv finess_idf.json ../etalab_data/finess/
|
||||
mv irve_osm_latest.geojson ../etalab_data/irve_bornes_recharge/
|
||||
mv clean_french_irve.csv ../etalab_data/irve_bornes_recharge/
|
||||
mv osmose-item-irve-8411-intégrables.json ../etalab_data/irve_bornes_recharge/
|
||||
|
||||
|
||||
##################
|
||||
# other sources of data should be placed in data_other folder
|
||||
##################
|
||||
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"
|
||||
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"
|
||||
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 "rouen_parking_velos.json" ../data_other/cyclabilité/rouen_parking_velos.json
|
||||
|
||||
|
||||
# clean logs and finish
|
||||
rm website-data.log
|
||||
cd ..
|
||||
|
||||
echo "- refresh de la data OK"
|
88
update_scripts/make_variance_from_geojson.ts
Normal file
88
update_scripts/make_variance_from_geojson.ts
Normal file
|
@ -0,0 +1,88 @@
|
|||
/**
|
||||
prendre un CSV,
|
||||
examiner toutes les colonnes et leurs valeurs,
|
||||
garder en mémoire les valeurs uniques de chaque colonne
|
||||
faire un nouveau csv qui ne montre que les valeurs uniques pour chacune des colonnes
|
||||
et qui compte le nombre de valeurs
|
||||
**/
|
||||
import utils from '../mappings/utils'
|
||||
import {parse} from 'csv'
|
||||
|
||||
const fs = require('fs')
|
||||
const minimist = require('minimist')
|
||||
|
||||
interface VarianceType {
|
||||
[key: string]: Array<string>
|
||||
}
|
||||
|
||||
let csv_content = 'variance de dataset\n';
|
||||
let separator = ';';
|
||||
// let columns_headings = [];
|
||||
let data_variance: VarianceType = {};
|
||||
|
||||
const inputPath = '../etalab_data/arbres/arbres_ech.json'
|
||||
// const inputPath = './etalab_data/small.csv'
|
||||
let columns_headings: Array<string> = [];
|
||||
let lines_count = 0;
|
||||
let longest_variance_count = 0;
|
||||
|
||||
console.log('open file ', inputPath)
|
||||
fs.readFile(inputPath, function (err: any, fileData: any) {
|
||||
|
||||
if (err) {
|
||||
throw new Error(err)
|
||||
} else {
|
||||
parse(fileData, {columns: false, trim: true}, function (err: any, rows: any) {
|
||||
if(err){
|
||||
throw new Error(err)
|
||||
}
|
||||
console.log('line ', lines_count)
|
||||
|
||||
console.log('rows', rows)
|
||||
console.log('longest_variance_count', longest_variance_count)
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
console.log('parsing done')
|
||||
})
|
||||
|
||||
/**
|
||||
* écrit un csv avec les données de variance du dataset donné
|
||||
*/
|
||||
function writeCSVVariance() {
|
||||
|
||||
let csv_content = ';variance de ' + inputPath + ';' + new Date() + '\n'
|
||||
let columns = Object.keys(data_variance);
|
||||
|
||||
// add headings
|
||||
columns_headings.forEach((heading: string) => {
|
||||
csv_content = csv_content + separator + heading
|
||||
})
|
||||
csv_content = csv_content + '\n'
|
||||
// add max length of variance for each column
|
||||
let ii = 0
|
||||
columns.forEach((column: string) => {
|
||||
// console.log('column', column, data_variance[column].length)
|
||||
csv_content = csv_content + separator + data_variance[column].length
|
||||
ii++
|
||||
})
|
||||
|
||||
csv_content = csv_content + '\n\n'
|
||||
// add content of values
|
||||
for (let ii = 0; ii < longest_variance_count; ii++) {
|
||||
csv_content = csv_content + '\n'
|
||||
columns.forEach((column: any) => {
|
||||
if (ii < data_variance[column].length) {
|
||||
|
||||
let currentValue = data_variance[column][ii]
|
||||
csv_content = csv_content + separator + currentValue
|
||||
} else {
|
||||
csv_content = csv_content + separator
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return csv_content;
|
||||
}
|
1
update_scripts/overpass_to_geojson.py
Normal file
1
update_scripts/overpass_to_geojson.py
Normal file
|
@ -0,0 +1 @@
|
|||
import osm2geojson
|
19
update_scripts/publish_to_datagouv.sh
Normal file
19
update_scripts/publish_to_datagouv.sh
Normal file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
# hackerspaces : https://www.data.gouv.fr/fr/admin/dataset/671f6e8fa0f72ffb985b07b3/
|
||||
# nécessite la package python pip "httpie"
|
||||
source $HOME/Nextcloud/ressources/workflow_nextcloud/secrets_vars.sh
|
||||
|
||||
echo "mise à jour des hackerspaces"
|
||||
http -f POST $API/datasets/$DATASET_HACKERSPACE/resources/$RESOURCE_HACKERSPACE/upload/ X-Api-Key:$API_KEY file@$HACKERSPACE_FILEPATH
|
||||
|
||||
echo "mise à jour des ask angela"
|
||||
http -f POST $API/datasets/$DATASET_ASKANGELA/resources/$RESOURCE_ASKANGELA_GEOJSON/upload/ X-Api-Key:$API_KEY file@$ASKANGELA_FILEPATH_GEOJSON
|
||||
http -f POST $API/datasets/$DATASET_ASKANGELA/resources/$RESOURCE_ASKANGELA_CSV/upload/ X-Api-Key:$API_KEY file@$ASKANGELA_FILEPATH_CSV
|
||||
|
||||
echo "mise à jour des musées"
|
||||
http -f POST "$API/datasets/$DATASET_MUSEUMS/resources/$RESOURCE_MUSEUMS/upload/" X-Api-Key:$API_KEY file@$MUSEUMS_FILEPATH
|
||||
|
||||
echo "mise à jour des parking cargo"
|
||||
http -f POST "$API/datasets/$DATASET_CARGO/resources/$RESOURCE_CARGO/upload/" X-Api-Key:$API_KEY file@$CARGO_FILEPATH
|
||||
|
1
update_scripts/queries_overpass/content_irve_csv.txt
Normal file
1
update_scripts/queries_overpass/content_irve_csv.txt
Normal file
|
@ -0,0 +1 @@
|
|||
[out:csv(::id,::uid,::user,::changeset,::lon,::lat,'addr:postcode','addr:city',covered,layer,charging_type,'current:ac','current:dc','charging_station:output',capacity,voltage,amperage,socket,'note:location',access,charging_type,name,owner,network,operator,'operator:wikidata','operator:wikipedia','owner:ref:FR:SIREN',ref,'ref:EU:EVSE','email','contact:email','contact:phone',phone,contact,'socket:typee','socket:schuko','socket:type1','socket:type2','socket:type2:output','socket:type2_cable','socket:type2_combo','socket:type2_combo:output','socket:type3c','socket:type3c:output','socket:chademo','socket:chademo:output',fee,charge,'payment:contactless','parking:fee','payment:app','payment:credit_cards',reservation,authentication,'authentication:nfc','authentication:membership_card','authentication:none',bicycle,scooter,bus,hgv,motorcar,wheelchair,'survey:date',start_date,opening_hours,source,wikidata,description,note,fixme,shop,mapillary,panoramax)][timeout:25];area(id:3602202162)->.searchArea;(node["amenity"="charging_station"](area.searchArea););out meta;>;out meta qt;
|
1
update_scripts/queries_overpass/content_irve_geojson.txt
Normal file
1
update_scripts/queries_overpass/content_irve_geojson.txt
Normal file
|
@ -0,0 +1 @@
|
|||
[out:json][timeout:25];area(id:3600008649)->.searchArea; (node["amenity"="charging_station"](area.searchArea);); out center;
|
10
update_scripts/queries_overpass/query-overpass.sh
Executable file
10
update_scripts/queries_overpass/query-overpass.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Query Overpass API (https://wiki.openstreetmap.org/wiki/Overpass_API)
|
||||
# Usage:
|
||||
# ```sh
|
||||
# echo "[out:json];(way(109849152); node(1985407312);); out;" | ./query-overpass.sh
|
||||
# ```
|
||||
|
||||
curl -d @- -X POST http://overpass-api.de/api/interpreter
|
||||
#> data_other/output_query_irve_from_overpass.json
|
13
update_scripts/run_all_converters.sh
Executable file
13
update_scripts/run_all_converters.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
# chemin du dossier à parcourir
|
||||
dir_to_search="."
|
||||
|
||||
# recherche tous les fichiers .sh dans le dossier et ses sous-dossiers
|
||||
find "$dir_to_search" -type f -name "convert*.sh" -print0 | while IFS= read -r -d '' file; do
|
||||
|
||||
echo $file
|
||||
# exécute chaque fichier .sh trouvé
|
||||
bash $file
|
||||
|
||||
done
|
14
update_scripts/run_all_extractors.sh
Executable file
14
update_scripts/run_all_extractors.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# chemin du dossier à parcourir
|
||||
source functions.sh
|
||||
dir_to_search="../mappings/extractors"
|
||||
|
||||
# recherche tous les fichiers .sh dans le dossier et ses sous-dossiers
|
||||
find "$dir_to_search" -type f -name "*.sh" -print0 | while IFS= read -r -d '' file; do
|
||||
|
||||
echo $file
|
||||
# exécute chaque fichier .sh trouvé
|
||||
bash $file
|
||||
|
||||
done
|
7
update_scripts/update_and_transform.sh
Normal file
7
update_scripts/update_and_transform.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
# run this to update the data, convert it, and get the latest data from OSM at once.
|
||||
source functions.sh
|
||||
bash get_datasets.sh
|
||||
bash run_all_extractors.sh
|
||||
bash run_all_converters.sh
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue