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

Оператор Objects Erase

Оператор Objects Erase

Назначение:

Удаляет часть изменяемого объекта, которая перекрывается другим объектом (или объектами). Оператор соответствует команде ОБ ЕКТЫ > УДАЛИТЬ ЧАСТЬ в MapInfo.

Синтаксис:

Objects Erase Into Target

[ Data column_name = expression ]

[ , column_name = expression ... ] ]

где

column_name – имя колонки в таблице.

Описание:

Оператор Objects Erase удаляет часть объекта (или весь объект), который объявлен как изменяемый. Оператор Objects Erase соответствует команде MapInfo ОБ ЕКТЫ > УДАЛИТЬ ЧАСТЬ. Если Вы в MapInfo выполните команду и при этом будет открыто окно MapBasic, то в протоколе выполненных действий будет использован оператор Objects Erase . Описание выполняющейся операции смотрите в описании команды в документации MapInfo.

Удаляется та часть изменяемого объекта, которая перекрывается выбранным объектом (или объектами). Если изменяемый объект перекрывается полностью, то он удаляется полностью. Если Вам надо удалить часть, свободную от перекрытия объектами, из текущего выбора, то используйте оператор Objects Intersect.

Перед выполнением оператора Objects Erase должен быть выбран изменяемый объект и один или более замкнутых объектов (типа "область ", "прямоугольник", "скругленный прямоугольник" или "эллипс"), играющих роль "ластика". Изменяемый объект может быть назначен командой в MapInfo ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ или оператором Set Target из прикладной программы.

Предложение Data управляет размещением данных в колонках изменяемой таблицы. За ключевым словом Data должен следовать список определений через запятую. Каждое определение является выражением, по которому будет изменено значение в определенной колонке в записи изменяемого объекта. Вычисления или изменения должны производиться в соответствии с типом колонки (численным, строковым и т. п.) Следующая таблица приводит некоторые варианты определений для колонки:

352

Справочник MapBasic

Оператор Objects Erase

Выражение

 

Эффект

col_name = col_name

 

Содержимое колонки не меняется.

 

col_name = value

 

MapBasic помещает значение value в поле записи

 

 

объекта. Если тип колонки символьный, то value

 

 

должно быть строкой. Если тип колонки

 

 

численный, то value должно быть числом.

col_name = Proportion(col_name)

Используется только для численных колонок. MapBasic пропорционально изменяет значение в колонке col_name. Так, если была удалена половина объекта, то значение в колонке уменьшится наполовину.

Список Data может состоять из определений для всех колонок таблицы. Если в списке определены не все колонки, то MapBasic разместит пустые значения в неописанные поля новой записи.

Если в операторе не используется предложение Data, то MapBasic заполнит все поля записи изменяемого объекта нулевыми и пустыми значениями.

Примеры:

В результате следующего оператора Objects Erase, не использующего предложение Data, все записи, к которым присоединены изменяемые объекты, теряют свои значения, независимо от того, перекрываются ли они выбранными объектами или нет.

Objects Erase Into Target

Следующий оператор Objects Erase имеет предложение Data, которое задает выражения для трех колонок ("State_Name", "Pop_1990" и "Med_Inc_80"). Этот оператор присваивает строку "остаток" колонке "State_Name" и определяет, что значения в колонке "Pop_1990" будут уменьшены пропорционально оставшейся после удаления площади. Значения в колонке "Med_Inc_80" сохраняются нетронутыми. Остальные колонки изменяемого объекта очищаются.

Objects Erase Into Target

Data

State_Name = "остаток",

Pop_1990 = Proportion( Pop_1990 ),

Med_Inc_80 = Med_Inc_80

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

Erase( ), Objects Intersect

Справочник MapBasic

353

Оператор Objects Intersect

Оператор Objects Intersect

Назначение:

Удаляет часть изменяемого объекта, которая остается свободной от перекрытия другим объектом (или объектами). Оператор соответствует команде ОБ ЕКТЫ > УДАЛИТЬ ВНЕШНЮЮЧАСТЬ в MapL Info.

Синтаксис:

Objects Intersect Into Target

[ Data column_name = expression ]

[ , column_name = expression ... ] ]

где

column_name – имя колонки в таблице; expression – выражение.

Описание:

Оператор Objects Intersect удаляет часть объекта (или объект полностью), который назначен как изменяемый. Оператор Objects Intersect соответствует команде MapInfo ОБ ЕКТЫ > УДАЛИТЬ ВНЕШНЮЮЧАСТЬ. Если Вы в MapInfo выполните команду и при этом будет открыто окно MapBasic, то в протоколе выполненных действий будет использован оператор Objects Intersect. Описание выполняющейся операции смотрите в описании команды в Справочнике MapInfo.

Удаляется та часть изменяемого объекта, которая остается свободной от перекрытия выбранным объектом (или объектами). Если изменяемый объект не пересекается с выбранными объектами, ничего не происходит. Если Вам надо удалить часть, перекрываемую объектами, из текущего выбора, то используйте оператор Objects Erase.

Операторы Objects Intersect и Objects Erase похожи способом удаления части объекта и различаются только тем, какую часть объекта удаляют.

Для более подробной информации смотрите оператор Objects Erase.

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

Create Object, Overlap( )

354

Справочник MapBasic

Оператор Objects Overlay

Оператор Objects Overlay

Назначение:

Добавляет узлы изменяемому объекту в точках пересечения линий или контуров выбранных объектов. Оператор соответствует команде ОБ ЕКТЫ > ДОБАВИТЬ УЗЛЫ.

Синтаксис:

Objects Overlay Into Target

Описание:

Перед выполнением оператора Objects Overlay должен быть назначен изменяемый объект и один или более объектов любого типа, кроме текстового или точечного. Изменяемый объект может быть назначен командой в MapInfo ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ или оператором Set Tar4 get из прикладной программы.

Более подробная информация приводится в описании команды ОБ ЕКТЫ > ДОБАВИТЬ УЗЛЫ в

Справочнике MapInfo.

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

OverlayNodes( ), Set Target

Справочник MapBasic

355

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