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

Оператор Create Rect

Оператор Create Rect

Назначение:

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

Синтаксис:

Create Rect

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

[ Pen... ]

[ Brush... ]

где

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

x1, y1 – координаты начального угла прямоугольника;

x2, y2 – координаты противоположного по диагонали угла прямоугольника.

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

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

Описание:

Оператор Create Rect создает новый объект типа "прямоугольник". Если ширина равняется высоте, то объект является квадратом, иначе – прямоугольником.

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

Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Rect. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты. Если объект создается для окна Отчета, параметры x и y интерпретируются как координаты на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так, X-координата – это расстояние от левого края листа до точки, а Y-координата – расстояние от верхнего края листа.

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

Предложения Pen и Brush назначают стиль линии и штриховки объекта. Если в операторе не участвует предложение Pen, оператор Create Rect использует установку соответствующего режима для стиля линии в MapInfo. Стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ. Предложению Brush в MapInfo соответствует команда НАСТРОЙКА > СТИЛЬ ОБЛАСТЕЙ.

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

Brush, Create RoundRect, Insert, Pen, Update

Справочник MapBasic

163

Оператор Create Redistricter

Оператор Create Redistricter

Назначение:

Открывает окно Районирование.

Синтаксис:

Create Redistricter source_table By district_column

With

[ Count ]

[, Brush ] [, Symbol ] [, Pen ] [, { Sum | Percent } (expr) ] [, { Sum | Percent } (expr) ... ]

[ Order { "MRU" | "Alpha" | "Unordered" } ]

где

source_table – имя открытой таблицы, объекты которой будут участвовать в районировании; district_column – имя колонки; начальный набор районов создается на базе значений из этой колонки и в нее же помещается новая структура районов;

expr – числовое выражение.

Слово Count предопределяет показ в Списке Районов колонки с количеством объектов в каждой группе.

Слово Brush назначает показ колонки с образцами штриховки объектов.

Слово Symbol назначает показ колонки с образцами символов.

Слово Pen назначает показ колонки с образцами линий объектов.

Предложение Order задает порядок строк в Списке Районов (по алфавиту, произвольно или же все затронутые изменениями строки помещаются в начало списка; последний режим (MRU) используется по умолчанию).

Описание:

Оператор Create Redistricter начинает сеанс районирования. Этот оператор соответствует команде MapInfo ОКНО > РАЙОНИРОВАНИЕ. Информацию о районировании Вы можете прочитать в документации MapInfo.

Управлять составом районов можно оператором Set Redistricter. Закончить сеанс районирования можно, выполнив оператор Close Window, закрывающий окно Районирование.

Если включить слово Brush, то в окно Районирование будет добавлена колонка с образцами штриховок каждого района. Обратите внимание на то, что Brush является ключевым словом, а не предложением. Так же Symbol и Pen являются отдельными ключевыми словами. Если в Списке Районов есть колонки с образцами оформления районов, то пользователь может их изменять, указывая на них мышкой.

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

Set Redistricter

164

Справочник MapBasic

Оператор Create Region

Оператор Create Region

Назначение:

Создает объект типа "область".

Синтаксис:

Create Region

[ Into { Window window_id | Variable var_name } ] num_polygons

[ num_points1 (x1, y1) (x2, y2) [ ... ] ]

[ num_points2 (x1, y1) (x2, y2) [ ... ] ... ] [ Pen... ]

[ Brush... ]

[ Center (center_x, center_y) ]

где

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

num_polygons – число полигонов в области (ноль или более); num_points1 – число узлов в первом полигоне;

num_points2 – число узлов во втором полигоне, и т. д.; x, y – координаты узла полигона;

center_x, center_y – координаты центра области.

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

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

Описание:

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

Если параметр num_polygons, который определяет количество многоугольников, включенных в область, приравнять нулю, то оператор создаст пустую область. Впоследствии Вы можете, используя оператор Alter Object, добавлять все необходимые детали в этот объект.

Создание области можно разделить на два этапа: сначала при помощи оператора Create Region создать объект, не имеющий полигонов, а затем по ходу выполнения приложения оператор Alter Object добавит в объект необходимые элементы. Такая последовательность может оказаться полезной, когда на момент создания объекта нет полной информации о количестве и расположении многоугольников и узлов в будущей области. Детали смотрите в описании оператора Alter Object.

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

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

Справочник MapBasic

165

Оператор Create Region

измерения листа. (Смотрите описание оператора Set Paper Units.) Так X-координата – это расстояние от левого края листа до точки, а Y-координата – расстояние от верхнего края листа. Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.

Предложения Pen и Brush назначают стиль линии и штриховки объекта. Если в операторе не участвует предложение Pen, оператор Create Region использует установку соответствующего режима для стиля линии в MapInfo. Стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ. Аналогично предложению Brush, в MapInfo соответствует команда НАСТРОЙКА > СТИЛЬ

ОБЛАСТЕЙ.

Одна область может состоять как из одного полигона (многоугольника), так и из нескольких полигонов. Объект типа "область", состоящая из одного полигона, может содержать до 32 763 узлов. Для многофрагментных объектов лимит узлов меньше: на каждый полигон надо убавлять по три узла.

Пример:

Dim obj_region As Object

Dim x(100), y(100) As Float

Dim i, node_count As Integer

В массивах x() and y()

мы имеем координаты узлов области

Сначала создадим пустой объект :

Create Region Into Variable obj_region 0

’ Теперь внесем информацию об узлах: For i = 1 to node_count

Alter Object obj_region Node Add ( x(i), y(i) )

Next

’ Теперь поместим область в таблицу SITES: Insert Into Sites (Object) Values (obj_region)

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

Alter Object, Brush, Insert, Pen, Update

166

Справочник MapBasic

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