Skip to content

Instantly share code, notes, and snippets.

View cquest's full-sized avatar

Christian Quest cquest

View GitHub Profile
@cquest
cquest / siret_histo.sh
Last active February 28, 2018 22:25
Extraction des changements de SIRET des fichiers SIRENE quotidiens
# extraction des changements de SIRET dans les fichiers de maj quotidien SIRENE
# génère un fichier CSV avec SIRET_OLD, SIRET_NEW et DATEMAJ
# unzip = décompression du zip
# csvcut = ectraction des colonnes qui nous intéressent + conformation CSV
# egrep = extraction de slignes qui nous intéressent
# csvsql = rapprochement pour obtenir le lien ancien -> nouveau SIRET
FILE=$(echo $1 | sed 's/.zip//')
unzip $1
@cquest
cquest / openfla_export_2018.sh
Last active January 4, 2018 10:39
Export découpages administratifs 2018 d'OpenStreetMap pour data.gouv.fr
export SHAPE_ENCODING="UTF-8"
pushd /home/cquest/public_html/openfla/export/
# export communes (métropole et DOM)
ogr2ogr -f "ESRI Shapefile" -lco ENCODING=UTF-8 -s_srs "EPSG:3857" -s_srs "EPSG:3857" -t_srs "EPSG:4326" -overwrite communes-20180101.shp PG:"dbname=osm" -sql "select tags->'ref:INSEE' as insee, name as nom, tags->'wikipedia' as wikipedia, floor(st_area(geography(st_transform(way,4326)))/10000) as surf_ha, way from fr_admin where tags ? 'ref:INSEE' and admin_level='8' and tags->'ref:INSEE'<'98000' and tags->'ref:INSEE' not like '975%'"
zip -9m communes-20180101-shp.zip communes-20180101.* && zip communes-20180101-shp.zip LICENCE.txt communes-descriptif.txt
# export communes (hors métropole et DOM)
ogr2ogr -f "ESRI Shapefile" -lco ENCODING=UTF-8 -s_srs "EPSG:3857" -t_srs "EPSG:4326" -overwrite communes-com-20180101.shp PG:"dbname=osm" -sql "select tags->'ref:INSEE' as insee, name as nom, tags->'wikipedia' as wikipedia, floor(st_area(geography(st_transform(way,4326)))/10000) as surf_ha, way from
@cquest
cquest / bpe_dbf2csv.sh
Created December 15, 2017 18:17
Script de conversion DBF > CSV de la BPE 2016 (INSEE)
echo "Téléchargement des données INSEE"
wget https://www.insee.fr/fr/statistiques/fichier/2387803/bpe16_ensemble_xy_dbase.zip
unzip bpe16_ensemble_xy_dbase.zip
echo "Téléchargement des données OpenStreetMap"
wget http://osm13.openstreetmap.fr/~cquest/openfla/export/communes-20160614-shp.zip
unzip communes-20160614-shp.zip
echo "Import dans postgresql"
pgdbf bpe_ensemble_xy.dbf -s iso8859-1 | sed 's/,\([0-9][0-9][0-9][0-9]\)/.\1/g' | psql
@cquest
cquest / gist:10bc35d42a573c1a89e7eb9779fcf1fb
Created November 18, 2017 08:56
overpass: noeuds avec tag ref:INSEE=* et name=* non conforme aux règles de toponymie
/*
noeuds avec tag ref:INSEE=* et name=* non conforme aux règles de toponymie
*/
[out:xml][timeout:300];
{{geocodeArea:france}}->.searchArea;
(
node["ref:INSEE"][place!~"suburb"][name!~"^(Le |La |Les |Aux |)[A-Za-zÉÈÎŒÇéèêëäàäâîïöÿôûüœç\'\-]*$"](area.searchArea);
);
out meta;
@cquest
cquest / minitel.py
Created November 12, 2017 19:29
Quick and dirty test
import serial
with serial.Serial('/dev/ttyUSB0', 4800, parity=serial.PARITY_EVEN, bytesize=7, timeout=5) as ser:
ser.write(12)
ser.write(b'Hello world')
s = ser.read(10)
print(s)
@cquest
cquest / renderd.service
Last active November 11, 2020 21:53
renderd systemd config
[Unit]
Description=renderd service
After=postgresql.target
[Service]
Type=forking
User=www-data
PIDFile=/var/run/renderd/renderd.pid
ExecStartPre=/bin/mkdir -p /var/run/renderd
ExecStart=/usr/bin/nice /usr/bin/renderd
@cquest
cquest / transpac_scan.txt
Created September 16, 2017 23:09
transpac scan results... before IP scanning ;)
175060001 COM
175060011 LIB DTE 003
175060018 LIB DER 000
175060043 LIB PCV 000
175060047 LIB NA 065
175060055 LIB PCV 000
175060058 LIB NA 070
175060059 LIB PCV 000
175060064 COM
175060067 LIB PCV 000
@cquest
cquest / michelin.json
Last active August 25, 2017 19:13
Emprise approximative des cartes Michelin
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import sys
f = open(sys.argv[1],'r')
lines = f.readlines()
directory = ['','','','','','','','']
prefix = ''
for l in lines[1:-2]:
n = l.lstrip()
level = (len(l)-len(n))/2
i = n.split(' ')
@cquest
cquest / siret_manquant.csv
Created July 30, 2017 20:50
Codes SIRET dont le résultat du contrôle sanitaire a été publié et n'est plus disponible au 30/7/2017
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
siret
21330298700028
21330318300015
21350149700019
21750001601033
25610165000016
26620318100034
30059912305620
30059912308384
31187923300014