Home Features

CartoType features

Our home page says that CartoType can draw any map, in any size, at any scale, in any projection, with any fonts, on any platform. Here is a more detailed description of some of CartoType's most important features to back up that claim.


Any map

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.

Any size

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.

Any style

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.

Any fonts

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.

Any projection

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.

Any platform

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), iPhone, Android 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. A JME (Java Micro Edition) version is in preparation but we cannot announce a release date yet.

Routing

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 an interface that allows you to control routing parameters in detail, for further customisation.

The CartoType API

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).

Deliverables

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.