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

Оператор Objects Check

Оператор Objects Check

Назначение

Проверяет таблицу на предмет обнаружения некорректных данных различных типов.

Синтаксис

Objects Check From tablename

[ Into Table tablename] [Overlap]

[Symbol Clause] [Pen Clause] [Brush Clause]

Описание

Objects Check будер проверять таблицу, указанную предложением From на предмет различных некорректных данных. Проверке подлежат только объекты типа регионов. Регионы будут проверяться на предмет самопересечения.

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

При работе этого оператора, в обнаруженных местах самопересечения создаются точечные объекты, которые помещаются в выходящую таблицу. Выходящая таблица может быть задана предложением Into Table. Если предложения Into Table нет, то выходящие данные помещаются в ту же таблицу, где и исследуемые данные. Точечные объекты оформлены в стиле, указанном в Symbol Clause. По умолчанию, это красная булавка размером 28.

Многие карты регионов должны не иметь наложения граничащих друг с другом объектов, например штатов или областей. Предложение Overlap будет проверять таблицу на предмет обнаружения наложения регионов. Из областей наложения формируются полигоны, которые помещаются в выходящую таблицу. Эти полигоны будут создаваться с использованием предложения Brush Clause определяющего заливку полигона и предложения Pen Clause, представляющего границу полигона. Стандартные цвета L желтая заливка и тонкая черная граница.

Пример

В этом примере запускается Objects Check для проверки таблицы TestFile и результат сохраняется в таблице DumpFile. Будет определен параметр наложения и изменены стили для Point и Polygon.

objects check from TestFile into table Dumpfile Overlap Point_Symbol_Clause = ”Symbol (67, 16711680, 28)” Polygon_Symbol_Clause = ”Brush (2, 16776960, 0)”

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

Objects Enclose

348

Справочник MapBasic

Оператор Objects Combine

Оператор Objects Combine

Назначение:

Объединяет объекты в таблице так, как это делает команда ОБ ЕКТЫ > КОМБИНАЦИЯ.

Синтаксис:

Objects Combine

[ Into Target ]

[ Data column = expression [ , column = expression ... ] ]

где

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

Описание:

Оператор Objects Combine создает объект, представляющий собой географическое объединение выбранных объектов. С помощью оператора Objects Combine можно также обобщать данные, вычислять суммы и средние значения величин из записей, к которым присоединены объекты.

Оператор Objects Combine соответствует команде MapInfo ОБ ЕКТЫ > КОМБИНАЦИЯ. Если Вы в MapInfo выполните команду и при этом будет открыто окно MapBasic, то в протоколе выполненных действий будет использован оператор Objects Combine. Описание выполняющейся операции смотрите в описании команды в документации MapInfo.

Предложение Into Target

Это предложение используется, если выбран изменяемый объект (с помощью оператора Set Target) и если изменяемый объект один.

Если в операторе есть предложение Into Target, то MapInfo будет комбинировать изменяемый объект с выбранными объектами на Карте. Объект, полученный в результате комбинирования, заменит изменяемый объект в таблице.

Если выбранные объекты, участвующие в комбинировании, находятся в той же таблице, что и изменяемый объект, то MapInfo удалит записи, к которым присоединены выбранные объекты.

Если выбранные объекты находятся в другой таблице, то они и соответствующие записи не будут удалены.

Если Вы не используете предложение Into Target, то MapInfo комбинирует только выбранные объекты без использования изменяемого объекта, если он назначен. Выбранные объекты и соответствующие им строки в таблице удаляются, новая строка с объектом, полученным в результате комбинирования, добавляется в конец таблицы.

Предложение Data

Предложение Data управляет обобщением данных. Информация об обобщении данных приводится в описании команды ОБ ЕКТЫ > КОМБИНАЦИЯв Руководстве пользователя MapInfo. За ключевым словом Data должен следовать список определений через запятую. Каждое определение является выражением, по которому будет вычислено (или изменено) значение в определенной колонке для записи, которая будет получена в результате выполнения оператора Objects Combine. Вычисления или изменения должны производиться в соответствии с типом колонки (численным, строковым и т. п.)

Следующая таблица приводит некоторые варианты определений для колонки:

Справочник MapBasic

349

Оператор Objects Combine

Выражение

Описание

 

 

col_name = col_name

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

col_name = value

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

 

поле записи объекта, полученного в

 

результате.

col_name = Sum(col_name)

col_name = Avg(col_name)

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

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

col_name = WtAvg(col_name, wt_col_name)

Используется только для численных

 

колонок. MapBasic помещает

 

взвешенное среднее число из значений

 

колонки col_name из всех записей

 

объектов, участвующих в комбинации, в

 

поле записи объекта, полученного в

 

результате. В качестве коэффициентов

 

веса используются значения из колонки

 

wt_col_name.

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

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

Если в операторе не используется ни предложение Data, ни предложение Into Target, то результирующий объект будет помещен в новую строку и MapInfo разместит нулевые и пустые значения в поля этой записи.

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

Combine( ), Set Target

350

Справочник MapBasic

Оператор Objects Enclose

Оператор Objects Enclose

Назначение

Создает регионы, которые формируются из коллекции полилиний; соответствует команде MapInfo Objects Enclose.

Синтаксис

Objects Enclose

[ Into Table tablename]

tablename это таблица, в которую будут помещены объекты.

Описание

Objects Enclose создает объекты, представляющие области ограниченные полилиниями. Новый регион создается для каждой замкнутой области. Входящие объекты получаются из текущей выборки. Все входящие объекты должны быть полилиниями и любые не полилинейные объекты в выборке проигнорируются. В отличие от оператора Objects Combine, оператор Objects Enclose не удаляет исходные объекты из таблицы. Слияния данных не происходитe.

Оператор Objects Enclose соответствует команде меню MapInfo Объекты > Замкнуть. Посмотрите Справочник MapInfo, в нем этот раздел меню описан подробно.

Дополнительное предложение Into Table помещает объкты, созданные этой командой в таблицу. С другой стороны, если это предложение не включать, выходящие объекты попадут в исходную таблицу.

Пример

Будут выбраны все объекты в таблице testfile, выполнено действие Objects Enclose и сохранен результат в таблице dump_file.

select * from testfile

Objects Enclose Into Table dump_file

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

Objects Combine, Objects Check

Справочник MapBasic

351

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