Thursday, January 14, 2010

Edit Global Mapper's workspace file with a text editor

Global Mapper can use workspace files (with .gmw extension) to store map displays, projection, raster data layers, elevation data layers, as well as vector layers. If you create any new point, line or polygon vector features with the digitizing tools, the digitized data layers e.g. lakes (as shown in the screenshot below) are also stored in the workspace file.



If you open up the workspace file in a text editor e.g. Notepad, you would find that it is actually a text file containing a series of Global Mapper scripting commands, as shown below.


The workspace file is really a text script file that you can edit to add in your own scripting commands. What you can do is up to your imagination.

For example, you can put in the EXPORT_VECTOR script command to export out the digitized vector data layers as ESRI shape files. You can even write some sophisticated script automate the process to run for many workspace files at one go.

In the screenshot below, the line:
EXPORT_VECTOR TYPE="SHAPEFILE" FILENAME="c:\temp\lakes.shp" SHAPE_TYPE="AREAS"
 is appended to the workspace file to export out the digitized lakes layer into the shape file C:\temp\lakes.shp.



Note: The edited workspace file should be renamed as a Global Mapper script file with a .gms extension e.g. workspace.gms.

You can either double click the renamed file in the Windows Explorer window or you can open up a Command Prompt window and run the global_mapper11.exe executable with the Global Mapper script file name as the argument, as shown below.

C:\> "\Program Files\GlobalMapper11\global_mapper11" workspace.gms



After running the script file, the shape files are created from the digitized data layers in the workspace.

Tuesday, January 5, 2010

Global Mapper 11 Export to GeoPDF for Acrobat Reader

The Adobe Acrobat Reader 9.x has a Geospatial Location Tool function which can be used to display geographical positions in latitude, longitude and easting, northing values in GeoPDF (PDF with geo-location information) files.

The new Global Mapper 11 has an Export to GeoPDF function which can create PDF files that can be viewed in the Acrobat Reader. It is quite straightforward to use this function - simply stylize and layout the map display then export to GeoPDF.

Creating the GeoPDF file
  1. Before creating the GeoPDF, the layers you want to export need to be displayed and stylized in Global Mapper as shown below.

    Note: the example screenshot shows three layers - a GeoTiff image, State polygons and city point features.


  2. Select File | Export PDF/GeoPDF File.

    The PDF Export Options dialog box appears.


  3. Change any settings as required. For example, change the Orientation setting to Landscape from Portrait. Click OK.

    The Save As dialog box appears.


  4. Browse to the output folder and type in the output File name. Click Save.

    The GeoPDF file is created.

Viewing the GeoPDF Coordinates in Acrobat Reader
  1. In Windows Explorer, double click on the GeoPDF file created previously.

    The file is displayed in Acrobat Reader.
  2. Click the Layers icon on the left to display the list of layers (as shown above).

  3. Using the Layer list, layers can toggle on or off as shown below by clicking the eye icon.


  4. Select Tools | Analysis | Geospatial Location Tool or click the right icon on the Analysis toolbar.

    The coordinate readout display is shown on the bottom right.


    Note: the readout can be a combination of latitude/longitude and/or easting/northing coordinates depending on the Acrobat Reader Preferences settings.

  5. Move the cursor around the map display.

    The cursor coordinates are displayed dynamically.

Marking Locations on the GeoPDF
  1. Right click anywhere on the map display.

    A pop up menu appears.


  2. Choose Find a Location.

    The location entry fields are displayed at the bottom right.


  3. Type in a coordinate. Press RETURN.

    The typed in coordinate is marked on the map display.


Now with GeoPDF files, geospatial information can be easily generated and distributed for viewing using a simple Adobe Acrobat Reader desktop application.

Related material

  1. GeoPDF map files: all regional digital maps on one DVD.: An article from: Engineer: The Professional Bulletin for Army Engineers
  2. PDF Hacks: 100 Industrial-Strength Tips & Tools

Thursday, December 17, 2009

Flagging intersection points with elevation differences

