Keymap SDK C plus plus Edition description
A set of C++ classes designed with the purpose of simplifying the development process of GIS applications for programmers
The Keymap SDK is a set of C++ classes designed with the purpose of simplifying the development process of GIS applications for programmers. The Keymap SDK C++ Edition supports a wide range of GIS features, include built-in GPS support, symbology and advanced road styles.
Unlike other GIS products which are usually shipped as ActiveX components, Keymap SDK is a set of C++ classes that can be easily embedded into your programs. Keymap SDK don't use MFC or any commercial GUI library in order to achieve maximum portability and performance.
Keymap SDK supports all Microsoft platforms, include Windows CE, Pocket PC 2003, Windows Mobile 5, and Windows Mobile 6. Same source code used for all platforms (99.9% code is shared, core engine code is identical) so you can do development in PC, migration to mobile platforms requires minimal effort.
Due to its unified programming interface, very small memory footprint, user-friendly graphical interface, high performance and easy portability, Keymap SDK is strongly believed to become a very useful tool for GIS software developers.
Here are some key features of "Keymap SDK C plus plus Edition":
· Custom drawing
One of most exciting features of Keymap SDK is an ability to custom-draw everything. Developer can set any layer USER layer, and define your functions to draw nodes, text, polylines, polygons etc. A Keymap layer can be NORMAL, USER, ROAD or POI. Developer can change layer type on-the-fly by calling one API method. Beside custom drawing of entire layer, developer
can draw his own objects over the map by processing WM_MAPVIEW_UPDATE message. Drawing can be done using DisplayDevice, or conventional Win32 device context HDC. This approach gives freedom to developer, so he can manipulate not only map data, but customize map view according to business needs.
· New indexing algorithm
Geo-spatial indexing is critical part for all GIS systems. Overall system performance depends on many factors, however indexing plays one of most important roles. We have implemented new indexing algorithm, that's about 20% faster then known approaches. Keymap applications can handle with very large GIS databases in limited devices like Pocket PC and Windows Mobile devices.
· Road and POI styles
Keymap SDK can render road data using user-defined color and styles according to current scale. This feature allow users to create good looking map. High quality of map output guarantied by advanced drawing algorithm with anti-alias enabled. Optimized core engine avoids performance degradation during map rendering. Styles are defined in very simple manner through graphics user interface:
* If scale is
and (Field#n = or any object) draw road with outline color and width and fill color and (label or pattern or annotation)
Beside road styles, POI styles also available. User can use any images to draw node objects. POI styles are defined in same manner as road:
* If scale is and (Field#n = or any object) draw node using image
· Built-in GPS support
Reading and parsing GPS sentence seems to be very simple task, however "do it right" not so easy. Keymap SDK has built-in field-proven GPS reader and parser. The parser can read raw data directly from GPS port, and can understand Microsoft GPS API. Simple, reliable and efficient GPS parser is ready for your application.
· Edit, undo and redo
Keymap SDK support editing map objects. User can add, delete and change all kind of map objects (geo data, properties, metadata). Developer can define any number of undo/ redo steps. Virtually Keymap SDK supports unlimited undo/ redo. The only limitation is device memory.
· Data protection (optional)
· Fast and reliable AES encryption is available as an option. Encryption operates transparently at disk access level. Encryption API is extremely simple and easy to use.
· Routing (optional)
* Extremely fast
with US map containing 30 millions nodes, in worse case required routing time is 6-7 minutes in PDA with 500MHz CPU, result route contains 15.000 nodes
with map containing 1 million nodes, 2.3 millions street objects (e.g. Washington DC), in worse case required routing time is 5-6 seconds in PDA with 500MHz CPU
* Routing between two points/ road/ POI
Requirements:
· Microsoft Visual Studio 2005
· Microsoft Visual C++ 6.0
· Microsoft Visual Studio .NET 2003
· eMbedded Visual C++ 4.0