Blue Marble Geographics

Version 3.0 - Global Mapper Software Developer Kit (SDK)

0

Leverage the power of Global Mapper with the Global Mapper Software Developer Kit (SDK)! Software developers can improve existing software, create custom stand-alone applications, or enhance the standard version of Global Mapper with custom extensions. The Global Mapper SDK provides a Windows DLL which allows much of the functionality of Global Mapper to be accessed from third party applications. The SDK includes both native 32-bit and 64-bit DLLs, so you can target any Windows system. The Global Mapper SDK is a standard Windows DLL and can be used with many programming language on a Windows platform, including Visual C++, Visual Basic, and Visual C#. It also comes with a helpful managed CLR wrapper component that makes developing managed code a snap.

Global Mapper SDK synchronizes the software developer toolkit with Global Mapper desktop software releases, which enables a more consistent release cycle. This ensures that software developers are able to work with the most current features and functions introduced to the desktop version of the software.

Interested in Writing an Extension to the Global Mapper Desktop?

Now customers can also create desktop extensions for Global Mapper. Global Mapper SDK Developers can extend Global Mapper Desktop functionality through toolbars and menu items by joining the Blue Marble Developer Network program to help promote their custom software. For more information contact sales (sales@bluemarblegeo.com) today.

Recent releases have focused on optimizing the speed of data display and exporting, especially when working with very large raster or terrain datasets. Improvements have also been made to LiDAR rendering and processing with the speed of point cloud gridding measured at four to 10 times faster depending on number of cores and processing power. A completely redesigned 3D View now offers 'Infinite Terrain' capability allowing the entire extent of any loaded terrain or point cloud dataset to be displayed with the detail level dynamically updated as the 3D View is zoomed or panned.

Since version 16, an add on LiDAR Module is available for the Global Mapper SDK. Advanced LiDAR functionality can now be added to the standard SDK product activating a host of powerful LiDAR tools, including automatic reclassification, feature extraction for rendering 3D buildings/trees/power lines, and advanced point cloud filtering options. Included in the latest release of the LiDAR Module is automatic classification of high and low noise points as well as calculation of basic rooftop statistics from point clouds.

Load Maps and Display Data

The Global Mapper SDK provides a Windows DLL which allows much of the functionality of Global Mapper to be accessed from third party applications. The SDK includes both native 32-bit and 64-bit DLLs, so you can target any Windows system. The Global Mapper SDK is a standard Windows DLL and can be called from just about any programming language on a Windows platform, including Visual C++, Visual Basic, Visual C#, and Java with JNI. The SDK has the capability of leveraging multiple cores to increase processing speeds and utilize the full power of a 64-bit system.

With the Global Mapper SDK, load any number of layers from almost all of the formats supported by Global Mapper. This includes nearly all imagery, elevation, and vector data formats. The SDK can be used to load data from online WMS sources, including built-in access to NED, SRTM, and Landsat7 sources (among others). It can even load imagery that has not been geo-referenced by providing ground control points and projection. The DLL will perform the rectification and display the raster layer in the appropriate projection.

Manipulate and Analyze Data

The Global Mapper SDK can be used to initiate a variety of spatial data analysis procedures:

  • Determine the elevation at any location from loaded elevation layers
  • Retrieve information about loaded layers, including projection/datum, bounding rectangle, description, ground control points, pixel size, etc.
  • Generate contour lines from loaded elevation grid layers
  • Calculate cut-and-fill volumes along a given line or within an area
  • Re-project loaded data to a user-specified projection/datum
  • Auto-clip the collar from USGS DRGs
  • Re-project coordinates from one projection/datum to another projection/datum
  • Modify the drawing style and font of all loaded vector data, including your own custom vector layers
  • Perform a position-based search of loaded vector data (similar to the Feature Info tool in Global Mapper)
  • Calculate the volume between 2 terrains as well as find ridge lines on loaded terrain data
  • Many powerful features for working in 3D
  • Enhanced LiDAR analysis and editing functionality

Spatial Database Support

As well as providing access to spatial data files, the Global Mapper SDK offers the option to read and write data to a spatial database. Import and export data from:

  • Esri ArcSDE (requires Esri license on machine and 32-bit only)
  • Esri File Geodatabase (includes raster and grid and all versions of file geodatabses, requires Esri license on machine and 32-bit only)
  • Esri Personal Geodatabase (requires Esri license on machine and 32-bit only)
  • MS SQL Server
  • MySQL Spatial
  • Oracle Spatial
  • PostGIS/PostgreSQL
  • SpatiaLite/SQLite