Typical GIS applications have the capability to determine unbroken intersections but only from the perspective of a 2D plane i.e. as if the spatial intersection analysis is done only after the line work is projected entirely onto the 2D plane; if the line work has a elevation or Z component, then the Z component is ignored entirely in the analysis. In 3D GIS applications like terrain modeling, sometimes it is useful to be able to determine the elevation difference of the line work at the point of intersection. If one spatial feature represents a lake, then a river line feature flowing out of the lake should have the same elevation at the point of intersection. It would be useful to be able to flag the intersection points that have elevation differences.

In the example dataset below, there are a few line features with different elevation values - the values are labelled along the line work. All of them are at 0 elevation except for one, which is on 10 elevation.

We want to flag out the intersection point where there is a difference in elevation. One of the tools that can help us perform this is Safe FME. FME has some transformers that you can string together to perform the flagging of intersection points with elevation differences.

  1. Run FME Workbench. Add in a Source Dataset e.g. lines.shp. Add in a Destination Dataset e.g. flags.shp.

  2. Drag and drop the Intersector, Matcher, Counter Transformers onto the Main pane. Connect them up as shown in the figure below.


    Note: the Counter transformer is used to simply count the number of flags.

  3. Open up the Intersector transformer's Parameters. The settings should be set as shown below.


    Note: Duplicate Nodes as Each Elevation should be set to Yes. Then when an elevation difference is detected at the point of intersection, the Intersector transformer will output 2 nodess.

  4. Open up the Matcher transformer's Parameters.The settings should be set as shown below.


    Note: The Matcher will find(match) all duplicate nodes i.e. the nodes that have elevation differences. 

  5. Run the translation.

    The intersection points where there are elevation differences are flagged (shown as a red cross below).


Tuesday, December 15, 2009

Global Mapper Snapping to Line Work

Snapping to existing points, lines and polygons is important while digitizing. Knowing how Global Mapper handles snapping can help improve the data collection work. Sometimes, you may want to snap only to the vertices. At other times, you may want to snap along the line work. And sometimes, you may not want to snap at all.

Setting the Snap Mode
The snapping mode of Global Mapper can be set using the Configuration dialog box

  1. Select Tools > Configure.

    The Configuration dialog box appears.


  2. Click the tab Vector Display.

  3. In the list box, scroll down until the Only Snap to Area and Line Vertices by Default setting is shown.

  4. Depending on your situation, toggle on or off the Only Snap to Area and Line Vertices setting.

    Note: the keyboard shortcut V behavior would be reversed depending on this setting.

  5. Click OK.

    The snapping mode is set.

Using Snapping with Only Snap to Area and Line Vertices by Default off
  1. Digitize a new line and bring the cursor near to a line or polygon as shown below.

    The new line snaps on the line work and vertices of line or polygon.


  2. Press down and hold V.

    The new line will snap only to the vertices of the line or polygon.

  3. Now press down and hold ALT.

    The new line will not snap to anything.

Using Snapping with Only Snap to Area and Line Vertices by Default on


  1. Digitize a new line and bring the cursor near to a line or polygon.

    The new line snaps only to the vertices.


  2. Press down and hold V.

    The new line snaps on the vertices and along the line work.

  3. Press down and hold ALT.

    The new line will not snap to anything.




While digitizing lines, polygons and points in Global Mapper, you will probably want to snap to existing vectors' vertices, on the existing vectors' line work, or not at all.

Saturday, November 28, 2009

Export GeoMedia features and queries to ASCII text file

There is a useful extension to GeoMedia on the Intergraph support web site to unload geometry and attribute information to ASCII text files; it's called the ASCII Unloader. It is free but you need to login first before you can download and install the extension. I use if fairly frequently to take GeoMedia features and queries into another software package like Global Mapper. Once the ASCII Unloader extension is installed, there would a new ASCII Unloader entry to the Extensions pulldown menu within GeoMedia or GeoMedia Professional as shown below.

