Abstract: The GIS world introduced Python as a relatively simple scripting language, but over time, it became ubiquitous and provided solu...
The GIS world introduced Python as a relatively simple scripting language, but over time, it became ubiquitous and provided solutions for many different users. Data management, mapping, analysis, and system management. You can name them as follows: Python has infinite possibilities. Read on to learn how to use it to your advantage and improve your career as a geospatial professional.
1.Many programming languages in GIS
In the past, multiple programming languages were used in the GIS industry. Someone at Esri DevSummit accurately summarized this point. He said that Esri uses multiple programming languages in a workflow. What's the meaning of this? This means that you can use one or more programming languages to complete your work (if you like GUI, you can also extend it). Of course, you don't have to. I recently received an email asking me about the possibility of using Python in GIS and whether it is really necessary to learn it. The answer is no: Python is not a substitute for GIS, but an extension. The same is true for R and JavaScript. However, many geospatial jobs require you to build applications and/or master multiple programming languages. Of course, it is also important to know some simple script programming or have application development skills.
2.Python now surpasses the script/programming dichotomy
I once wrote an article about Python called "Python Programming: A Beginner's Guide". Someone asked me if using the preconfigured development tool applied to GIS data can tell you that you are a programmer. To be honest, I don't think so. Using buffering tools in arcpy does not make you a programmer, but if you use this tool in a larger application, it is equivalent to writing an application instead of a script. Creating an application is all about programming. However, for Python as a language, the difference between script and programming may not always be very clear.
But it is interesting that in the past six months, I have started to use the python tool of Hyperdesktop GIS. In particular, the combination of ESRI's python api and jupyter book has become a great new tool. It is far more than a series of preconfigured GIS tools. It also introduces ESRI's Web GIS concept, including ARCGIS Online or Portal for ArcGIS. This brings me to the next point:
3.Python is very suitable for system operation, data management, analysis and visualization
I mean, you can use Python, just as you can use Window's File Explorer to manage data, load data, process data and visualize data. After using the Jupyter notebook (which allows you to perform all these operations through the browser), I asked myself whether these are new IDEs for writing scripts and applications. Jupyter notebooks provide powerful functions beyond IDE, mainly because they integrate code with graphics and ESRI's python api, 2D and 3D maps (as shown in the figure). They are very suitable for organizing and testing small blocks of code, and can return results immediately, which is exactly the same as the page where the code is written. This is impossible for an IDE that only returns code results. It cannot be deleted unless the IDE is restarted. (However, I don't think jupyter notebooks will replace python-ide because they don't allow you to create complex applications.)
4.GIS has adopted Python 3
A major difference between Arcpy for Arcmap and Arcpy for Arcgis Pro is the python version used in the background. Most discussions about the differences between the two languages ignore the fact that python 3 is actually a redesign of some parts of the language, which is why it has different version numbers and is considered as a major upgrade. This also explains why the site package for arcpy for arcmap (using python 2.7) has such unique commands and tools, and the structure and reading method of the new python api for arcgis is more like pure python, which makes it easier for python developers who have just come into contact with gis to use and learn it. This may help ESRI attract more non-GIS developers to use its platform and tools.
5.GIS has accepted Anaconda
But the reality is that using Python for version control and package management is a challenging task. With such an application, your life will be easier, this is what Anaconda does. It also includes the Jupyter notebook application mentioned above. At first, I doubted its practicability, but now I prefer to use Anaconda instead of virtualenv every time I use python 3. If you install python 2.7 included with arcmap, it can also work well (do not add anaconda to python path because you do not mix the two environments on the same machine). ESRI also realized that providing arcpy through Anaconda is more convenient than directly using arcmap or pro. This will be addressed in the upcoming software release.
6.GIS has included Scipy library
ESRI now provides the scipy library every time you install arcmap and pro, so you don't have to install the software package yourself. Although the various packages of this library are for scientific research, GIS analysts and cartographers can use them, for example, by including simple drawings in the Matplotlib library. If you use panda and numpy at the same time, you will get something similar to R language. Similarly, Jupyter notebooks are ideal environments for writing all code, comments, results, and diagrams.
From a marketing perspective, it is interesting that ESRI adopted the slogan "The Science of Where" to emphasize its scientific roots. The cooperation with Continuum Analytics (the company behind Anaconda), the shipment of Scipy Stack with Arcgis and the creation of Arcgis Bridge for R users are recent initiatives to bring different communities together through technology.
7.GeoPython is a new activity for geospatial Python developers
GeoPython is a European Python conference for geospatial communities. Here, new projects and proprietary vendors from the open source community are shared. If you don't participate in the event, you may have( https://github.com/geopython )interested, this library shows all the items displayed in the latest version earlier this May.
8.Open source extension of proprietary GIS, and vice versa
This is mainly a repetition of the first two points, but there are more: there are many open source tools that can extend commercial GIS. Many of them are distributed through the pypi python package index, although github is very slow. When you search for "gis", "geo" or "esri", you will be surprised by the number of search results. An open source software package called arcrest provides a set of python tools to help use the arcgis rest api for arcgis server (ags), arcgis online (agol) and arcgis webmap json. In addition, if you use anaconda as the package manager, you can use the anaconda cloud to search for packages, or browse more than 1000 default packages included with the installation.
9.Python supports Web GIS
Although desktop geographic information system will not disappear soon, network geographic information system is the trend of the future. Python is a good tool for creating workflows using WebGIS, which is another reason to start learning it. Instead of relying on desktop applications, you can copy most of their functions outside such applications. For example, by using Jupyter notebooks, using Web APIs to obtain the required functions, data and tools, creating your own workflow and sharing these functions, data and tools with others. Python can be used as a language to connect all these functions, and the possibilities are endless.