Any map, in any size, at any scale, in any projection, with any fonts, on any platform, using on-line or off-line data.
Routing and turn by turn navigation with configurable routing profiles and alternative routes.
CartoType can read its own compact data format, CTM1, out of the box. However, it can also be extended by a plug-in data accessor system to read data in any format. That means you can use your own data directly at run-time, without any conversion stage, by writing a new accessor to read from your data source in its native format. Data accessors are supplied for CTM1, SHP, and CloudMade vector data. Some licensees have also written their own proprietary data accessors. If you need help writing a data accessor, we can provide it. Data accessors can also be used by the standard data conversion tool to create CTM1 files from your data.
CartoType draws maps from vector data, allowing them to scale smoothly to any size. Maps can be rotated to any angle, panned, and drawn in perspective view.
XML style sheets give complete control over appearance. Colors, symbols, fonts, typographic effects, transparency, label priorities, dashed lines, highway shields, SVG graphics, and the relative sizes of features at all scales are easily specified. You can turn features and styles on an off at arbitrary scales, or according to other conditions chosen at run-time.
You can use TrueType, PostScript Type 1 and other font formats. A comprehensive set of TrueType fonts is supplied; you can if you prefer use fonts of your own choice. CartoType supports Unicode. Custom label formats can be used to draw map labels in more than one style (for example, draw the local name in bold face and the English version in italics). Text is drawn along linear objects like roads where appropriate, and track kerning, copy fitting, and line wrapping are also available. Labels do not overlap (unless you want them to). Text can be drawn in any color and can be rendered using shadow and glow effects.
A library of map projections is supplied; more can be provided on demand. Typically, data is pre-projected to Universal Transverse Mercator or plain Mercator by the supplied data preparation tool before being drawn. CartoType also has the ability to project data as it is being drawn, and can switch projections at run-time, or draw the map at different projections for different scales. All projections can be displayed in standard or perspective mode.
At present this means any platform that supports standard C++. CartoType runs on Microsoft Windows (32-bit and 64-bit desktop versions, and Windows Mobile), iOS for iPhone and iPad, MacOS, Android, Linux (and other Unix platforms) and Symbian. A .NET component is under development, and a pre-release version is available on request. We are confident that it can be ported to other platforms with relative ease. For example, the Android port took approximately three person-days; most of that time was taken up in understanding the Android SDK and building a sample application.
CartoType has a built-in routing engine that automatically uses the map data supplied to it. Routes can be displayed as integrated map layers or overlays, and can be styled and labeled using the style sheet, in the same way as other map features. Both vehicle and pedestrian routing are supported, with a profile system that allows you to control routing parameters in detail, for further customisation.
A navigation API provides all the support you need for turn by turn navigation including automatic route recalculation, turn instruction data, alternative routes, custom routes for freight, emergency vehicles, and other vehicle types, and walking and cycling routes
The map data preparation toolchain, supplied with CartoType, runs on Windows, Unix or MacOS. It takes data from multiple sources including ESRI Shapefiles and OpenStreetMap OSM files and combines it under the control of user-customisable rules to create compact map data files in CartoType's CTM1 format.
The standard API is an object-oriented C++ system. You create a singleton engine object, and as many map objects, database accessors, and other objects as you need. Most useful functions are member functions of the map class. Wrapper APIs are supplied for Android (in Java) and iPhone (in Objective C).
There is a high-level framework API that makes it easy to connect CartoType to your application and is the basis for platform-dependent adapters for iOS and Android.
CartoType is supplied to licensees as C++ source code, with sample code and pre-built libraries for various platforms, documentation, sample map data, and data preparation tools.