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 ...

Affichage des articles dont le libellé est QGIS. Afficher tous les articles
Affichage des articles dont le libellé est QGIS. Afficher tous les articles

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

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:)


mercredi 5 août 2015

Paramétrer les couleurs d'un symbole svg créé sous Inkscape:

C'est sympa de créer ce fameux rond dégradé sous Inkscape, ce dégradé qui crée l'illusion de la 3D et de l'utiliser comme symbole dans Qgis, mais recréer et ré-importer ce symbole chaque fois que l'on veut changer sa couleur, ça devient vite lourd, heureusement il y a ce tuto sur le super site du "portail SIG" :

http://www.portailsig.org/content/ajouter-et-personnaliser-des-symboles-svg-depuis-qgis

Il suffit donc d'éditer, via notepad ++, par exemple, le fichier SVG et de remplacer certains paramètres:


  • fill="param(fill)#010101 que l'on remplace par fill="param(fill)#FFF pour modifier le remplissage
  • stroke="param(outline)"#000" modifie la couleur de bordure
  • sroke-width="param(outline-width) 1" modifie l'épaisseur du contour
  • etc,

Pour aller plus loin aller visiter la page citée ci-dessus :)

vendredi 24 juillet 2015

Mes plugins QGIS de rêve


  • L'indispensable Group Stats
  • Le merveilleux sextante pour les nuls en GRASS
  • Profile tool pour un profil de rêve
  • Openlayer plugin
  • MMQGIS
  • Spit
  • Lizmap
  • Zoomtocoordinate
  • ...

La panoplie du parfait Sigiste

Forcément il a QGIS installé sur son PC mais aussi:

  • Pour stocker ses données
    • PostgreSQL (et donc pgadmin)

    • Pour faire de jolies cartes
      • Inkscape
      • ColorPix
      • Paint.net
    • Pour se faciliter la vie
      • Talend ETL
      • FWTools
      • OGR/GDAL
      • Notepad ++
    • Pour avoir un beau serveur cartographique
      • Apache
      • WinSCP
      • LizMap
      • Putty

    et j'en oublie ... J'actualiserais cette liste au fur et à mesure de mes découvertes.

    Le SRTM 30 en accès libre ou comment avoir de jolies courbes de niveaux et un beau MNT grâce à QGIS

    Le SRTM 30 (Shuttle Radar Topography Mission, topographie avec un pas de 30 m, pour mémoire nous n'avions jusqu'ici que le 90 m) est enfin téléchargeable gratuitement depuis la plateforme Earth Explorer de l'USGS depuis le 23 septembre 2014.
    Il suffit de se rendre à cette adresse: http://earthexplorer.usgs.gov/ et commencer par créer un compte si vous n'en avez pas (une authentification est indispensable pour pouvoir télécharger les données). Vous devez ensuite remplir le formulaire comme suit pour pouvoir télécharger les dalles au format tif. :
    • Rentrez Guyane française dans le champ "Adress place", cliquez sur "Show", puis sélectionnez la première et unique entrée du tableau proposé :
      1Guyane française3.9339-53.1258
    • Un marqueur se place sur la carte. Zoomez sur la carte pour avoir l'emprise de la Guyane, puis cliquez sur "use map". En de-zoomant, vous aurez l'emprise sélectionnée que vous pouvez modifier sur laquelle vous allez chercher vos dalle
    • vous pouvez alors cliquer sur Data set :  les résultats s'affichent
    • dans la barre de recherche commencez à saisir "SRTM" et choissisez SRTM 1 Arc-second Global
    • téléchargez toutes les dalles
    Que faire avec ces dalles?
    • Les assembler : créer un raster virtuel dans QGIS (Raster/Divers/Construire un raster virtuel (catalogue vrt)
    MNT
    • Créer un ombrage, des pentes :  passer soit directement en ligne de commande avec la commande "gdaldem hillshade" (cette méthode m'a permis d'obtenir un tif qui s'ouvre dans MapInfo, alors qu'en passant par QGIS, impossible de l'ouvrir) soit  par QGIS Raster / Analyse de terrain ou Raster/ Analyse/ MNT DEM (attention à l'azimut, 315 et 75 degrés semblent un bon compromis)
    ombrage
    • Créer des courbes de niveau : Raster/Extraction/Création des contours (je suis d'ailleurs impressionnée par la vitesse d'affichage de cette couche dans QGIS 2.6). Attention il reste des "trous" (nodata) dans les images SRTM qui induisent des biais lors de la création des courbes. Il faut corriger ce problème en passant le MNT dans Grass et en utilisant la commande r.fillnulls (qui va interpoler les nodata).
    CN

    • Créer un profil avec Profile tool
    Et au final voici le résultat  :
    SRTM30