Skip to content

Instantly share code, notes, and snippets.

View ThomasG77's full-sized avatar

Thomas Gratier ThomasG77

View GitHub Profile
{
"title": "poissons",
"name": "poissons",
"fields": [
{
"name": "operation",
"type": "integer",
"constraints": {
"unique": true
}
@ThomasG77
ThomasG77 / recipe-fantoir-topo-2024.sh
Created September 30, 2024 13:06
Recette génération fantoir
git clone git@github.com:BaseAdresseNationale/fantoir.git
cd fantoir
yarn
# Data generated using https://github.com/landryb/topo2fantoir to convert Topo to fantoir
# Manual download of https://drive.opendata.craig.fr/s/opendata?path=%2Fadresse%2Ffantoir
# then concatenate after decompressing all gz files to fantoir.txt
cat fantoir.txt | yarn build
# Remarque ci-dessous obsolète: il reste des fichiers fantoir pour 2023 mais pas pour 2024 avec disparition fantoir au profit de Topo
@ThomasG77
ThomasG77 / gdal_wfs_download.py
Last active September 24, 2024 07:53
Download data from WFS using GDAL Python bindings
from osgeo import gdal
gdal.UseExceptions()
gdal.SetConfigOption('CPL_DEBUG', 'ON')
with gdal.config_options({
'OGR_WFS_PAGING_ALLOWED': 'ON',
'OGR_WFS_PAGE_SIZE': '250'
}):
ds = gdal.OpenEx('WFS:https://data.geopf.fr/wfs/wfs', gdal.OF_VECTOR)
print(ds)
@ThomasG77
ThomasG77 / README.md
Last active September 18, 2024 18:15
Génération GeoJSON Territoires d'industrie

Recipe to generate "Territoires d'industrie areas"

Data from https://www.data.gouv.fr/fr/datasets/programme-territoires-dindustrie/

wget https://static.data.gouv.fr/resources/programme-territoires-dindustrie/20240704-091848/liste-ti-com2023-20240704.csv # 2023-2027
wget https://static.data.gouv.fr/resources/programme-territoires-dindustrie/20230802-130420/liste-ti-com2023-20230802.csv # 2018-2023
wget https://files.opendatarchives.fr/professionnels.ign.fr/adminexpress/ADMIN-EXPRESS-COG_3-2__SHP_WGS84G_FRA_2023-05-03.7z
7z e ADMIN-EXPRESS-COG_3-2__SHP_WGS84G_FRA_2023-05-03.7z COMMUNE.* -r -aoa
@ThomasG77
ThomasG77 / generate-world-tiles.md
Last active September 18, 2024 13:31
Recette génération tuiles monde OpenMaptiles

Recette génération tuiles monde OpenMaptiles

# Machine de type c3-64 avec 64 Go RAM, VCore 32,	400 Go NVMe, réseau public 4 Gbit/s, réseau privé 4 Gbit/s max
# 1TB de disque dur
# Dsitribution Debian bookworm

# Install Docker
sudo su &&
apt update -y &&
@ThomasG77
ThomasG77 / communes-mairies-altitude-cp-insee.json
Created August 28, 2024 14:37
Generate altitude for French mairies for COG 2024
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@ThomasG77
ThomasG77 / README.md
Last active July 25, 2024 15:07
Athletes fr JO 2024

Récupération des données de l'API des athlètes français JO 2024 derrière https://data.equipedefrance.com

Le plus intéressant, ce sont les athlètes qui sont exposés. Il manque quelques coordonnées géographiques (correspondant au lieu de naissance, 29 lors de mes tests). Nous avons dû les déduire en passant les slugs des athlètes car les lieux de naissance sont renseignés dans les pages HTML du type https://www.equipedefrance.com/athlete/guylaine-marchand bien que la géolocalisation du lieu de naissance soit absente.

Il y a eu quelques cas où:

  • pas de lieu de naissance dans le fiche HTML
  • on a modifié le nom de la région après le lieu de naissance car le géocodeur ne retournait pas l'attendu
  • on a récupéré le lieu de naissance "ailleurs" car quelques fiches HTML étaient innaccessibles (erreurs 500) ou sans le lieu de naissance
@ThomasG77
ThomasG77 / README.md
Last active July 9, 2024 11:50
Generation diagramme image pour Photoshop
@ThomasG77
ThomasG77 / README.md
Last active July 6, 2024 19:38
Bureaux de vote des circonscriptions de l'étranger

Récupération des bureaux de vote des circonscriptions de l'étranger

wget https://www.resultats-elections.interieur.gouv.fr/telechargements/LG2024/territoires/territoires.xml
echo '"code_com","lib_com","code_circ","lib_circ"' >| circo_etrangers_zz.csv
xq -r -c '."Election"."EnsembleGeo"."Regions"."Region"[] | select(."CodReg" == "00") | ."Departements"."Departement"[] | select(."CodDpt" == "ZZ") | ."Circonscriptions"."Circonscription"[] | ."CodCirElec" as $codeCir | ."LibCirElec" as $libCirElec | ."Communes"."Commune"[] | [."CodCom", ."LibCom", $codeCir, $libCirElec] | @csv' territoires.xml >> circo_etrangers_zz.csv

CSV et SHP géocodés avec QGIS en utilisant le plugin MMQGIS. Voir le shp dans le zip, le GeoJSON dans dans le dépôt

@ThomasG77
ThomasG77 / README.md
Created May 22, 2024 12:21
Generate vector tiles for Planet with tilemaker

Generate vector tiles for Planet with tilemaker

Recipe

# You need a recent curl version. Hence, my path points to a compiler curl version
# The goal is to manage when new MAJ should be done instead of running full processing for nothing
curl_path=/home/thomasg/curl/bin/curl
mydate=$($curl_path -Ls -o /dev/null --head -w "%header{last-modified}" https://planet.openstreetmap.org/pbf/planet-latest.osm.pbf)
current_date=$(date -d "$mydate" +"%Y-%m-%dT%H:%M:%S%:z")