Overview
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:
|