Добрый день.
Создание и заполнение матрицы качеств смотрите в mapapi в mtrapi.
Примеры функций.[CODE]
// Создать матрицу качеств
// Возвращает идентификатор открытой матричной карты (TMapAccess*)
// Структуры BUILDMTW,MTRPROJECTIONDATA описаны в maptype.h
// palette - указатель на палитру
// countpalette - количество цветов в палитре
// name - имя файла создаваемой матрицы
_MAPIMP HMAP _MAPAPI mapCreateMtq(const char *name, BUILDMTW *parm,
MTRPROJECTIONDATA *projectiondata,
COLORREF* palette, int countpalette);
_MAPIMP HMAP _MAPAPI mapCreateMtqUn(const WCHAR *name, BUILDMTW *parm,
MTRPROJECTIONDATA *projectiondata,
COLORREF *palette, int countpalette);
// Занесение значения в элемент матрицы,
// соответствующий заданной точке.
// hMap - идентификатор открытой основной карты
// number - номер матрицы в цепочке.
// Координаты точки (x,y) задаются в метрах
// В матрицу заносится значение элемента с учётом единицы измерения.
// Заносимое значение равно h, умноженному на 10 в степени n,
// где n = mapGetMtqMeasure().
// В случае ошибки возвращает ноль.
_MAPIMP long int _MAPAPI mapPutMtqValue(HMAP hMap, long int number,
double x, double y, double h);
[/CODE]
Как вариант, Вы можете создать пользовательскую карту и из БД нанести на нее точечные объекты.