Для добавления в ГИС-приложение функционала отображения таблицы можно воспользоваться одним из следующих способов:
1. Реализовать создание и отображение таблицы с помощью Qt и отрисовывать ее поверх карты. При этом MAPAPI будет ответственно только за отрисовку карты.
Александр Савелов написал: 1. Реализовать создание и отображение таблицы с помощью Qt и отрисовывать ее поверх карты. При этом MAPAPI будет ответственно только за отрисовку карты.
Здравствуйте. Спасибо за совет, Александр. При первом способе непонятно как оставить эту информацию при обмене картой. При втором способе при попытке распечать карту большого размера проявится пикселизация, если я все правильно понимаю?
Александр Савелов написал: Не совсем понял, что имеется в виду - таблица, реализованная с помощью Qt, может, например, заполняться из какой-то внешней базы данных или файла.
Я создал пользовательский слой с объектами и обстановкой. Хочу на него добавить таблицу с некоторыми данными. Без таблицы стандартные пути передачи этой обстановки на другой компьютер, как понимаю следующие: 1. Передать на другой компьютер комплект sit+rsc файл; 2. Экспорт данных в формат sxf. Передача на другой компьютер комплекта sxf + rsc.
Не понимаю, как в указанные варианты включить данные таблицы, которые у меня есть в программе. Тогда, например, в ГИС "Операторе" на другом компьютере эти таблицы уже никак не отобразятся, если я их не передам каким-то стандартным способом.
Не знаю, как программно решается, но для "Оператора", как вариант - некая таблица XLS, добавленная явно через OLE. Или же - объект, в нем семантика ссылка на ту же таблицу... Тогда таблицу (файл XLS) также передавать вместе с "комплектом" данных.
Vitaliy Belenkov написал: Не знаю, как программно решается, но для "Оператора", как вариант - некая таблица XLS, добавленная явно через OLE. Или же - объект, в нем семантика ссылка на ту же таблицу... Тогда таблицу (файл XLS) также передавать вместе с "комплектом" данных.
Спасибо. Меня, к сожалению, больше интересует программная реализация под Астрой в частности.
Сергей написал: Не понимаю, как в указанные варианты включить данные таблицы, которые у меня есть в программе
В данном случае, если я все правильно понимаю, Вы используете вот этот предложенный подход:
Цитата
Александр Савелов написал: 1. Реализовать создание и отображение таблицы с помощью Qt и отрисовывать ее поверх карты. При этом MAPAPI будет ответственно только за отрисовку карты.
В данном случае, поскольку за отображение таблицы с помощью Qt ответственен код клиентского ГИС-приложения (без участия MAPAPI), то также в нем можно реализовать подгрузку таблицы с диска. Таким образом, можно вместе с картой передавать таблицу в формате html, а потом в коде клиентского приложения считывать ее и отображать поверх карты.
Сергей написал: Не понимаю, как в указанные варианты включить данные таблицы, которые у меня есть в программе
В данном случае, если я все правильно понимаю, Вы используете вот этот предложенный подход:
Цитата
Александр Савелов написал: 1. Реализовать создание и отображение таблицы с помощью Qt и отрисовывать ее поверх карты. При этом MAPAPI будет ответственно только за отрисовку карты.
В данном случае, поскольку за отображение таблицы с помощью Qt ответственен код клиентского ГИС-приложения (без участия MAPAPI), то также в нем можно реализовать подгрузку таблицы с диска. Таким образом, можно вместе с картой передавать таблицу в формате html, а потом в коде клиентского приложения считывать ее и отображать поверх карты.
Здравствуйте. Нет, я примерно так сделал, но понимаю, что это неправильно, т.к. хочу под астрой как-то нарисовать таблицу на карте, используя MAPAPI, передать эту карту на компьютер, где нет моего софта, но есть ГИС "Оператор", например, и чтобы там эту таблицу могли посмотреть.
Плюс с подходом, отображать с помощью Qt, я не знаю, как например, нарисовать эту таблицу размером метр на метр, чтобы вывести ее на печать.
Сергей написал: Здравствуйте.Нет, я примерно так сделал, но понимаю, что это неправильно, т.к. хочу под астрой как-то нарисовать таблицу на карте, используя MAPAPI, передать эту карту на компьютер, где нет моего софта, но есть ГИС "Оператор", например, и чтобы там эту таблицу могли посмотреть.Плюс с подходом, отображать с помощью Qt, я не знаю, как например, нарисовать эту таблицу размером метр на метр, чтобы вывести ее на печать.
Под windows использовались структуры, но их потом еще менял, по-этому оптимальный вариант использовать отображение с прикреплением файла через iml библиотеку(2-ой способ).
Код
typedef struct DOCFILEINFOMATION // 64-bytes
{
long int StructSize; // Размер структуры sizeof(DOCINFOMATION)
long int PartCount; // Число вставленных документов
long int Reserv[14];
}
TDocFileInfo;
typedef struct PARTINFOMATION // 128-bytes
{
long int StructSize; // Размер структуры sizeof(DOCINFOMATION)
RECT PartRect; // Координаты вставленного документа (16)
char Name[64]; // Имя вставленного документа
char View; // Флаг отображения OLE-документа (0/1)
char SizeMode[10]; // Режим размещения OLE-документа в окне OLE-документа // 22/04/04
char Reserv[33];
}
TPartInfo;
typedef struct BASESCHEMEINFOMATION // 64-bytes
{
long int StructSize; // Размер структуры sizeof(SCHEMEINFOMATION)
long int CountScheme; // Количество схем отображения встроенных документов
long int CurrentScheme; // Текущая схема отображения встроенных документов(начиная с 1)
long int Reserv[13];
}
TBaseSchemeInfo;
typedef struct SCHEMEINFOMATION // 256-bytes
{
long int StructSize; // Размер структуры sizeof(SCHEMEINFOMATION)
long int NumberScheme; // Порядковый номер схемы отображения встроенных документов
char NameScheme[64];// Имя схемы отображения встроенных документов
char IndexView[128];// Массив флагов отображения встроенных документов(0/1)
char Reserv[56];
}
TSchemeInfo;