Last year I witnessed how my friend «Filiblu» had to put aside his Visual Basic for Applications (VBA) programming with which he felt quite comfortable, and roll up his sleeves learning Python from scratch, to develop an adaptation of the plugin «SIT Municipal» on QGIS. It is an application that has been remaining clear, and of which I was hardly a functional designer because I was not there until now. After conversations held at that time with Fili and recently with Nan from Peru, which has been deoxidizing for a few months with a Python course, we consider this post, thinking about how important Python has become as a language in this world of Systems of Geographic Information.
The issue itself may seem irrelevant, especially for those who have been 'elbowing' for a long time with this language. Reviewing the Geofumadas topics, only a few 16 articles refer to Python, and almost as a complement to various discussions. But as we have said before, the geomatics of these times, must dominate the development of applications, not necessarily because they will be dedicated to programming, but because it is urgent that you can understand the scope and know how to drive or supervise computer developments in geospatial matters.
Certainly the language created by Guido van Rossum Has been positioning itself in increasingly preponderant segments. Reviewing Stephen Cass's article in IEEE Spectrum We find that Python currently occupies the first place in the ranking, when top programming languages are spoken, although already Forbes we had anticipated something similar. Of course now, in its 3 version, it is already consolidated in relation to its distant public presentation in 1991. And although I feel that, for the sake of objectivity, I should not elaborate on the benefits of Python compared to other languages, I can not help but narrow the preference I have acquired for Python, both for its multi - purpose feature and its flexibility and experience. vivid to see a programmer adapt very easily to this language, preferring now to make the applications on Python although he loved his total domain over VBA.
I loved the guide created by Aimee, to Learn Python in the context of ethical hacking.
When we talked about this with Nan, reviewing the GIS forums, we found that programmers wondered about the topic. If we go to Strings in gis.stackexchange We find that, unfortunately, many of the indicated links are inactive; Which, however, does not remove the starting point in our reflection. The question developed there was:
"In your opinion, what is the best book / site for learning Python if you have GIS work in mind?
By 'BEST', Was meant:
- Not very long (book)
- Easy to understand (book / site)
- Good practical examples (book / site) "
I would like to start the discussion by separating 'sites' from 'books'. After my almost Freudeana conversation with Nan, we have come to think that it would be more orientating. We start, then with the 'sites':
1. Everything depends on the 'level'
My first recommendation is a course of Python based on Udemy projects, not only because of its size, but also because of its price and the fact that once the course is taken, there is a lifetime of access to the content.
We understand that it is not the same to be a beginner as an 'expert'. If you have recently made contact, nothing better than focusing on the language and then on the specialty. Therefore, when we find three answers (which add 9 votes) pointing to Codecademy I think of the 'newbies', since this site allows a simple way to introduce us to the Python world or any language we want to learn.
Second, already at an intermediate level, it is Coursera. This MOOC platform offers courses covering different areas. In particular we refer to the cycle of courses (5 in total)Python for Everybody'By the nice Charles Severance. Whoever took the sequence with 'Dr. Chuck ', will recognize how he guides us very skillfully as he progresses on the difficulty level course by course.
I also give my credit to a couple of Python courses in Guru99, especially one that was worked by a Google veteran.
Another intermediate level course, whose book has the same name as the site is: Learn Python The Hard Way. 52 exercises that cover different topics. Zed Shaw has his fans without a doubt. 44 votes for the book!
Of course we can not miss those who stick to the 'bible' of language. This response with 10 votes shows us that we always check the site official It is still a good alternative for consultation.
2. Books for basic training
The offer here is also scattered. Each one ends up getting better with a particular book. Without forgetting the very learned 'Python The Hard Way' we find one of similar acceptance:How to Think Like a Computer Scientist'(Free download)
Less voted we find 'Dive into Python'(10 votes and also free download) and, finally with 4 votes, Hans Petter Langtangen's book,' A Primer on Scientific Programming with Python ', which can be found on Amazon.
3. SIG and Python. The specialization
The expected moment arrived. And to tell you the truth, the information provided by the GIS forum leaves us in orphanage due to their inactive links. It is not negligible, what it offers GisGeography as free alternatives. Although in my opinion, in this subject it is convenient to invest in a good course to start. Then the free solutions or books will give us greater strength.
In our Hispanic context, and specifically about GIS applications on Python, I would recommend almost with my eyes closed to three friendly sites in our geofumada blógsfera:
MappingGIS: ArcPy - Python for ArcGIS online course
CoursesGIS.com, from TYCGIS: Online Python Course in ArGIS and Online Python Course in QGIS
Imasgal: PyGIS - Python for QGIS
In case of courses in English language, for the initial level we advise the following sites:
- Programming Foundation with Python (in Udacity) - Oops, this is general, but we added it as an extra. To elbow in Python learning actively and for free. Visit.
- GEO485 GIS Programming and Automation (Penn State Open CourseWare) - Learn Python and how to automate GIS tasks in Esri ArcGIS desktop. Visit. (3 votes in our old forum).
Also basic but with much more information:
- Python Geo-Spatial Development. Old but interesting, not in vain gets 23 rating votes.
- El GIS programming Fundamentals (GIS540) from NC State University gets 4 votes. It seems, indeed with more information than that of Penn State.
- A portal with lots of information. GIS LOUNGE Provides a wide range of articles, news, courses and other information. Your 44 votes support user preferences.
In my experience, online courses are guidance, in which you learn to lose your fear, do guided exercises, interact with classmates and teachers; but at the end of the course, if you want to take the subject seriously and take it to a dedicated level, you should buy a good book. In this regard, we are provided with a list to review calmly:
With 13 votes, Python Geospatial Development appears to start building applications from scratch using Open Source GIS. A good start
- Python Scripting for ArcGIS (Esri) - To create custom geoprocessing tools and learn how to write python code in ArcGIS. It can be downloaded and exercises through Esri. It appears in the Penn State course bibliography.
Still interested in learning ArcPy? Here one list Resources to investigate.
And finally they show us a small list of books by Packthub, which I find interesting:
- Learning Geospatial Analysis with Python
- Python Geospatial Development - Second Edition
- Python Geospatial Analysis Essentials
- Python Geospatial Development Essentials
- ArcPy and ArcGIS - Geospatial Analysis with Python
- QGIS Python Programming Cookbook
- Programming ArcGIS with Python Cookbook - Second Edition
In conclusion, although some master's degrees on geospatial subjects continue to teach Visual Basic as a generic language for non-computer scientists, the trend should really be Python. What remains to be done, if this has aroused interest is to start reviewing, reviewing and revising. We are aware that this is only a first approximation to the subject. Now, get to work!