Exploring a Python Script in Global Mapper Pro
Those who know Python or are looking to explore the use of this programming language in the context of GIS work, will be pleased to hear that Global Mapper Pro now integrates with the Python programming language. The new integration allows users to execute Global Mapper processes through scripts written in Python. In addition, Python scripts can be created and run in the new user interface Script Editor, or outside of the Global Mapper program in a Python environment.
The creation and execution of Python scripts in Global Mapper requires both Global Mapper Pro and Python 3.9 to be installed on the machine. If you already have Python 3.9 installed, you can use the existing installation, or you can use the option while installing Global Mapper to get an embedded version of Python used specifically by Global Mapper.
Being a common programming language, Python opens opportunities to interweave Global Mapper functions with commands and operations from third-party libraries. Using Python to incorporate Global Mapper Pro into existing or new scripted processes expands the usability of the program.
To begin writing Global Mapper tools into Python scripts, you must import the Global Mapper module, globalmapper. This module contains the Global Mapper functions allowing you to load, create, analyze, and export data, and will be used to call commands from Global Mapper. This import is often shortened by users with the command import globalmapper as gm.
Python scripts can be written and edited in the Global Mapper Pro Script Editor or outside of the Global Mapper program. The Script Editor, like many other common tools and text editors used to write scripts in Python, includes syntax coloring to help users parse the content. Opening a script in this window, the functions and comments can be clearly seen.
While this script does not need to be run in the Global Mapper Pro interface, doing so, and enabling the option to Run Script in the Context of Main View allows the loaded and created data to be seen in the Global Mapper interface. When the scripted process completes, users can quality check the generated data or continue analysis in the Global Mapper workspace.
This example script will load multiple data layers, change display options for layers and features, generate layers of contour lines, and export images with the generated data.
Starting with setting up the export directory, keeping this variable definition at the top of the script allows it to more easily be changed by individual users. Layers from a network location are then loaded and if the layers do not load as expected a message is returned. Any printed messages will be shown in the script results area of the Script Editor.
While the file paths for the layers loaded in this script are written in the script, this workflow could be changed to prompt the user to select specific files to load to make this workflow more easily repeatable for multiple study areas.
Using a while loop, two vector features from the States layer are identified and the vector feature display is changed for these two features. This is done by searching for the features and then using the SetAreaFeatureDrawStyle command to modify the style of the specific features. Since this process is creating a visual image output, setting the layer styles provides control over the look of data in the output image.
Next, another feature style edit is made, but this time for a Line Feature Type. A short loop changes the feature type for contour lines from their default brown style to a style that colors the lines based on the active elevation shader. This is a more permanent change to the Configuration of the Global Mapper installation. If these feature types are not reverted to their defaults later in the script, the changes will remain in Global Mapper and can be viewed in the Configuration > Styles section of the interface.
The data creation completed by the script is the generation of contour lines. In this workflow, it was necessary to generate results three different times with different contour intervals. Starting this process the three desired contour intervals are listed. These contour interval values are then used in a for loop. A for loop goes through the same process for each value in the list of intervals. The loop uses the first value to create the contour line layer and export an image before starting the next interaction of the loop with the next listed value.
Since three contour interval values are listed, three JPEG format images are exported from Global Mapper to the export directory defined at the start of the script. Each of these images has a unique file name with the contour interval noted.
Global Mapper Pro and the Python programming language are both incredibly versatile and useful tools for many GIS professionals. With options to automate processes over a series of values or files, Python integration with Global Mapper Pro greatly improves the efficiency of data processing and creation.