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

Оператор Objects Move

Оператор Objects Move

Назначение

Objects Move перемещает объекты, полученные из текущей выборки из исходной таблицы.

Синтаксис

Objects Move Angle angle

Distance distance [Units unit]

[Type {Spherical | Cartesian}]

Описание

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

Объект перемещен в направлении, заданным параметром angle, измеряемым от положительной оси X, указывающей восток (при этом угол измеряется против часовой стрелки), и смещен на расстояние, заданном параметром расстояния distance. Расстояние измеряется в единицах, указанных параметром unit, если он представлен. Если предложение Units пропущено, то текущая единица расстояния будет задана по умолчанию. По умолчанию, MapBasic использует для измерения расстояния мили, об изменении единиц, смотрите раздел, посвященный оператору Set Distance Units.

Дополнительная часть предложения Type позволяет задать тип расчета расстояния, используемого при смещении объектов. Если используется тип Spherical, то вычисления производятся в координатах “Широта/Долгота”, а расстояния рассчитываются на сфере. Если используется тип Cartesian, то вычисления производятся на плоскости, на которую спроектированные географические данные и расстояния рассчитываются по декартовым алгоритмам. Если часть предложения Type не задана, то используется сферический Spherical тип расчета расстояния. Если данные в проекции “Широта/Долгота”, то используется сферический тип расчетов независимо от настроек части предложения Type. Если данные представлены в проекции План-схема, используются декартовые вычисления независимо от настроек части предложенияType.

656

MapInfo Professional 7.5

Приложение C: Новые и улучшенные операторы и функции MapBasic

Измерения сделанные на сфере и на плоскости, различаются. Так, при перемещении объекта по карте, построенной в проекции “Долгота/Широта”, его форма не изменится, но поменяется площадь. Это происходит из-за того, что фактическое смещение измеряется в градусах, а соответствующее им расстояние в различных местах земного шара отличается.

Для функций Offset, фактическое смещения рассчитано в некоторой установленной точке на объекте (например, центр описывающего прямоугольника), и затем это значение преобразовано из исходных единиц в единицы текущей системы координаты. Если система координаты - Широта/Долгота, преобразование в градусы использует фиксированное число десятичных знаков. Фактическое преобразованное измерение расстояния могло измениться в различных местах объекта. Расстояние от исходного объекта до нового смещенного объекта будет вычислено с гарантированной точностью, если в них используются измерения с фиксированным числом знаков.

Пример

Objects Move Angle 45 Distance 100 Units “mi” Type Spherical

MapInfo Professional 7.5 Дополнения

657

Оператор Objects Offset

Оператор Objects Offset

Назначение

Objects Offset копирует объекты, полученные из текущей выборки, перемещая их относительно исходных объектов.

Синтаксис

Objects Offset

[Into Table intotable] Angle angle

Distance distance [Units unit]

[Type {Spherical | Cartesian}]

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

Описание

Objects Offset делает новую копию из объектов, смещенных от первоначальных исходных объектов. Исходные объекты получены из текущей выборки. Результирующие объекты помещаются в таблицу, задаваемую параметром intotable, если предложение Into Table представлено. Если оно пропущено, объекты помещаются в ту же самую таблицу, из которой получены исходные объекты (основная таблица, из которой выбираются объекты).

Объект перемещен в направлении, заданным углом, измеряемым от положительной оси X, указывающей восток (при этом угол измеряется против часовой стрелки), и смещен на расстояние, заданном параметром расстояния distance. Расстояние измеряется в единицах, указанных параметром unit, если он представлен. Если предложение Units пропущено, то текущая единица расстояния будет задана по умолчанию. По умолчанию, MapBasic использует для измерения расстояний мили, об изменении единиц измерения смотрите раздел, посвященный оператору Set Distance Units.

Дополнительная часть предложения Type позволяет задать тип расчета расстояния, используемого при смещении объектов. Если используется тип Spherical, то вычисления производятся в координатах “Широта/Долгота”, а расстояния рассчитываются на сфере. Если используется тип Cartesian, то вычисления производятся на плоскости, на которую спроектированные географические данные и расстояния рассчитываются по декартовым алгоритмам. Если часть предложения Type не задана, то используется сферический Spherical тип расчета расстояния. Если данные в проекции Широта/Долгота, то

658

MapInfo Professional 7.5

Приложение C: Новые и улучшенные операторы и функции MapBasic

используется сферический тип расчетов независимо от настроек части предложения Type. Если данные представлены в проекции План-схема, используются декартовые вычисления независимо от настроек части предложенияType.

Если Вы определяете предложение Data, то будет призведено объединение данных.

Измерения сделанные на сфере и на плоскости, различаются. Так, при перемещении объекта по карте, построенной в проекции “Долгота/Широта”, его форма не изменится, но поменяется площадь. Это происходит из-за того, что фактическое смещение измеряется в градусах, а соответствующее им расстояние в различных местах земного шара отличается.

Для функций Offset, фактическое смещение рассчитано в некоторой установленной точке на объекте (например, центр описывающего прямоугольника), и затем это значение преобразовано из исходных единиц в единицы текущей системы координаты. Если система координаты - Широта/Долгота, преобразование в градусы использует фиксированное число десятичных знаков. Фактическое преобразованное измерение расстояния могло измениться в различных местах объекта. Расстояние от исходного объекта до нового смещенного объекта будет вычислено с гарантированной точностью, если в них используются измерения с фиксированным числом знаков.

Пример

Objects Offset Into Table c:\temp\table1.tbl Angle 45 Distance 100 Units “mi” Type Spherical

MapInfo Professional 7.5 Дополнения

659

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