Work in 3D

The Global Mapper SDK provides the ability to display the Global Mapper 3D view with loaded terrain and 3D vector features along with any other data draped on top of the terrain surface. It can also retrieve the elevation at any location from loaded elevation layers and it can even perform view shed analysis using loaded elevation grid layers as well as vector data (areas, lines, and points) with elevation values associated with them. The latest version has added many significant updates for working with 3d data:

  • Support for several 3D formats, for a complete list click here
  • Support for setting up and recording HD 3D fly-through videos
  • Support for a Skybox in 3D, rendering a sky simulation
  • Support for tracking GPS in 3D
  • Support for 3D textures and meshes into GMP files

LiDAR Analysis and Editing

The enhanced LiDAR analysis and editing functionality available in the Global Mapper SDK provides developers with the option to add powerful tools including the ability to automatically classify building and trees as well as the following:

  • Automatic classification of ground, building and vegetation points from unclassified LiDAR point clouds
  • Feature extraction to render building and trees
  • Gridding of point cloud data and support for min/max/average gridding
  • Support for gridding LiDAR intensity or height above ground values rather than elevation
  • Filter LiDAR points by class, elevation, color, scan-angle and source-ID when exporting, gridding, and selecting from point clouds
  • Accurately transform coordinates in a LiDAR point cloud performing functions such as shift, rotate, and scale

Global Mapper's extensive import and export file compatibility ensure that it is one of the most interoperable GIS applications available today and make it an affordable must-have for all GIS professionals.

The following list outlines the currently supported data formats:

Spatial Databases

Import and export data from your spatial databases. Global Mapper includes support for the following spatial databases:

  • Esri ArcSDE (requires ESRI license on machine and 32-bit only)
  • Esri File Geodatabase (includes raster and grid and all versions of file geodatabses, requires ESRI license on machine and 32-bit only)
  • Esri Personal Geodatabase (requires ESRI license on machine and 32-bit only)
  • MS SQL Server
  • MySQL Spatial
  • Oracle Spatial
  • PostGIS/PostgreSQL
  • SpatiaLite/SQLite

New in v16.0

Significant New Features

  • Dramatically faster processing speeds by leveraging multiple cores, significantly reducing the processing time required for operations like contour generation, view-shed calculations, gridding, and re-projecting layers that cover a large area of the world.
  • Many significant updates for working with 3D data
    • Support for several 3D formats, for a complete list click here
    • Support for setting up and recording HD 3D fly-through videos
    • Support for a Skybox in 3D, rendering a sky simulation
    • Support for tracking GPS in 3D
    • Support for 3D textures and meshes into GMP files
  • The ability to automatically classify building and trees
  • Feature extraction to render building and trees
  • Filter LiDAR points by class, elevation, color, scan-angle and source-ID when exporting, gridding, and selecting from point clouds
  • Support for gridding LiDAR intensity or height above ground values rather than elevation
  • Added option to filter LiDAR point clouds when gridding, filter is used to determine what points are in the grid
  • Added new built-in point type for Railroad ASPRS class 10 (LiDAR, Railroad)
  • Added support for coloring points by the point index
  • Updated ASTER GDEM v2 worldwide terrain data set for higher resolution and much faster server
  • Many new scripting commands for automating LiDAR functionality and other tasks
  • Added mUsedDefaultProj command to GM_LayerInfo_t so you can identify the presence of a default projection in any given layer
  • Support for generating contours at a single height by setting the new GM_ContourParams_t.mSingleLevelOnly option to 'True'
  • New GM_ColorFormat_t32 types for displaying 24-bit RGB or BGR in-memory images from GM_DrawLayerListToMemory
  • Enhanced importing/exporting of KML/KMZ files in multiple running threads. Now the temporary files are stored in separate folders for each instance to avoid collisions
  • Updated PDF support to use QuickPDF v10. If you need PDF support you will need a QuickPDF v10 unlock code from http://www.quickpdflibrary.com

