J'ai eu l'idée de ce blog en finissant mon énième CDD et en rangeant mon bureau plein de post-its, de notes dans les coins de cahier, sur les feuilles de brouillon ...


Dommage de perdre toutes ces informations glanées au fur et à mesure des années et puis finalement pourquoi ne pas en faire profiter la sphère des heureux sigistes et fières de l'être?


J'ai travaillé sous GRASS, Arcview, ArcGis, MapInfo,QGIS et je suis devenue accroc à l'open source.


Alors voila, il était une fois ...

mercredi 30 septembre 2015

Voir plus de palettes de dégradés : cpt-city color ramp

Une astuce que je cherche et recherche à chaque fois tellement elle est planquée dans les menus de QGIS!
Pour avoir accès à plus de palettes de dégradés de couleurs: c'est ici https://docs.qgis.org/2.8/fr/docs/user_manual/working_with_vector/style_library.html

Palettes de couleur

Vous pouvez créer des palettes de couleur personnalisées en choisissant Nouvelle palette de couleur... depuis la liste déroulante Palette de couleur. Une fenêtre vous propose alors de choisir entre différents types de palette : Dégradé, Aléatoire, Mélangeur de couleur ou cpt-city. Les trois premiers permettent de choisir le nombre de couleurs et leurs positions dans la palette. Vous pouvez utiliser la case checkbox Inverser au moment de choisir les classes. Voir figure_symbology_3 pour un de ces exemples de palette et figure_symbology_3a pour les palettes de type cpt-city..
Le type cpt-city ouvre une fenêtre qui permet de choisir parmi des centaines de palettes prédéfinies.
Figure Symbology 3a:
../../../_images/cpt-cityColorRamps.png
Fenêtre cpt-city et ses centaines de palettes de couleur nix

vendredi 18 septembre 2015

Apprendre encore et encore .... à distance et gratuitement!

He oui cela existe, c'est génial et c'est ici: https://www.france-universite-numerique-mooc.fr

Par exemple les MOOCs de python et de R ont commencé ce lundi, très utiles couplés à QGIS, inscrivez-vous!



mercredi 2 septembre 2015

Bash, vous avez dit bash?

Dans un précédent article, je parlais de "bash", mais kezako et surtout comment le lance-t-on?

N'étant pas informaticienne, je vous dirais juste qu'un bash est un script qui permet d'automatiser certaines procédures fastidieuses en utilisant par exemple des commandes OGR/GDAL ou grass. C'est l'équivalent du batch sous windows, sauf que lui se lance dans un shell Unix/Linux.

Ouh la me direz-vous, je suis sous windows et je vous répondrais: aucun soucis, moi aussi :)

1. Utilité du bash


Vous recevez par exemple le nouveau cadastre, vous le recevez à peu près 2 fois par an. On vous livre des fichiers Mif/Mid répartis  par dossiers "commune" et contenant entre autres fichiers: parcelles.mif et bati.mif. 

Or vous travaillez sous Qgis, vous préféreriez donc des shapes et vous voudriez votre cadastre non pas par commune mais agrégé en un seul shape. Les Mifs sont en WGS 84 mais vous les voulez dans un système de coordonnées projetées tel que l'EPSG 2972 (Guyane).

Chaque année vous convertissez donc un à un les fichiers manuellement et vous assemblez votre shape puis le transformez dans le bon système de coordonnées.

Grâce au bash, vous n'avez qu'une ligne de commande à lancer et c'est parti!

Autre exemple que tout le monde connait: vous rentrez de vacances, vous avez pris 300 photos qui pèsent toutes 5 Mo et vous souhaitez les partager mais elles sont trop lourdes. Grâce à un bash, vous enregistrez vos photos au format JPG en choissisant votre rapport qualité/poids.

2. Ecrire un bash



  • Utilisez Notepad ++ ou le  blocnote, word, pour écrire vos bash.

  • Enregistrez le au format texte, puis renommer le manuellement en remplaçant le .txt par .sh

  • Exemple 1 : convertir vos photos


#!/bin/bash

# Compresse tous les JPG du répertoire courant 
# Les fichiers convertis sont placés dans le répertoire photos_compressees

for i in $i.JPEG
do
  echo "Processing "${i}""  
  gdal_translate -of JPEG -co QUALITY=40 "${i}" photos_compressees/${i}
  
done


  • Exemple 2 :convertir du MIF en shape puis assembler tous les shapes en un seul

#!/bin/sh
#Convertir les PARCELLES.MIF de chaque commune du cadastre en shape EPSG 2972 et les assembler en un seul shape
#Les shapes et le merge sont dans le répertoire 'PARCELLES' créé par le bash

DATA=`find . -name 'PARCELLE.MIF'`
mkdir 'PARCELLES'
j=1
for i in $DATA
do
ogr2ogr -s_srs "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs" -t_srs EPSG:2972 -f "ESRI Shapefile" 'PARCELLES\'$j.'PARCELLE.shp' $i
let "j += 1"
done
cd 'PARCELLES\'
a=`find . -name '*.shp'`
ogr2ogr -a_srs EPSG:2972 merge.shp
for z in $a
do
ogr2ogr -append -update merge.shp $z -f "Esri Shapefile"

done

3. Lancer un bash


  • Vous devez lancer votre bash dans un shell (invite de commandes) tel que Msys (installé automatiquement avec QGIS), FWtools ou encore le shell de GRASS. C'est ce dernier que j'utilise

  • Dans Qgis, créez un nouveau jeu de données dans GRASS, l'ouvrir puis cliquez sur la boite à outil GRASS

  • Lancez le shell GRASS

Déplacez vous jusqu'au répertoire ou est rangé votre bash. Perso je dépose mon bash à la racine du répertoire contenant les fichiers à convertir.

Pour vous déplacer, utilisez les commandes suivantes:

e: pour changer de disque
.. pour remonter dans l'arborescence
cd chemineversmonrepertoire pour aller dans le dossier de votre choix


  • Lancez le bash: bash nomdemonbash.sh

et c'est parti:)