Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 12 sur 12
  1. #1
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 653

    Par défaut Python c'est quoi, comment l'apprendre ?

    Sur le Forum, il y a de plus en plus de questions sur l'utilisation de Python avec ArcGis ou avec Qgis, des demandes de correction de scripts "qui ne marchent pas" ou enfin des demandes de formations au langage.

    Je pense qu'il est bon de repréciser certaines choses (pour ne pas répéter la même chose chaque fois)

    Python, c'est quoi ?

    • Python est un langage de programmation complet, Open Source, qui permet de faire énormément de choses dans sa version standard (telle qu'elle est installée).
    • il est multiplateformes (Windows, Linux, Mac OS X, divers Unix, mais aussi Android, Iphone etc.) et, hormis rare exceptions, les scripts, simples fichiers texte, sont universels (fonctionnent de la même manière, quelle que soit l'OS), ce qui n'est pas le cas de VB script et autres, monoplateformes;
    • il n'a, à priori, rien à voir avec les SIGs, ce n'est pas le langage de script ou de macros d'un SIG particulier comme Avenue, par exemple, et le domaine des SIGs n'est qu'un "petit" domaine d'application de Python. Il suffit de consulter le site "Planet Python" (http://planet.python.org/ ) pour s'en rendre compte;
    • l'adjonction de modules/extensions très, très nombreux lui permet de traiter pratiquement toutes les données et/ou de communiquer avec un très grand nombre de programmes de toute sorte (depuis Oracle ou PostgreSQL jusqu'à un traitement de texte en passant par Microsoft Office et autres). Ils ajoutent des fonctions supplémentaires à l'installation standard.
    • le site de référence pour ces modules est PyPI, le Python Package Index (http://pypi.python.org/pypi)
    • ArcPy , qgis ou grass ne sont que des modules parmi d'autres, destinés à traiter les données d'ArcGIS, Quantum GIS et GRASS GIS, rien de plus, rien de moins;
    • Si l'on veut traiter d'autres données, il est très facile de trouver un module adéquat (XML, données encodées sur Microsoft Excel, Oracle, création de graphiques, etc.). Cela ne se fait pas avec ArcPy ou qgis ou en réinventant la roue;
    • ainsi, il y a aussi d'autres modules pour traiter les "objets" SIG (shapefiles, rasters, bases de données spatiales etc.). Ils ne sont à priori ni meilleurs, ni moins bons, juste différents et ne font pas appel à des logiciels SIGs. Rien n'empêche de les utiliser aussi et en complément des modules de ArcGIS, QuantumGIS ou GRASS GIS;
    • ces modules ne sont souvent malheureusement pas installés d'office avec les logiciels SIGs qui n'installent que ceux dont ils ont besoin (ArcGIS ou Quantum GIS sur Windows);
    • ils n'ont rien à voir avec le programme et il est nécessaire de les installer en plus dans votre installation Python (répertoire site-packages) et pour cela, il faut connaitre un minimum comment fonctionne Python (http://www.portailsig.org/content/python-pour-les-sigistes-comment-installer-un-module-externe-geojson-shapely-ou-gdalogr-par-)

    Comment l'apprendre ?

    • le géomaticien n'est à priori pas un informaticien et l'on voit souvent poindre des questions du genre "je voudrais apprendre Python pour le logiciel X";
    • le module Python qui permet de communiquer avec ce logiciel particulier n'est lui-même qu'une "couche" en plus : il ne fait qu'ajouter des nouvelles fonctions à la librairie standard de Python;
    • vouloir apprendre Python en ne s'intéressant qu'à ces fonctions supplémentaires est un peu réducteur et conduit à des problèmes , même si le concepteur du logiciel vous dit le contraire (ce qui est rarement le cas, même ESRI le prend en compte), mais on veut aller très vite...
    • il semble plus profitable d'avoir d'abord une bonne idée de ce que peut faire Python, de sa philosophie (de comment le faire sans nécessairement aller trop loin) puis appliquer cette connaissance à l'utilisation du module X (si l'on n'a pas bien compris la notion de liste en Python, il sera difficile d'utiliser les curseurs employés par le module ArcGIS, par exemple)
    • cela permettra dans un premier temps de comprendre ce que fait un script, de le modifier éventuellement ou de rechercher sur Internet des solutions à vos problèmes (il y a des milliers de tutoriels ou de scripts pour tout traiter et rien n'empêche de s'en servir, de les copier et/ou de les modifier au lieu de se "casser la nénette");
    • l'important est que votre script fonctionne bien pour ce que vous voulez faire, même si un programmeur trouve qu'il est "mal foutu", qu'il y a moyen de faire mieux etc.. Tout le monde n'est pas programmeur et le temps est précieux. Mais le temps passé à apprendre certaines de leurs astuces est aussi précieux. Cest comme ça qu'on apprend peu à peu...

    Bon courage

    Quelques références sur le Portail SIG sans module lié à un logiciel SIG :

    Python et les shapefiles :
    http://www.portailsig.org/content/py...les-shapefiles
    http://www.portailsig.org/content/py...imple-utiliser

    Python et les rasters
    http://www.portailsig.org/content/py...modis-ou-les-d
    http://www.portailsig.org/content/py...es-tfw-jgwpngw
    http://www.portailsig.org/content/le...*****-worldfil
    http://www.portailsig.org/content/pci2geotiff

    Python et les MNT
    http://www.portailsig.org/content/py...es-ou-mnt-srtm

    Python et Microsoft Excel
    http://www.portailsig.org/content/py...on-quantum-gis

    Python et fichiers XML
    http://www.portailsig.org/content/xm...nter-la-roue-0

    Python et fichiers KML
    http://www.portailsig.org/content/py...dule-simplekml

    Python et analyse géospatiale
    Python: le module Shapely, géométries, prédicats spatiaux, analyse spatiale, matrices de Clementini (DE-9IM), traitements de shapefiles ou autres, et représentation avec matplotlib

    Débat
    http://www.portailsig.org/content/py...comprehensions
    Dernière modification par gene ; 07/11/2011 à 21h29.
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  2. #2
    Quasi-modo Supporter(rice)

    Date d'inscription
    octobre 2008
    Messages
    998

    Par défaut

    Merci !
    Je crois bien que ça va me servir un jour...
    "Les sigé, c'est la balle !"
    Joey StarApic et Kool Shape du groupe MNT
    Album: Laisse pas trainer ton TIN

  3. #3
    Rédacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Post-doctorant en sciences forestières/Analyste en géomatique
    Organisme
    Western Center for Wildland Fire Sciences
    Âge
    34
    Messages
    1 171

    Par défaut

    Like!!
    Merci Gene
    Merlin, Enchanteur Géomatique

  4. #4
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 653

    Par défaut

    J'ai oublié, sur le Portail

    Pour XML
    http://www.portailsig.org/content/py...s-ou-de-shapef

    Pour les bases de données spatiales (notion et emploi d'un curseur en Python)
    http://www.portailsig.org/content/py...s-et-problemes
    http://www.portailsig.org/content/py...chemy-sqlobjec
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  5. #5

    Date d'inscription
    février 2009
    Messages
    491

    Par défaut

    Ce sont de petits chefs d'oeuvre de technicité et de pédagogie

  6. #6
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 653

    Par défaut

    Et pour bien illustrer les principales utilisations de Python (hors SIGs), 3 petits liens:
    Liste des programmes écrits en Python ou utilisant Python (les SIGs ne sont même pas cités, de même que des applications comme FontLab (http://www.fontlab.com/), écrite et scriptable en Python)
    http://wiki.python.org/moin/Applications
    http://en.wikipedia.org/wiki/List_of_Python_software

    Organisations utilisant Python
    http://wiki.python.org/moin/OrganizationsUsingPython
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  7. #7

    Date d'inscription
    mars 2010
    Messages
    172

    Par défaut

    Merci pour la compilation, super utile.
    Pour apporter ma pierre à l'édifice, un lien vers un bouquin bien foutu:

    http://www.amazon.com/Python-Geospat...9136925&sr=8-2

    Je pense qu'il s'adresse surtout au débutant. Pour ma part j'avais déjà lu et appliqué un livre d'introduction à la programmation via python avant d'attaquer celui ci.

  8. #8
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 653

    Par défaut

    Il ne s'adresse pas du tout au débutant
    Ce livre aborde d'une manière très claire et détaillée l'utilisation de GDAL, de OGR, de Pyproj, de Shapely ou de Mapnik, les liaisons avec les bases de données comme PostGIS, MySQL, Spatialite et l'utilisation de Django - GeoDjango (3 chapitres pour expliquer et créer une application complète). Tous les exemples sont téléchargeables. La table des matières est consultable à www.packtpub.com/toc/python-geospatial-development-table-contents.
    tiré de http://www.portailsig.org/content/py...comprehensions
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  9. #9

    Date d'inscription
    mars 2010
    Messages
    172

    Par défaut

    Effectivement... Je ne sais plus ce que j'ai voulu dire, mais ce n'était certainement pas cela étant donné que je suis moi même débutant que j'en ch** comme un soviétique... Cela dit, c'est pour la bonne cause !

  10. #10
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 653

    Par défaut

    bon courage
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  11. #11
    Biblioman
    Date d'inscription
    mai 2005
    Localisation
    Villeurbanne
    Âge
    36
    Messages
    3 293

    Par défaut Re : Python c'est quoi, comment l'apprendre ?

    Encore une ressource utile sur Python en français, Le PYTHON en bref.
    Publié le 5 avril 2013 - Mis à jour le 16 juillet 2013, par Alexandre GALODÉ
    http://python.developpez.com/tutoriels/python-en-bref/



    Que l'informaticien soit débutant ou averti, se pose à un moment la fatidique question du langage à adopter.

    En effet, tantôt nous avons besoin d'un langage procédural, tantôt d'un langage objet ; tantôt d'un langage de script, tantôt d'un langage avec IHM…

    C'est à ce niveau que PYTHON est intéressant. En effet, ce langage sait s'adapter à de nombreuses situations. Capable de créer des clients lourds ou légers, des applications standards ou mobiles, il sait tout faire.

    De plus, langage OPEN SOURCE par excellence, ce langage bénéficie d'une très large communauté et d'appuis sérieux et solides telle la société GOOGLE qui s'en sert comme langage principal, la NASA ou encore de nombreux logiciels OPEN SOURCE reconnus comme BLENDER.

    Prenant de plus en plus d'ampleur dans l'univers de la programmation, PYTHON remplace peu à peu ceux qui avaient la préférence dans de nombreux établissements informatiques, car contrairement à d'autres, PYTHON ne nécessite nullement de multiples mises à jour par mois. Chaque évolution est mûrement réfléchie avant d'être déployée.

    Ce livre est conçu à la fois comme un condensé d'informations pour apprendre PYTHON, mais également comme un aide-mémoire toujours utile à avoir sous la main.

    Ce livre a été conçu sous Linux, et par conséquent, certains exemples peuvent ne pas fonctionner sous d'autre OS.

    Bonne lecture.
    Home is where the .arc is...
    Propos sous license Beerware !!!

  12. #12

    Date d'inscription
    avril 2015
    Localisation
    Toronto
    Emploi
    GIS Technician
    Messages
    106

    Par défaut Re : Python c'est quoi, comment l'apprendre ?

    Une autre ressource pour apprendre le python: http://cscircles.cemc.uwaterloo.ca/0-fr/

    C'est un tutoriel interactif gratuit avec des exercices, en francais ou en anglais, fait par l'université de Waterloo au Canada. C'est une intro à python et la programmation qui n'est pas spécifique aux SIG, mais qui donne de très bonnes bases. La plupart des formation SIG utilisent ce cours en 1ère année
    Merci de faire un suivi, ça m'intéresse de savoir si j'ai pu t'aider.

 

 

Discussions similaires

  1. [Autres] [Python] Apprendre de manière ludique ! sur Codecademy.com
    Par SkåL dans le forum Ressources
    Réponses: 0
    Dernier message: 09/09/2012, 12h24
  2. [Méthodologie] Python c'est quoi, comment l'apprendre ?
    Par kraken dans le forum Ressources
    Réponses: 0
    Dernier message: 08/11/2011, 11h01
  3. [Autres] [Python] apprendre à utiliser Python, sans Python installé
    Par gene dans le forum Ressources
    Réponses: 2
    Dernier message: 10/03/2011, 08h29
  4. [ArcGIS 9.x] Comment utiliser Python ?
    Par yaelm dans le forum Programmation
    Réponses: 1
    Dernier message: 08/10/2005, 19h14
  5. [ArcView 3.x] Apprendre les scripts
    Par saadia dans le forum Programmation
    Réponses: 2
    Dernier message: 05/11/2004, 15h40

Les tags pour cette discussion

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •