IEaxDataAreaSlice.Topobase

Синтаксис Fore

Topobase: ITopobase;

Синтаксис Fore.NET

Topobase: Prognoz.Platform.Interop.Topobase.Topobase;

Описание

Свойство Topobase определяет топооснову, на базе которой строится карта экспресс-отчета.

Комментарии

В топооснове картографические данные содержатся в виде набора слоёв. Каждый слой описан специальными атрибутами и представят собой отдельный класс картографических данных. Например, слой  с координатами городов или слой, описывающий контуры государств.

Для сброса топоосновы на заданную в репозитории по умолчанию используйте метод IEaxDataAreaSlice.ResetTopobase.

Пример Fore

Для выполнения примера в репозитории необходимо наличие карты с идентификатором «RF» и экспресс-отчета с идентификатором «EXPRESS_TOPOBASE». Отчет должен содержать карту.

Добавьте ссылки на системные сборки: Express, Metabase, Topobase.

Sub UserProc;
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    DataArea: IEaxDataArea;
    Slice: IEaxDataAreaSlice;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Analyzer := MB.ItemById("EXPRESS_TOPOBASE").Edit As IEaxAnalyzer;
    // Получим область данных
    DataArea := Analyzer.DataArea;
    // Получим срез данных
    Slice := DataArea.Slices.Item(0);
    // Определим топооснову
    Slice.Topobase := MB.ItemById("RF").Bind As ITopobase;
    Analyzer.MapChart.Visible := True;
    // Сохраним изменения
    (Analyzer As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера будет определена новая топооснова, на базе которой будет построена карта в экспресс-отчете.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore совпадают с примером Fore.NET.

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Topobase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    DataArea: IEaxDataArea;
    Slice: IEaxDataAreaSlice;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Analyzer := MB.ItemById["EXPRESS_TOPOBASE"].Edit() As IEaxAnalyzer;
    // Получим область данных
    DataArea := Analyzer.DataArea;
    // Получим срез данных
    Slice := DataArea.Slices.Item[0];
    // Определим топооснову
    Slice.Topobase := MB.ItemById["RF"].Bind() As Topobase;
    Analyzer.MapChart.Visible := True;
    // Сохраним изменения
    (Analyzer As IMetabaseObject).Save();
End Sub;

См. также:

IEaxDataAreaSlice