Using the ASCII Unloader is straightforward and the steps are generally self-explanatory as described below.
  1. In GeoMedia, select Extensions > ASCII Unloader.

    The ASCII Unloader - Output File Format dialog box appears.


  2. In the Features/Query to Unload drop down list, choose the desired feature or query e.g. Interstates feature.

  3. Next, in the Output filename field, click Browse.

    The Save Output ASCII File dialog box appears.

  4. Type in the output filename e.g. C:\Warehouses\Interstates.txt.Click Save.



  5. At this point, you can click Next if the default Output File Format settings are okay. Otherwise, you simply go to the appropriate fields and change e.g. from Comma Delimited to Space Delimited, or toggle on the Field names on first line, etc. A sample of how the changes affect the output file is shown in the Quick View box.

  6. Click Next.

    The Attributes to Output appear.


  7. In the Available attributes list, double click on the attributes you want to output.

    The attributes are selected and displayed in the Selected attributes list.

  8. In the Units & Precision list, select the type of the coordinates e.g. Projection.

  9. In the Available coordinates list, double click on the type to output e.g. Easting and Northing.

    The items are displayed in the Selected coordinates list.


  10. At this point, to see a sample of how the output file will look like, click View First 25 Records.

    The View Format dialog appears.


  11. Click Close. If necessary, change any settings you want.

  12. Click Apply.

    The ASCII text file is created.


Friday, November 20, 2009

Flagging dangles (free end points) with FME



FME has many transformers that you can mix and match to perform almost any kind of spatial data validation. A common task in data validation is to identify unconnected end points (commonly known as dangles or free end points) in the line work. In the sample data shown below, there are 5 dangles among the 8 vertices of the line work.

To get FME to identify the dangles, I used the Workbench to define the following transformation.

The steps are described below.
  1. Start the FME Workbench and open a blank workspace.

  2. Select Source Data > Add Dataset to add in a source dataset.

    For this example, I added in a ESRI shape file as the source dataset.


  3. Select Destination Data > Add dataset to add in a destination dataset.

    I chose to output the dangle flags as ESRI Shape point file.




  4. Drag and drop the following transformers onto the workbench:
    - CoordinateFetcher (2 times)
    - GeometryRemover
    - 2DPointAdder
    - Matcher

  5. Connect the transformers with the source and destination datasets as shown below.



  6. Open up the first CoordinateFetcher's properties.In the Index field, type in 0. Click OK.



    Note: this transformer will extract the line work's first vertex into the fields _x, _y, and _z.

  7. Open up the second CoordinateFetcher's properties. In the Index field, type in -1. Click OK.



    Note: this transformer will extract the last vertex of the line feature into the fields _x, _y, _z.

  8. Open up the 2DPointAdder transformer's properties. In the X-Value field, choose _x. In the Y-Value field, choose _y. Click OK.



    Note: the 2DPointAdder will create a new point from the _x and _y fields.

  9. Open up the Matcher transformer's properties.In the Match Geometry field, choose 2D.

    Note: In this example, in the Attribute(s) to match field, I chose _x, _y but this is redundant because the 2D point geometry already has the _x and _y coordinates. This field can be left blank.



  10. Run the translation.

    The dangles are created and flagged as red crosses below.


Friday, November 6, 2009

Finding out the digitized direction with a line style

In some GIS applications, it is necessary for the lines to be digitized in a certain direction. For example, in terrain modelling, lines representing drainage lines should be digitized from up to downstream. A simple trick to find out the direction of the digitized lines is to display an arrow head. I found Global Mapper to be very easy to assign a directional arrow line style to line features. All you have to do is define a new line type with the directional arrow style, then assign the line type to your line features.

  1. In Global Mapper, select Tools > Configure.

    The Configuration dialog box appears.


  2. Click the Line Styles tab if it is not active. Click New Type.

    The Setup Line Type Information dialog box appears.

  3. In the Type Name field, type in a name e.g. DigitizeDirection.

  4. In the Style drop down list, scroll down with the arrow down key and observe the sample display. Choose the style that has the arrow pointing to the right, e.g. Solid with Arrow P... (Sorry the name is too long to read from the dialog box).



  5. Click OK.

    The new line type is added.


  6. Click OK.

Now you can assign this line type to new or existing line features. If you digitize a new line feature, the following dialog box will pop up at the end of the digitizing.

In the Feature Type drop down list, choose the new line type created earlier e.g. DigitizeDirection. Click OK. As shown in the figure below, the line feature is stylized with an arrow head pointing in the digitized direction.


If the direction is incorrect, then you need to reverse the order of the line feature's vertices.