Меню Файл-Экспорт в ... Матрицы высот (TXT,TIFF) и выбрать расширение TXT Второй вариант экспорта в TXT : Комплекс 3D анализа [URL=http://gisinfo.ru/download?id=226]http://gisinfo.ru/download?id=226[/URL] панель "Импорт и экспорт" - кнопка "Экспорт матриц высот в TXT" и кнопка "Экспорт матриц качеств в TXT" (выбрать Тип матриц = MTW).
Для построения матрицы высот внутри объекта карты (в частности - внутри рамки листа) используется параметр
HOBJ Border; // Идентификатор замкнутого объекта при создании // матрицы высот MTW по векторной карте функцией mapBuildMtw. // По данному объекту устанавливается рамка создаваемой матрицы
Попробуйте перед вызовом mapCloseData вызвать дополнительно mapSaveMtq() - сохранить изменения матрицы в файле. А в остальном вроде бы всё правильно написано.
Сообщаю результаты проверки создания MTQ по Вашей карте. Проверка выполнялась путём вызова API-функций, без применения GIS ToolKit. Проверка выполнена успешно, матрица качеств создаётся. Предлагаем обновить библиотеки GIS ToolKit (если это необходимо) и повторно проверить построение.
Далее - текст примера вызова функции mtrBuildMatrixSurface.
// Построение матрицы качеств по данным векторной карты //------------------------------------------------------------------------- int rc = mtrBuildMatrixSurface(hMap, "AGRO.MTQ", &MtrParm); //-------------------------------------------------------------------------
if (rc) MessageBox(0, "СОЗДАНИЕ МАТРИЦЫ", " ВЫПОЛНЕНО ", ID_OK); else MessageBox(0, "СОЗДАНИЕ МАТРИЦЫ", " НЕ ВЫПОЛНЕНО ... ", ID_OK);
Причину сообщения "Ошибка моделирования поверхности" трудно выяснить "заочно" - без данных. Просим выслать карту (или её фрагмент), по которой выполняется построение MTQ [URL=mailto:panorama@gisinfo.ru]panorama@gisinfo.ru[/URL]
Создавать пустую матрицу для данной функции не нужно, функция сама должна создавать файл mtq. Попробуйте пожалуйста вот такой вариант: 1) обнулите всю структуру surface перед заполнением, 2) задайте метод surface.Method = 9; (Логарифмическая интерполяция).
Функция mtrCalcCharacteristic выполняет вычисление характеристики по найденным ближайшим значениям. Значения характеристики для вычисления результата берутся из объектов карты (карта - 1-ый параметр). Поиск объектов карты выполняется по 8 секторам (центр секторов - в заданной точке). Используются только разные ближайшие значения. Метод вычисления результата - средневзвешенная интерполяция.
// Вычисление значения характеристики в заданной точке // по данным векторной карты. // Характеристика задается кодом семантики - semanticCode. // Координаты точки (point->X,point->Y) задаются в метрах в // системе координат векторной карты. // Вычисленное значение характеристики заносится в value. // flagSelect - флаг использования условий отбора объектов карты. // Если flagSelect = 0, то выполняется поиск заданной характеристики // по всем объектам векторной карты. // Если flagSelect = 1, то поиск заданной характеристики выполняется // только по объектам, удовлетворяющим условиям отбора (HSELECT), // установленным для векторной карты. // В случае ошибки возвращает 0
long int MTREXPORT mtrCalcCharacteristic(HMAP hMap, DOUBLEPOINT* point, long int semanticCode, long int flagSelect, double* value);