J'aimerais développer mes compétences en programmation SIG, par où commencer? Les gens disent apprendre C ++ ou Python, mais où puis-je l'apprendre dans un contexte géographique? Des didacticiels ou quoi que ce soit seraient très utiles, de même que toute information sur les langues / programmes à utiliser.
python
c++
references
Volonté
la source
la source
Réponses:
Il y a un article de blog de Michalis Avraam qui explique les compétences essentielles pour réussir dans une carrière SIG qui, je pense, est bien écrit. Vous y trouverez probablement de nombreux bons conseils.
MISE À JOUR: malheureusement, les liens supérieurs sont morts mais un sujet similaire peut être trouvé dans un article de recherche Identifier les compétences requises pour les postes SIG: Une analyse de contenu des annonces d'emploi
la source
J'aime les supports de cours Python pour géotraitement de Chris Garrard. http://www.gis.usu.edu/~chrisg/python/2009/ Personnellement, je trouve indispensable la manipulation programmatique de OGR / GDAL.
En ce qui concerne la recherche de la solution qui vous convient le mieux, considérez le logiciel ou la pile géostatique dans laquelle vous souhaitez être le plus expert (comme ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers), puis choisissez le ou les langages de programmation qui soutiennent le mieux votre choix. Cela sera détectable en consultant la langue de l'API associée ou d'autres didacticiels de personnalisation. Il existe de nombreuses ressources d'apprentissage en programmation en ligne, et une recherche sur le Web de votre progiciel préféré + langue + "tutoriel" vous permettra de rouler.
Je crois aussi à «apprendre en faisant». Par exemple, lancez une carte simple avec Javascript et Google Maps, et essayez d'ajouter la géométrie, le style, l'interface utilisateur et les analyses d'intérêt. Travaillez pour voir ce qui est possible et ce qui ne l'est pas. Au fur et à mesure que vous construisez, vous aurez besoin d'outils de personnalisation plus sophistiqués, ce qui pointera vers des plafonds, des langues et des bibliothèques pertinents.
la source
Ne commencez pas avec C ++ et SIG sans avoir d'abord appris le développement de logiciels. C'est tout simplement trop.
Python est un bon point de départ, quelle que soit la plate-forme SIG avec laquelle vous irez plus tard. Il y a beaucoup de livres, de sites Web et de matériel de formation disponibles et beaucoup de collèges utilisent le python comme introduction avant de passer aux langages de programmation lourds, comme c ++ et java.
Mes ressources python préférées - en dehors de ce site - sont Show Me Do , Think Python , Stack Overflow et les listes de diffusion des logiciels que j'utilise (principalement GDAL et ArcGIS).
la source
J'ai pu apprendre le Python en m'asseyant avec une copie de Learning Python de Lutz & Ascher (O'Reilly Press). Mon bureau utilise des produits ESRI, donc pour obtenir la connexion avec ArcGIS, j'ai créé plusieurs modèles à l'aide du Model Builder d'ESRI et les ai exportés vers Python. Ensuite, il s'agissait simplement de regarder les scripts python exportés, de fouiller dans le livre et d'utiliser le système d'aide en ligne d'ESRI pour les rubriques de géotraitement pour avoir une meilleure idée de la façon dont python et ArcGIS fonctionnent ensemble.
la source
Il y a très peu de collèges / universités qui offrent des cours de programmation liés aux SIG. Je recommanderais le programme de certificat SIG d'Elmhurst College, qui comprend deux (2) de ces cours dans le cadre de leur certificat SIG. Programme, tous deux liés à la programmation:
ISG 200 Implémentation de géodatabases
http://public.elmhurst.edu/adult/gis
L'ensemble du programme est en ligne et ils ont un serveur SIG dédié. Ils enseignent principalement le Python.
la source
La programmation dans les SIG est l'un des ensembles de compétences répertoriés dans le modèle de compétence en technologie géospatiale (GTCM), qui vient de sortir et comprend quelques compétences supplémentaires qui peuvent être la source de référence ultime pour cela: http://www.careeronestop.org/ competencymodel / blockModel.aspx? tier_id = 4 & block_id = 708 & GEO = Y
la source
La réponse dépend beaucoup du système que vous utilisez et du système d'exploitation sur lequel il fonctionne. Je programme principalement Manifold sur Windows ou des applications Web avec Manifold sur le backend, je peux donc choisir parmi n'importe quel langage .NET. C # est mon choix personnel car la plupart des exemples et tutoriels que vous trouverez sur le web seront en C # (au moins pour .NET).
Étant donné que vous débutez , le collecteur n'est peut-être pas un mauvais choix. Vous pouvez l'obtenir pour moins de 300 $ et développer en utilisant les versions gratuites «Express» de Visual Studio.
Si vous pouvez être un peu plus précis, nous pouvons probablement vous aider davantage.
la source
Le campus virtuel ESRI propose quelques courts cours d'introduction à l'utilisation de Python pour l'écriture de scripts dans ArcGIS. Je pense que l'un d'eux est gratuit. En prendre un serait un excellent moyen de voir si c'est quelque chose que vous êtes prêt à approfondir.
la source
Parcourez ArcMap en apprenant les bases de la manipulation des objets spatiaux. Lorsque vous êtes à l'aise avec une opération, essayez d'établir le processus avec ModelBuilder. Le constructeur de modèles est l'équivalent de lego dans le monde ESRI. Il vous permet de générer du code python. Ce code sera simplifié mais cela fonctionnera.
WingIDE est un outil qui facilite la gestion des scripts python et vous offre un environnement prévisible pour tester vos scripts. Ouvrez le script de création de modèle dans l'IDE de votre choix et jouez avec.
Au fur et à mesure que les langages de programmation vont Python est un fruit bas. Il vous emmènera du niveau simple et plus :-)
la source
Je suis surpris que PyQGIS Developer Cookbook ne soit pas encore là. Je le trouve indispensable pour faire correspondre mes anciennes compétences SIG et mes nouvelles compétences Python, surtout sans avoir accès à ArcGIS maintenant. Si vous êtes plus orienté vers ArcGIS, alors il y a beaucoup plus de ressources pour vous.
Il y a une liste de programmes de formation Python sur StackOverflow. Personnellement, je préfère Checkio .
Sauf si vous avez déjà une solide expérience dans un autre langage (C # pour ArcGIS, C ++ pour SIG opensource), commencez avec Python et apprenez d'autres langues plus tard. La plupart des fonctions liées au SIG devraient avoir une syntaxe et une utilisation similaires en Python et ces langages, donc les apprendre avec des connaissances antérieures de Python ne devrait pas être si difficile.
la source