Generic Logic, Inc.

GLG Map Server

Online Demos Evaluate

Data Formats

Web-Server or Library API Usage

Embedded Use on ARM Boards and Devices

Integrated Use with  the Toolkit

Coordinate Conversion and Data Queries

Map Server Setup and Usage

Image Gallery

Online Demos


List of Features

Supported Platforms

Pricing Information


The GLG Map Server is a sophisticated GIS Map Server that provides the ability to generate highly detailed real-time map images. These images serve as a background which provides contextual information; either static or dynamic icons may be placed on top of the images to visualize positions of moving objects, such as airplanes, delivery vehicles, patrol cars and other objects of interest.

The GLG Map Server can scale to any level of detail -- from images of the entire globe to street-level detail of a large metropolitan area, or a map of an airfield. Since the Map Server can handle both image and vector data, elaborately colored satellite earth images can be shown overlaid with crisp vector details on top. The map server automatically switches layers based on the selected zoom thresholds and the current zoom factor, displaying more detailed images as the user zooms in. A tile cache is used for faster rendering, reusing the tiles which have already been displayed.

 The map server supports orthographic and rectangular projections. The orthographic projection may be used to render map image in the shape of the globe, while the rectangular projection renders latitude and longitude grid as straight lines. The map server also supports map rotation for displaying the map the way it is visible to a pilot or driver.

The map server provides numerous features to efficiently handle the ever-changing needs of a modern application. It includes such features as layering, alpha-blending and transparency, hierarchical tiling, tile caching, culling and decluttering for optimized performance, dynamic attribute thresholds, coordinate conversion and elevation data queries, and many other features.

Data Formats

The map server supports a variety of data in both raster image and vector formats.

Vector data appear crisp and precise regardless of the resolution of the image and is ideal for representing such elements as cities and towns, roads and streets, populated areas and country boundaries.

Raster image data can greatly enhance the look and sophistication of a map image by providing vivid and colorful details to compliment the additional vector data (roads, etc.) overlaid on top of the image. One example of raster image data is a NASA Earth Image dataset, which is frequently used in various Earth images. The map server provides several special alpha-blending and transparency modes for overlaying semi-transparent weather maps on top of other raster and vector layers.

Elevation data is a special case of the raster image data which can be used to display elevation as color-coded thresholds or shaded relief image. It may also be used to query elevation of a particular point on the map.

Several vector and raster GIS datasets are available and can be obtained from Generic Logic:

  • Open Street Map (OSM) dataset contains vector data for the whole Earth down to the street level and buildings details (100 GB).

  • US Census/Tiger is a smaller (10 GB) dataset that provides street-level detail for the continental United States.

  • Digital Chart of the World (DCW / VMap0 / VPF) is a compact (2 GB) dataset that provides country, shoreline, political boundary, vegetation, roads, railroads and other data for the whole world.

  • World 15m Satellite Images dataset (800 GB) provides raster data of medium resolution (15 meters per pixel) for the whole world, while a smaller (550 MB) World 250m dataset provides lower resolution images.

  • US 0.5m Aerial Images dataset provides high resolution (0.5 meters per pixel) aerial data for the United States on per-state basis (approx. 100 GB per state).

The datasets are preprocessed into a hierarchical tiled layout for optimum performance with the Map Server and include a complete set of setup files.

Proprietary GIS data can also be configured to be used with the GLG Map Server.

Web-Server or Stand-Alone Library API Usage Mode

The GLG Map Server can operate both as a web-based GIS Map Server or stand-alone library API. In the stand-alone mode, the map server can be used as a C/C++ library  linked with a program: this mode may be used for applications installed on local machines that want to avoid using an Internet connection to receive map images. When linked with an application as a library, the map server does not require any connections to the outside world, providing a small and self-contained map generation module for real-time and embedded applications.

In the web-based server mode, one map server set up on a web server can be used to provide images to multiple Java, C/C++/C#, or HTML5/JavaScript clients, without a need to install GIS data locally on each of the client's machines. The web-based map server complies with the OpenGIS standard.

If the application developer does not want to deal with writing code for requesting map images from the Map Server when the application windows gets resized, zoomed or panned, the GLG Toolkit provides an integrated GIS Object that transparently handles all low-level interaction with the map server.

Embedded Use on ARM Boards and Devices

The map server library is available for both ARMv6, ARMv7 and ARMv8 AArch64 architectures, including the Beagle Bone, Raspberry Pi and NVIDIA Jetson Nano boards. The library supports all map server features and makes it possible to deploy a GIS application on a stand-alone embedded system.

Integrated Use with  the Toolkit

The Map Server may be used in conjunction with the GLG Toolkit via the integrated GLG GIS Object, which incorporates maps into a GLG drawing and the GLG Graphics Builder. It can be used in both the C/C++, Java and HTML5/JavaScript versions and is available on various Unix, Linux  and Windows platforms.