New in v15.2

  • Numerous new online datasources including the full Maine GIS catalog, aviation charts and Open StreetMap vector data via WMS.
  • Added support for displaying and exporting text in multiple languages. Use GM_SetLayerCodePage to set code page interpretation for layer. Use GM_GetLayerInfo to get the code page.
  • Added conditional processing via new commands IF/ELSE_IF/ELSE/END_IF. This allows conditional execution of groups of commands based on some variable value.
  • Many new formats enhancements and improvements including 3D models from Collada DAE files Added option to load BMP, JPG, PNG, and TIFF images with no geo-position information directly, improved 3DPDF support, and enhancements to CityGML.
  • Added GM_SetMiscOptionEx function and new logging options GM_MiscOpt_SetLogLevel, GM_MiscOpt_SetLogFilename, and GM_MiscOpt_SetTimingsFileName. These allow specifying a filename to save log messages to and also what level of messages (debug, warning, error, etc.) to log.
  • Greatly sped up rendering of some layers when reprojected, particularly online sources that use Web Mercator when displayed in Geographic or Mercator/WGS84.
  • Fixed Security Vulnerability in NCSECW.dll (CVE-2010-3599).
  • Fixed OpenSSL Heartbleed vulnerability. This only affected the PostgreSQL support.
  • Updated XTF (eXtended Triton Format) import to create mosaic from sidescan sonar data.
  • Added support for additional HDF5 elevation grid data formats.
  • Added support for loading AVS UCD format with 3D TIN features.
  • Added support transforming the coordinates of Lidar point clouds, including graphically rectifying them, providing a transform (shift, rotate, and scale), and doing a file-based coordinate-to-coordinate transformation, including via .gm_xform file. Previously the only transformation available for Lidar point clouds was reprojection.
  • Added support for auto-classifying ground points in Lidar points clouds in a script using new LIDAR_CLASSIFY command.
  • Fixed bug with creating of grid using binned grid methods to Feet elevation units creating a grid that says meters when the values are in fact feet.

New in v15.1

  • SDK Function Updates
    • Added GM_SaveWorkspaceEx so you can save a workspace file with a custom layer ordering or subset of layers.
    • Added GM_RemoveCustomBrushStyle function to allow removing a previously added custom brush style.
    • Allow cancel of draws using the GM_DrawFlags_IncrementalRender flag. Return FALSE from the progress callback when GM_PROGRESS_RENDER_UPDATE is provided.
    • Updated GM_FindFeaturesInArea to also find partially overlapped lines and areas if you pass in a GM_FindFlags_PartialOk flag.
  • Major Improvements also in GM15.1
    • Added support for loading data from and exporting data to MS SQL Server Spatial databases.
    • Updated the Raster Calculator to support calculations from elevation grid layers. You can now apply any custom formula to loaded terrain layers to create a new terrain layer. The layer may actually be a grid of other non-elevation values, like NDVI values, etc., so this opens up an entirely new set of analysis possibilities.
    • Dramatically sped up raster/elevation exports cropped to complex area features. For very complex areas (i.e. hundreds or thousands of vertices) the exports may be 10x as fast or even better!
    • Added built-in links several online sources, including all NASA GIBS (Global Imagery Browse) sources, Landsat8 imagery and Lidar data from the USGS EarthExplorer web site, and GlobCover ESA2009 Land Cover data.
    • Added new Recent File Types filter in the GM_SelectFiles dialog to track commonly used file types. As you open files those you use the most often will be added to that filter. It will start with the contents of the Commonly Used Formats filter, but will adapt over time as you use the software.
    • Added support for loading generic MS Access (MDB) files with point data. Users are prompted for the fields to pull coordinate data from. This works for things like GPSeismic files. Note that because there is not a 64-bit MS Access driver generally available you have to use the 32-bit Global Mapper SDK to load these files.
    • Added support for loading Leica PTS point cloud, ECRG toc.xml, ECW v3, Trimble Field Survey XML, Kongsberg SIS plan format, and Finnish Land Siurvey GML files.

