Skip to content

Instantly share code, notes, and snippets.

View ThomasG77's full-sized avatar

Thomas Gratier ThomasG77

View GitHub Profile
import os
from osgeo import gdal
# gdal.UseExceptions()
# gdal.SetConfigOption('CPL_DEBUG', 'ON')
# Create a test CSV
file = "test.csv"
with open("test.csv", "w") as csv:
csv.write("latitude,longitude\n")
@ThomasG77
ThomasG77 / README.md
Last active May 12, 2022 09:44
Données centre des communes (centroide des mairies sinon centroide commune)

Script pour générer les positions des mairies

Lancer le script bash ./get_mairies_from_ign_bdtopo.sh

Il permet de créer 2 fichiers GeoJSON:

  • mairies_multipolygons.geojson est celui des emplacements de la mairie principale pour chaque commune. Quelques lignes sont vides, certaines communes n'ayant plus de mairie (exemple des communes mortes pour la France)
  • centre_communes.geojson prend le centre du polygone de la mairie et sinon le centre de la commune. En réalité, il ne s'agit pas d'un centre mais d'un opération qui génère un centroide et le corrige pour s'assurer que ce dernier est bien dans le multipolygone.

Nous créons un 3ème fichier centre_communes.csv pour ceux qui préfèrent un fichier pla

@ThomasG77
ThomasG77 / README.md
Last active May 10, 2022 19:52
Recipe to use MySQL/MariaDB with QGIS and GDAL, with or without geom column
@ThomasG77
ThomasG77 / datatourisme-bibliotheques.sh
Last active March 22, 2022 19:21
Extrait datatourisme bibliothèques Nouvelle Aquitaine
wget -O api_result_datatourisme.json https://www.data.gouv.fr/api/1/datasets/5b598be088ee387c0c353714
remote_url=$(cat api_result_datatourisme.json | jq '.resources | sort_by(.published) | reverse' | jq -r '.[].url' | grep naq | head -n1)
wget "$remote_url"
xsv search -d ',' \
-s "Categories_de_POI" "https://www.datatourisme.gouv.fr/ontology/core#Library" \
datatourisme-reg-naq-20220321.csv \
| sed '1s/.*/\L&/' \
| csvtojson \
| jq -c .[] \
| ndjson-map 'd2 = {"type": "Feature", "properties": d, "geometry": {"type": "Point", "coordinates": [Number(d.longitude), Number(d.latitude)]}}, d2' \
@ThomasG77
ThomasG77 / .eslintrc.json
Last active April 18, 2022 23:24
Play with gdal.vectorTranslate in Node.js
{
"env": {
"node": true,
"es2021": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
@ThomasG77
ThomasG77 / .gitignore
Last active March 17, 2022 22:01
Use https certificate on localhost with Express
node_modules/
declare -a depts=(01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 2A 2B 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 971 972 973 974 976)
true >| stats_api_pro_bio.txt
for i in "${depts[@]}"
do
url="https://back.agencebio.org/api/gouv/operateurs/?departements=$i";
tot=$(curl -X 'GET' "$url" -H 'accept: application/json' | jq -r '.nbTotal');
echo "${i};${tot}" >> stats_api_pro_bio.txt;
done