Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Оператор Create Legend

Оператор Create Legend

Назначение:

Открывает новое окно Легенды, для определенного окна Карты или Графика.

Синтаксис:

Create Legend

[ From Window window_ID ] [ { Show | Hide } ]

где

window_ID – целочисленный идентификатор открытого в рабочем окне MapInfo окна Карты или Графика.

Описание:

Этот оператор создает дополнительное окно "Легенда" в добавок к стандартному окну легенды в рабочем окне MapInfo. Последнее Вы можете открыть оператором Open Window Legend.

Оператор Create Legend может быть Вам полезен, если необходимо вывести на экран Легенду Карты, когда окно Карты открыто, но не активно. Этот оператор полезен в приложениях, использующих т.н. “интегрированную картографию”, в которых окно MapInfo вставляется в другую программу, например, созданную при участии Visual Basic. Концепция и описание интегрированной картографии содержатся в 12 главе Руководства пользователя MapBasic.

Если Вы добавите предложение From Window, новая легенда считается порожденной определенным в этом предложении окном; иначе новое окно Легенды считается порожденным последним активным окном Карты.

Если в операторе используется ключевое слово Hide, то окно будет создано в скрытом состоянии. Вывести на экран скрытое окно Вы можете использовав оператор Set Window ... Show.

После выполнения оператора Create Legend определить идентификатор нового окна можно будет вызовом функции WindowID(0). Этим идентификатором Вы можете пользоваться в следующих операторах (таких как Set Window).

Новая легенда создается в соответствии с режимами наследования и стилизации, заданными оператором Set Next Document.

Смотрите также:

Open Window, Set Next Document, Create Cartographic Legend

126

Справочник MapBasic

Функция CreateLine( )

Функция CreateLine( )

Назначение:

Возвращает объект типа "прямая линия".

Синтаксис:

CreateLine( x1 , y1, x2 , y2 )

где

x1 – XLкоордината начальной точки линии (или долгота), действительное число; y1 – YLкоордината начальной точки линии (или широта), действительное число; x2 – XLкоордината конечной точки линии, действительное число;

y2 – YLкоордината конечной точки линии, действительное число.

Величина, полученная в результате:

Величина типа Object.

Описание:

Функция возвращает объект типа "прямая линия".

Параметры x и y задают координаты концов отрезка прямой линии в той координатной системе, которая была объявлена MapBasic ранее. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты.

Функция при создании объекта будет использовать стиль линии, назначаемый оператором Set Style, который выполняется до функции CreateLine(_). Вы можете воспользоваться для создания объекта "прямая линия" оператором Create Line, в котором есть предложение Pen для задания стиля линии.

Графический объект, созданный функцией CreateLine(_), может быть присвоен объектной переменной, которая определяет значение уже существующей строки в таблице (оператор Update) или вновь созданной (оператор Insert).

Замечание: Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.

Пример:

В примере используется оператор Insert для создания новой строки в таблице ROUTES. Функция CreateLine(_) используется в теле оператора Insert для создания объекта, данные которого будут помещены в этой строке.

Open Table "Routes.tab"

Insert Into routes (obj)

Values (CreateLine( 72.55, 42.431, 72.568, 42.435))

Смотрите также:

Create Line, Insert, Update

Справочник MapBasic

127

Оператор Create Line

Оператор Create Line

Назначение:

Создает объект "прямая линия".

Синтаксис:

Create Line

[ Into { Window window_id | Variable var_name } ] (x1, y1) (x2, y2)

[ Pen... ]

где

window_id – идентификатор окна, целое число; var_name – имя объектной переменной;

x1, y1 – координаты начала отрезка прямой;

x2, y2 – координаты конца отрезка прямой линии.

Слово Pen начинает стандартное предложение для назначения стиля линии объекта.

Описание:

Результатом действия оператора Create Line является новый графический объект типа "прямая линия".

Если оператор включает предложение Into Variable, то созданный объект будет значением объектной переменной. Если параметр после Into указывает окно, то прямая помещается на подготовленное место в окне (например, в изменяемый слой). Если предложения Into вообще нет в операторе, MapBasic попробует создать прямую в самом верхнем окне. Если это невозможно (например, активно окно Графика), то объект не будет создан.

Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Line. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты.

Если объект создается для окна Отчет, параметры x и y – координаты на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так XLкоордината – это расстояние от левого края листа до точки, и YLкоордината – расстояние от верхнего края листа.

Замечание: Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.

Если в операторе нет предложения Pen, оператор Create Line использует установку соответствующего режима для стиля линии в MapInfo (стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ).

Смотрите также:

CreateLine( ), Insert, Pen, Update

128

Справочник MapBasic

Оператор Create Map

Оператор Create Map

Назначение:

Изменяет структуру существующей таблицы, разрешая сопоставлять ее записям графические объекты.

Синтаксис:

Create Map

For table

[ CoordSys... ]

где

table – имя открытой таблицы.

Слово CoordSys начинает стандартное предложение для назначения координатной системы.

Описание:

Оператор Create Map изменяет открытую таблицу, разрешая сопоставлять ее записям графические объекты. Таблица, не имеющая такого признака, может быть показана в окне Списка, но не может быть показана в окне Карты.

Этот оператор не открывает окна Карты для измененной таблицы. Для этой цели потом используйте оператор Map.

Оператор Create Map не работает со связанными таблицами. Для создания возможности показывать на Карте связанную таблицу предназначен оператор Server Create Map.

Замечание: Не используйте оператор Create Map для таблицы, которая уже содержит графические объекты, иначе это может привести к потере всех объектов из таблицы.

Если таблица уже имеет графику, и Вы хотите изменить проекции в таблице, используйте оператор Commit Table As. Если же Вы хотите изменить проекции временно, только для отображения Карты, можно использовать оператор Set Map, включающий предложение CoordSys.

Задание координатной системы

Если оператор не использует предложение CoordSys, в таблице будет принята стандартная система координат Земли (долгота/широта) без проекций. Информацию о синтаксисе смотрите в описании стандартного предложения CoordSys.

Предложение CoordSys влияет на точность измерений на Карте. Предложение CoordSys может сопровождаться предложением Bounds, задающим минимальные и максимальные координаты, отображаемые на Карте. Если предложение Bounds опущено, то MapInfo по умолчанию пытается охватить всю Землю, а это дает точность приблизительно в 10 см (одна миллионная градуса). Если Вы знаете заранее, что будет показывать только небольшую часть земной поверхности, то с помощью предложения Bounds можно повысить точность.

Смотрите также:

Commit, CoordSys, Create Table, Drop Map, Map, Server Create Map, Set Map

Справочник MapBasic

129

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]