Basic Computer Programming: An essential skill for GIS Analyst







Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, Basic Computer Programming is an essential skill to learn 
Stephen Hawking






This article is not about the life and achievements of Stephen Hawking, rather an inspiring and incredible quote of Stephen hawking is the only motive to write this article.
Stephen Hawking needs no introduction as the best known scientist on planet Earth not just on the field of cosmology but as a hugely successful science writer and beacon of inspiration for how the limitations of the body can be overcome by the power of the mind. He has asserted Basic Computer Programming as a vital and essential skill to learn if we want to pursue a career in the modern era.  
The intent of this article is to signify and justify the inevitability of basic programming skill for a GIS Analyst. The duties of a GIS Analyst are not limited to make pretty paper maps to impress the boss or manager rather; he should have some proficiency in remote sensing, CAD, programming and database management.
The primary duties of a GIS Analyst includes analyzing spatial data through mapping software and designing digital maps with geographic data and various other datasets. A GIS Analyst has to import the data from AutoCAD, Microstation, MS Excel and other file formats to use in basic GIS software environment. The major mapping software used in industry are ESRI ArcGIS and QGIS (free and open source GIS software). Both software support customization and automation using different programming languages and scripts. Nowadays, the majority of GIS analyst positions require programming skills and application development. Therefore it is essential to know at least Basic Computer Programming for a GIS Analyst to automate the repetitive tasks, import/export from different file formats, calculating the field attributes, appending and merging multiple datasets etc.

Unfortunately, basic programming skill is overlooked not only in academia but even GIS Analysts did not emphasize and realize the importance of programming in the field of GIS. The majority of GIS Analysts do not know about the basic programming using python or vbscript. They work on daily basis using ArcGIS and create attractive colorful maps but they are not aware about the powerful script engines present under their nose.




Most of the GIS Analysts (in Pakistan) working in industry have a Bachelor's or Master of Science degree in Geography, Geomatics, Space Science, GIS & Remote Sensing and other earth related sciences. These degree programs include programming course too as a subject. Now, the question arise that why most of the GIS Analysts are not proficient at Basic Computer Programming though they were taught during degree program?

The main reason is because it is presumed by GIS students that programming courses are tough and hard. Even the teachers used to say to students that programming is not everyone’s cup of tea. I personally don’t agree with it. Programming isn't hard, it just requires more time and practice than we might expect. The class lectures and course contents does not cover the techniques needed to write smart programs, so it’s no wonder students get frustrated and give up.
In short, programming cannot be learnt solely by listening lectures rather it requires practicing it. If someone wants to learn swimming, he needs to practice it. A lecture isn't going to make him a swimmer.
The basic programming can be started to learn using common software we use on daily basis such as MS Office. Visual Basic for Applications (VBA) can be a good start to learn relatively basic programming concepts.  
All Microsoft products (Excel, Word, Access, Power Point) comes with the default Visual Basic editor. It does not need to install any IDE (Integrated Development Environment)  or any compiler.  For more details, it can be started from this link.

Once become familiar with programming using VBA, the VB Script functions can be applied to calculate the field values in attribute table. This link illustrates several Calculate Field example codes.
ESRI no longer supports distribution of VBA since ArcGIS Desktop 10.2.2 release, but still VBScript is used for quick calculation of field attributes.

It will be easier to switch to code in Python language after learning basic programming using VBA. ArcGIS comes with Python IDLE and compiler. 





For a GIS Analyst, there will be repetitive kind of work such as copying the data, changing the format of data sets, spatial analysis etc. ArcGIS have all the GUI’s available in Python on command line to do batch processing and automation.
Explore  python language, create custom toolboxes/scripts to automate the GIS workflows and be the outstanding GIS Analyst.

Comments

Popular posts from this blog

SpaTools: Import Lidar Point Cloud (LAS/LAZ) files into AutoCAD

How to Clip objects in AutoCAD

SpaTools: Extract Topographic Profile From Contours In AutoCAD

Creating Contour Maps in ArcGIS and Conversion to AutoCAD drawing

Why GIS users should learn AutoCAD?

SpaTools: Toolbar with all tools