New in v15

  • Significant New Features
    • New raster calculator features mathematical operations for work with multi-band imagery for extracting and leveraging a variety of information from the imagery using pre-defined formulas, like NDVI and NDWI, or custom free-hand formulas.
    • New binning methods for gridding LiDAR point clouds. Create a regular grid from the minimum, maximum, or average value in individual 'buckets'. This method is extremely fast compared to the normal triangulation-based approach.
    • Ability to edit and re-calculate multiple view shed layers.
    • Faster drawing of reprojected and large LiDAR point clouds by using multiple cores/processors.
    • Added GM_GetLayerLidarStats function to get LiDAR statistics from a point cloud layer.
    • Added support for saving LiDAR statistics from a script.
    • Scripting enhancements such as passing variables to the script from the command line.
    • Updated ECW/JPEG2000 read support to use new ECW SDK v5.0 from Intergraph.
    • Added support for drawing points from a point cloud as a 'height above ground'. This will determine a ground elevation for all locations under the point cloud (using classified ground and water points if available) and then display the height relative to that.
    • Added support for new ASPRS classifications 40-45 from Topo-Bathy Profile for bathymetric points.
  • New Supported Formats
    • Added support for importing and exporting 3D PDF files. Underlying data format in PDF 3D Annotations may be U3D or PRC. However PRC is not supported at this time.
    • Added support for loading E57 LiDAR files.
    • Added support for CMIP5 HDF5 data sets with sea surface temperatures.
    • Added support for loading text files with the coordinates stored as ECEF (Earth-Centered Earth-Fixed) coordinates. The Coordinate Format drop-down on the ASCII Text Import dialog has an option to specify that the coordinates are ECEF.
    • Added support for GCP (control-point) files with the pixel coordinates specified as a percentage value rather than an absolute pixel coordinate. Useful when users have text placement files with just the corner coordinates users can easily add 0% or 100% for the X and Y pixel coordinates of each corner to get a good placement.

New in v14.2

  • Many scripting updates and additions, including support for calculating attributes, splitting layers, and interactively prompting users for files and folders.
  • Added Filter/Noise/Median resampling method for removing noise from image and terrain layers. Different sizes are available so you can control how large of an area is examined for doing the filter.
  • Added GM_GetPixelBandValue to allow getting the original high-bit depth values from multi-band image layers.
  • Added GM_GetAvailableOnlineSourceList function to get the list of available online sources for load with GM_LoadOnlineLayer.
  • Added support for custom tile filenames when doing a GM_ExportWebFormat call. You can provide the custom tile filename layout with the GM_WebFormatExportOpts_t.mCustomTileFName value.
  • Fixed many issues when using the SDK from multiple threads, making SDK calls less likely to need thread protection wrapped around them.

New in v14.1

  • Added new function GM_GetLidarPoint to access LiDAR point features in a layer.
  • Added new function GM_SetLidarPoint for modifying LiDAR point cloud features in a layer.
  • Added new functions for exposing spatial database connectivity. These are declared in the GlobalMapperInterface_DB.h file.
  • Added support for exporting CADRG/CIB data sets using the GM_ExportRasterEx function.
  • Added new GM_RunScript function for easily running a Global Mapper script file.
  • Added new GM_FindFeaturesInArea function for easily getting a list of vector features (areas, lines, and/or points) that are in a given area feature.
  • Added new GM_CreateVectorLayerFromFindResults function for easily creating a new vector layer from the results of a find operation.
  • Added new GM_GetLoadedLayerList function for easily getting list of loaded layers.
  • Added new GM_SetLayerPalette function to allow updating the colors in a loaded palette-based layer.
  • Updated GM_GenerateWatershed to support finding ridge lines rather than watersheds by passing in a GM_Watershed_FindRidgeLines flag.

New in v14

  • Added support for spatial databases (see list below) for both import and export (currently only via workspace load using GM_LoadLayerList function).
    • ESRI ArcSDE (requires ESRI license on machine and 32-bit only)
    • ESRI File Geodatabase (includes raster and grid and all versions of file geodatabses, requires ESRI license on machine and 32-bit only)
    • ESRI Personal Geodatabase (requires ESRI license on machine and 32-bit only)
    • MySQL Spatial
    • Oracle Spatial
    • PostGIS/PostgreSQL
    • SpatiaLite/SQLite
  • The ability to calculate the volume between 2 terrains as well as the ability to find ridge lines on loaded terrain data.
  • Added support for adding WFS (Web Feature Services) online data sources for dynamically loading online vector data sources.
  • Added support for adding WMTS (tiled WMS) online data sources.
  • Added GM_GetFeatureElevation function for retrieving the elevation of a single feature.
  • Many new formats, including support for writing CADRG/CIB and ASRP images and reading/writing Garmin JNX format files.
  • Additional import formats.

Customer reviews

No reviews were found for Version 3.0 - Global Mapper Software Developer Kit (SDK). Be the first to review!