samedi 26 juin 2010

OGRInfo GUI : Une interface graphique pour OGRInfo



Je viens de développer un petit outil qui permet d'utiliser OGRInfo sans devoir passer par la ligne de commande. Je l'ai programmé en VB .NET. Cet outil vous permettra d'afficher des informations sur vos couches sans devoir ouvrir un gros logiciel SIG. Il permet en plus de se connecter à une base PostGIS. Je compte bien encore l'améliorer, donc si vous avez des suggestions, envoyez moi un mail.

Vous pouvez le télécharger ici :

jeudi 24 juin 2010

Des formulaires personnalisés pour QGIS

L’interface graphique (GUI en Anglais) de QGIS est développée grâce à la technologie QT. Pour rappel, QT est un SDK multi-plateforme qui permet la création d’interfaces graphiques riches. QGIS a la particularité de permettre l’utilisation de formulaires externes pour saisir les données attributaires, lors de la digitalisation par exemple. Nous allons voir à travers ce tutoriel comment construire nos propres formulaires grâce à QT-Creator, l’outil de design d’interface du SDK QT.
Commencez par télécharger la dernière version de QT pour Windows à cette adresse (QT est gratuit pour une utilisation non commerciale) :


Une fois le logiciel installé, lancez le et créez un nouveau projet.
Dans la fenêtre qui s’ouvre, choisissez « Interface graphique QT designer »


Laissez les options choisies par défaut dans les deux fenêtres suivantes. Donnez un nom à votre fichier et spécifiez le chemin d’accès où vous voulez l’enregistrer.
L’éditeur QT Creator s’ouvre avec votre formulaire vierge, à part deux boutons positionnés par défaut, « OK » et  « Annuler »


Faites glissez le contrôle « Label » sur votre formulaire pour ajouter un texte, ici, le titre du formulaire : « Gestion des arbres » 


Vous pouvez changer le style du texte dans la propriété "Font".


Choisissez ensuite le contrôle « LineEdit » et ajoutez le au formulaire, copiez-collez le quatre fois. Nous disposons ainsi de quatre champs texte. 
Sélectionnez les champs texte les uns après les autres pour modifier leur nom dans les propriétés. (Le nom des contrôles doit correspondre au nom des champs de la couche pour laquelle nous souhaitons utiliser le formulaire)


Pour ma part, j’ai choisi « id », « type », « age » et « etat ».
Vous pouvez ensuite ajouter des « Label » avec leur nom devant les champs.  
Si vous voulez aligner parfaitement vos contrôles, sélectionnez les par groupe et cliquez sur l’icône « Aligner verticalement » sur la barre d’outil au dessus du formulaire.


Pour afficher une image sur le formulaire, nous allons aussi utiliser le contrôle « Label » dont nous modifierons la propriété « pixmap », afin de choisir notre image. Cochez aussi la propriété « scaledContents » pour nous permettre de redimensionner l’image à notre goût.



Notre formulaire est terminé, il ne nous reste plus qu’à l’enregistrer. La suite se passe sous QGIS.
Lancez QGIS et créez une nouvelle couche vecteur de type point. Ajoutez les quatre champs en prenant soin de faire correspondre leur nom avec ceux des contrôles crées sous QT (« id », « type », « age » et « etat »).


Une fois la couche créée, double-cliquez sur celle ci afin d’en afficher les propriétés. Dans l’onglet "Général" , cliquez sur le bouton « ... » de l’option "Editer UI" et sélectionnez votre fichier de formulaire fraichement crée. Validez les modifications des propriétés de votre couche etcliquez sur OK.


Lancez la digitalisation et saisissez un point. Comme par magie notre formulaire apparait ! Saisissez les données et validez. 


Les données sont enregistrées dans la table attributaire. Pour vérifier la saisie, clic droit sur la couche, « Ouvrir la table d'attributs ». 


Voilà ! J’espère que ce tutoriel vous sera utile. Et rien ne vous empêche de créer des formulaires beaucoup plus riches en y intégrant par exemple des contrôles de type combobox, list, checkbox, etc…

N'hésitez pas à me contacter si vous avez des questions.
Adrien

mercredi 23 juin 2010

Bulletproof Mapping - Cartographie Open Source : Partie 1


Cartographie Open Source


I - De QGIS à Inkscape

La plupart des logiciels SIG du marché manquent cruellement de fonctions graphiques avancées. Les cartes ainsi générées ne sont pas souvent des plus esthétiques. L'export de cartes dans un format vectoriel nous permet justement de retravailler visuellement nos cartes dans un logiciel plus specialisé. Pour ce tutoriel, je me suis tourné vers une solution entièrement Open Source : QGIS pour la manipulation des données spatiales et Inkscape pour le travail graphique de la carte.

Ces deux logiciels sont librement téléchargeables sur leur sites respectifs, et en français :

Quantum GIS : http://www.qgis.org/
Inkscape : http://www.inkscape.org/?lang=fr

