This article is about to hand you freedom to develop GUI, scripts, web maps and spatial data management tools while using Python programming language. First, you have to install the relevant libraries that play a great role in using Python to manipulate and store data.
What determined the list of the tools below? Well, this list is derived from the modern trends and standards recommended by the GIS industry. Again, the tools mentioned work easily with the already flourishing systems in the GIS world. Below are the components you need to set up your environment:
If you are carrying out various different GIS projects, virtualenv will help you work with various python libraries in their different versions without worrying about downgrades or upgrades. That means you can work with almost all versions of Python on the same PC!
This is the python version of the PROJ4 library that handles projections and transformations. Python developers do not have to hard code the mathematical equations because this library does the donkey work in the background.
If you wondering how to handle Shapefiles especially in Python scripting, worry less. This library is built purposely to handle Shapefiles.
This is another Python library that gives you the power to handle json files more so while looking at geometries.
Csv and such document formats are easily handled by this library in terms of data analysis.
Scipy and Numpy
Scipy is a very powerful group of Python libraries that carries very many operations that can be used in the GIS processing of data. On the other hand, Numpy handles the arrays (raster data) and complex mathematical computations.
This library will plot graphs for you so that you can visualize data in more meaningful forms. Matplotlib can also be used to visualize maps.
This is the superstar of the GIS libraries because of challenges it can help you overcome. However, nothing good comes easy. Installing GDAL is a nightmare whether you are on Windows, Linux or Mac OS. The library handles both vector and spatial data with capabilities like transformations, projections as well as data conversion.
Geodjango is a Python web framework that has powerful spatial capabilities. Geodjango is basically and extension of django which needs a spatial database for data storage alongside other gis dependencies already mentioned above.
Another great tool for building mapping applications. Mapnik takes spatial data from a PostGIS database and renders it as an image.
PostGIS is an extension of PostgreSQL that stores spatial data and hands a developer the power to perform spatial operations on the same data.
There are other libraries like PySAL, Shapely, Folium and Descartes that help python developers perform geospatial miracles on spatial data. Now that you know what you need to have a python geospatial environment ready, we will tackle the installation of these libraries in part 2.