- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор 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 |