Nous allons tout d'abord nous procurer les données :
Les couches OpenStreetMap sont librement téléchargeables au format Shapefile sur Geofabrik.de
Choisissez la région de votre choix et téléchargez. Une fois l'archive extraite, lancez QGIS et ajoutez toutes les couches à part "Points" et "Places". Changez les couleurs des couches (pas de bordure pour les polygones) afin de vous y retrouver plus facilement, zoomez sur le secteur à cartographier et désactivez toute les couches sauf la première.


Nous allons maintenant créer un nouveau composeur d'impression (Fichier > Nouveau Composeur d'impression)
Cliquez sur le bouton "Ajouter une nouvelle carte" et tracez un rectangle sur toute la surface de la page blanche. Dans les "Options Globales" de l'onglet "Item", décochez "Afficher le cadre". Cliquez sur le bouton "Rafraîchir la vue" et "Exporter au format PDF". Nommez votre fichier avec le nom de la couche et enregistrez. Sans fermer le Composeur d'impression, retourner sur la fenêtre principale de QGIS, activez la deuxième couche et désactivez la première. Retournez dans le Composeur d'impression, Rafraîchissez la vue et exportez en PDF. Répétez l'opération pour chacune de vos couches. Nous avons maintenant un fichier PDF pour chaque couche. Il est maintenant temps de passer à Inkscape.


Lancez Inkscape et ouvrez le PDF de votre première couche (La première couche servira de document principal dans lequel nous collerons toutes les autre couches)




Cliquez n'importe où sur le cadre et faites clic droit > "Dégrouper"



Répétez la manipulation jusqu'à ce qu'il n'y ait plus rien à dégrouper et supprimez les cadres résiduels, Clic droit > "Supprimer"



Nous allons ensuite créer autant de calques qu'il y a de couches, Maj+CTRL+L pour faire apparaitre le gestionnaire de calques puis "Créer un nouveau calque".




Afin de mettre la couche actuelle dans son calque correspondant, faites un CTRL+A pour sélectionner tous les objets, CTRL+X pour couper, sélectionner le calque de destination dans le gestionnaire de calques, et enfin faites un CTRL+ALT+V pour "Coller sur place". Nous avons maintenant notre couche dans son calque correspondant. Pour tester, cliquez sur l'oeil à gauche du calque, la couche devrait disparaitre, si ça n'est pas le cas, répétez l'opération précedente.


Vous pouvez à présent ouvrir une autre couche. Inkscape l'ouvrira par défaut dans une nouvelle fenêtre. Ne fermez pas votre premier document!
Pour cette couche, répétez les opérations de dégroupage et de suppressions des cadres comme pour la première couche. Sélectionnez ensuite tous les objets de la page (CTRL+A) et copiez les (CTRL+C).


Retournez dans le premier document et sélectionnez le calque dans lequel vous voulez mettre la couche. Faites un "Copier sur place" (CTRL+ALT+V), la nouvelle couche vient se caler exactement sur la première.




Il ne vous reste plus qu'à répéter l'opération pour le reste de vos couches en prenant bien soin de coller chaque couche dans un calque différent.



Vous pouvez maintenant vous occuper à retravailler visuellement votre carte. Inkscape possède une multitude d'effets intégrés qui vous permettront de rendre vos cartes plus attrayantes. J'aborderais ce thème dans une prochaine partie du tutoriel. En attendant, vous pouvez vous rendre sur le site d'Inkscape qui propose de nombreux tutoriels pour ceux qui veulent découvrir ce fabuleux logiciel.


Ca se passe ici : http://www.inkscape.org/?lang=fr

Lecture recommandée :


GIS Cartography - A guide to effective map design
de Gretchen N. Peterson

http://www.amazon.com/GIS-Cartography-Guide-Effective-Design/dp/1420082132











A bientôt pour la deuxième partie! 


Adrien

mardi 22 juin 2010

GADM : Les limites administratives gratuites



Le site Global Administrative Areas met à disposition gratuitement les limites administratives de tous les pays du monde. Elles sont téléchargeables au format Shapefile, Geodatabase et KMZ. Les données sont d'une grande qualité mais ne sont malheureusement pas librement redistribuables.
Attention, les fichiers sont parfois assez lourds...

Ca se passe ici : http://www.gadm.org/

lundi 21 juin 2010

Geofabrik.de : Les données OpenStreetMap téléchargeables en Shapefiles

Geofabrik.de met à disposition du public les données OpenStreetMap au format Shapefile. Les couches (sous license Creative Commons - Share Alike) sont téléchargeables gratuitement, et librement redistribuables dans tous vos projets. La taille des fichiers varie de quelque dizaine de mégaoctets pour une emprise régionale, à quelque giga pour un continent. Les fichiers compressés contiennent plusieurs couches : Buildings, Natural, Places, Points, Railways, Roads et Waterways. Les données sont plus ou moins complètes selon les zones, mais les fichiers sont mis à jour presque quotidiennement.

Ca se passe ici : http://www.geofabrik.de dans la section "DATA"

Bienvenue

Bienvenue sur RootabaGIS!

Un blog consacré à l'une de mes passion, les Systèmes d'Information Géographique. Je suis actuellement en formation de Technicien Supérieur en Géomatique à Nancy, et J'ai décidé de créer ce blog afin de partager mon expérience avec les autres Geeks des SIG ou les internautes curieux...

Bonne lecture!

Adrien Rootabaga