When the map server is used with the GLG Toolkit, the toolkit's resource-based interface and simple API provide a convenient way to interact with the GIS object in the drawing, shielding the user from the complexity of the Map Server and transparently handling zooming, panning, resizing, dynamic updates and user interaction.

The Map Server and the GIS Object provide a powerful interface for creating and debugging GIS enabled applications, saving weeks of development time by using the rapid prototyping capabilities of the GLG Graphics Builder. Instead of painstakingly editing configuration files and manually testing the Map Server's output, the output of the Map Server can be tested on the fly through the point-and-click interface of the Graphics Builder. The Run mode of the Builder can be used for zooming in and out of the map to test map appearance and layer switching, as well as selecting the map area for the application start-up.

Using the Builder, the graphical front end of a GIS application can be designed and prototyped interactively, eliminating the time consuming edit-and-compile cycles. The layout of such an application can be completely defined in the Graphics Builder without writing a line of code, making its customization as easy as editing simple polygons in the Graphics Builder. The resource mechanism used in the GLG Toolkit transcends the GIS Object, allowing resource-based run-time access to its attributes.

Coordinate Conversion and Data Query Functions

The map server provides coordinate conversion functions to facilitate development of interactive GIS applications. For example, an application might need to display vehicles or airplanes on top of a map, which requires to convert latitude/longitude coordinates to the tangible coordinates on screen. Another example is finding out the latitude/longitude coordinates of the point on the map defined by the user with the mouse, which requires the reverse conversion of the screen coordinates to the latitude and longitude on the map. The map server provides a set of coordinate conversion functions for both conversions. When the map server is used inside the toolkit, the integrated GIS Object hides all low-level interaction with the map server and provides a high-lever conversion functions which are even easier to use.

The map server also provides functions for querying elevation data at a particular point on the map, defined in either screen coordinates or latitude and longitude. The coordinate conversion and elevation data queries are supported in both the Library API and Web-Server mode. In the web-server mode, the result of the query is returned in the XML format as required by the OpenGIS standard.

Map Server Setup and Usage

One of the many advantages of the GLG Map Server is its user-friendly setup. All data to be used with the map server resides in one directory hierarchy. This data can be stored anywhere and accessed from anywhere. Also, there is no need for running a daemon in the background, so use of the Map Server is extremely versatile and far-ranging. It can be used as a Web-based map server, or linked directly into an application as a C/C++ library. Thus, an application does not require any complex networking code to fetch images from an online server and can be run in a stand-alone and completely self sufficient fashion. Without the networking code, the Map Server can be safely used in real-time and embedded environments where image generation time must be guaranteed.

When used as a web-based server, the Map Server can serve images to Java and C# applications, as well as HTML5/JavaScript applications that need to display maps. The online GIS Visualization Demo demonstrates the web usage.

The use of the Map Server with the GLG Toolkit strikes a balance between a small number of heavy-weight yet inherently dynamic GLG objects and myriads of light-weight static objects rendered by the map server. The GLG Toolkit facilitates the creation of interactive objects which a user may customize indefinitely, while the Map Server can generate map images with millions of points in seconds. The combination of the two allows a user to create elaborate and robust GIS applications with an unprecedented degree of dynamics.

While many graphics applications are highly dependent on the use of a windowing system, the GLG Map Server has its own high-performance rendering engine. Since it runs independently of the graphical environment, the maps it generates are guaranteed to be identical across all platforms. Furthermore, this allows the Map Server to operate on headless servers.

List of Features

  • Rendering millions of points, with optimizations for culling and decluttering
  • Hierarchical tiling and tile cache
  • Vector data support
  • Raster image data support
  • Elevation data rendering and querying capabilities
  • Rectangular and Orthographic projections
  • Map rotation support for the "pilot view" displays
  • Unlimited layering
  • Image anti-aliasing
  • Full alpha-blending and transparency support
  • Dynamic Attribute thresholds
  • Run-time access to the layer attributes (C/C++)
  • Fallback image support for efficient displays of large areas
  • Automatic layer switching depending on the current zoom factor and defined thresholds
  • User-defined or automatically adjusting adaptive grid
  • Support for user-defined symbol icons
  • Self-contained C/C++ library or Web Server mode
  • Integrated with the GLG Toolkit for dynamic display capabilities
  • OpenGIS standard compliance
  • Available on Unix, Linux and Windows platforms

Click here to see the Image Gallery.

Click here for the Map Server Documentation.

Purchasing and Pricing Information

Select one of the following links for purchasing and pricing information:

NASA Earth Image
NASA Earth Image Dataset, Orthographic Projection
NASA Earth Image Dataset
NASA Earth Image Dataset, Rectangular Projection
Sample of the Open Street
                Map dataset
Sample of the Open Street Map Dataset
Sample of the US 0.5m Aerial
                Images Dataset
Sample of the US 0.5m Aerial Images Dataset
Sample of Elevation Data
Sample of Elevation Data used as Shaded Relief