GLG Map Server
Embedded Use on ARM Boards and Devices
List of Features
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.
map server supports a
variety of data in both raster image and vector formats.
data appear crisp and precise
regardless of the resolution of the image and is ideal for
representing such elements as cities and towns, roads
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:
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.
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#, ActiveX or GLG Graphics Server 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.
The map server library is available for both ARM6 and ARM7 architectures, including the Beagle Bone and Raspberry Pi boards. The library supports all map server features and makes it possible to deploy a GIS application on a stand-alone embedded system.
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 ActiveX 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.
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.
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 GLG Graphics Server 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.
Select one of the following links for purchasing and pricing information:
NASA Earth Image Dataset, Orthographic Projection
NASA Earth Image Dataset, Rectangular Projection
Sample of the Open Street Map Dataset
Sample of the US 0.5m Aerial Images Dataset
Sample of Elevation Data used as Shaded Relief