Python is increasingly becoming an important language for Geospatial Scientists to know. Within ArcGIS, the language is increasingly being used to create scripts for batch processing. This is especially the case given the use of Visual Basic (VBA) is being deprecated within ArcGIS (source). Batch processing allows for a task, which would be repeated several times, to be coded rather than requiring an end user (i.e. Geospatial Scientist) to spend their time inputting the same information. At a basic level, programming Python scripts is a time saver. This being said, Python scripts can also be used to link geoprocessing tools together allowing for complex analysis to be done with minimal user effort. Some might note that this application is possible using ArcGIS’s Model builder, but personal experience would suggest that using scripts has a lower frequency of hanging up as well as lower processing times. As such, I would encourage users to try turning their frequently used models into Python scripts to test hangup frequency and speed differences.

ArcGIS has a number of resources for Python Scripts and programmers which can be found here. If you are just interested in learning some Python code in a general sense (i.e. not specific to ArcGIS libraries/arcpy) you might consider checking out Code Academy’s Python tutorials.


SQL (Pronounced either S.Q.L. or sea-quill) is a programming language dominantly used for databases, their management and organization. As a result, Geospatial Scientists can use this language when working with large quantities of tabular data. Views and triggers, among other database objects, can be created using SQL thereby ensuring the integrity of the database while providing the requisite data.

Examples of SQL code can be seen on the Developing a Web Mapping Application page.

Javascript, HTML(5) & CSS

Javascript along with HTML (5) and CSS are useful when creating Web Mapping Applications (WMAs). This triad of languages is not only useful for the Geospatial Scientist to know when creating WMAs, but commonly used by many web developers. As such, web developers can use their previously honed language skills to step into the world of geospatial technology. While ArcGIS has an Application Programming Interface (API) using Javascript, other groups, such as Google Maps, have their own Javascript APIs. One can easily see that this triad of languages is highly useful for web focused Geospatial Scientists allowing them to not only make data highly accessible within an ArcGIS environment, but other environments as well.

As with Python, Code Academy provides a series of tutorials on Javascript and HTML/CSS for those interested in learning about those languages. For those more interested in learning via YouTube videos, Derek Banasprovides a series of fast-paced videos covering a range of topics within each of these languages among others.

Attention! If you read the above and now think that you must learn those languages otherwise you will never get ahead as a web focused Geospatial Scientist, there are alternative languages and APIs (e.g. ArcGIS API for Flex, ArcGIS API for Silverlight). After working with a variety of groups to develop WMAs, there appears, to me anyways, two main aspects that should be kept in mind. First, what do you, or the group you are consulting, already have access to? Is there already a web developer on staff that knows Javascript, HTML and CSS? Or, do you need to train someone from a different field (e.g. archaeology, geology, ecology, etc.) to create the WMAs you or your group need? Secondly, how much control do you or your group need to have over the individual aspects (e.g. color, button placement, icons for buttons, etc.) of the WMA? Some languages, development environments and APIs might be better suited to the task at hand. In the end, keeping an open mind to accomplish the goal is key.