- •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( )
Предложение Control RadioGroup
Предложение Control RadioGroup
Назначение:
Часть оператора Dialog. Отвечает за создание кнопок переключателя.
Синтаксис:
Control RadioGroup
[ Position x, y ] [ ID control_ID ]
[ Calling handler ]
[ Title { str_expr | From Variable str_array_var } ] [ Value i_selected ]
[ Into i_variable ]
[ Disable ] [ Hide ]
где
x, y – координаты левого верхнего угла прямоугольника, в который вписываются кнопки переключателя, в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);
control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;
handler – имя процедуры-обработчика, которая запускается при указании на одну из кнопок; str_expr – строковое выражение, которое задает текст подписей справа от кнопок, где каждая подпись отделена от другой точкой с запятой (;), по количеству подписей определяется количество кнопок в переключателе;
str_array_var – имя массива строковых переменных;
i_selected – короткое целое число, задающее номер кнопки, которая будет выбрана при открытии диалога, по умолчанию выбирается первая кнопка;
i_variable – имя переменной типа SmallInt, которая будет использоваться для сохранения номера выбранной кнопки после закрытия диалога.
Ключевое слово Disable делает переключатель недоступным для выбора (закрашивается серым).
Ключевое слово Hide прячет переключатель из диалогового окна.
Описание:
Ключевое слово RadioGroup в предложении Control оператора Dialog позволяет создавать в окне диалога кнопочный переключатель. Каждая кнопка представляет собой небольшой кружок с подписью справа, при выборе в кружок помещается черная точка. Выбрана может быть только одна кнопка в переключателе.
Предложение Title задает список подписей для кнопок. Если за словом Title задан список текстов в кавычках, через точку с запятой, то каждый текст будет определять одну кнопку переключателя. Например:
Title "&Всё;В&ыборочно"
Список в предложении Title можно также задавать массивом. В следующем фрагменте s_optionlist – имя строкового массива.
Title From Variable s_optionlist
100 Справочник MapBasic
Предложение Control RadioGroup
Пример:
Control RadioGroup
Title "&Всё;В&ыборочно"
Value 2
ID 2
Into details
Calling rg_handler
Position 15, 42
Смотрите также:
Alter Control, Dialog, ReadControlValue( )
Справочник MapBasic |
101 |
Предложение Control StaticText
Предложение Control StaticText
Назначение:
Часть оператора Dialog. Отвечает за создание текстового элемента в окне диалога, (неизменяемого текста).
Синтаксис:
Control StaticText
[ Position x, y ]
[ Width w ] [ Height h ] [ ID control_ID ]
[ Title title_string ] [ Hide ]
где
x, y – координаты левого верхнего угла прямоугольника, в который можно вписать строку, в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора
Dialog);
w – ширина подписи в единицах измерения диалога; h – высота подписи в единицах измерения диалога;
control_ID целое; не может быть таким же как ID другого элемента управления в диалоге title_string – текст.
Ключевое слово Hide прячет текстовый элемент из диалогового окна.
Описание:
Ключевое слово StaticText в предложении Control оператора Dialog позволяет создавать тексты в окне диалога. Элемент GroupBox в окне диалога выполняет оформительскую роль, и потому не может иметь значения. Однако, если элемент StaticText задан в операторе сразу до или после элемента EditText, то клавишное сокращение в тексте StaticText можно использовать для перехода в окошко элемента EditText.
Если Вы хотите, чтобы текст в диалоге занимал несколько строк, то используйте предложения Width и Height. Если эти предложения не использовать, то текст будет иметь только одну строку.
Пример:
Control StaticText
Title "Заголовок Карты:"
Position 5, 10
Смотрите также:
Alter Control, Dialog
102 |
Справочник MapBasic |
Функция ConvertToPline( )
Функция ConvertToPline( )
Назначение:
Возвращает полилинию, которая описывает заданный объект.
Синтаксис:
ConvertToPLine(object)
где
object – объект для преобразования любого типа, кроме текстового и точечного.
Величина, полученная в результате:
Полилиния. Величина типа Object.
Описание:
Функция ConvertToPline(_) возвращает объект типа "полилиния", которая описывает объект object. Так, если object задает область, то функция ConvertToPline(_) вернет ломаную линию, представляющую границу области, и с тем же количеством узлов.
Результат функции ConvertToPline(_) такой же, как при выполнении команды ОБ ЕКТЫ > ПРЕВРАТИТЬ В ПОЛИЛИНИИ, за тем исключением, что функция создает новый объект, не меняя объект object.
Справочник MapBasic |
103 |
Функция ConvertToRegion( )
Функция ConvertToRegion( )
Назначение:
Возвращает область по форме заданного объекта.
Синтаксис:
ConvertToRegion(object)
где
object – объект для преобразования любого типа, кроме текстового и точечного.
Величина, полученная в результате:
Область. Величина типа Object.
Описание:
Функция ConvertToRegion(_) возвращает область, имеющую такую же форму, какую имеет объект object. Так, если параметр object задает объект типа "прямоугольник", то функция ConvertToRe gion(_) вернет область такой же прямоугольной формы.
Сохраняются все значения стилей оформления объекта. Недостающие атрибуты используются по текущим значениям стилей. В полилинии первый узел не совпадает с последним. При преобразовании полилинии, если первый узел совпадает с последним, то они сливаются. Если первый и последний узлы полилинии не совпадают, то при преобразовании в область они соединяются.
Результат функции ConvertToRegion(_) такой же, как при выполнении команды ОБ ЕКТЫ > ПРЕВРАТИТЬ В ОБЛАСТИ, за тем исключением, что функция создает новый объект, не меняя объект object.
104 |
Справочник MapBasic |
Функция ConvexHull( )
Функция ConvexHull( )
Назначение:
Возвращает объект-регион, который представляет собой полигон-контур, созданный на основании узлов входного объекта. Он содержит минимальное количество точек (т.е. точки входного объекта лежат на границах или внутри полигона). Т.е. все внешние углы созданного полигона-контура больше, чем 180 градусов.
Синтаксис:
ConvexHull ( inputobject)
inputobject - оконтуриваемый объект
Возвращаемое значение:
Возвращает объект8регион
Описание:
Функция ConvexHull() возвращает регион, представляющий контур, охватывающий точки входного объекта. Функция ConvexHull() создает один контур за раз. Чтобы создать контуры вокруг нескольких объектов, используйте оператор Create Object As ConvexHull.
Пример:
Следующий пример выбирает штат New York из таблицы штатов, затем создает полигон контур вокруг выборки.
Dim Resulting_object as object select * from States
where State_Name = »New York» Resulting_object = ConvexHull(selection.obj)
Insert Into States(obj) Values (Resulting_object)
Смотрите также:
Create Object
Справочник MapBasic |
105 |
Предложение CoordSys
Предложение CoordSys
Назначение:
Задает систему координат.
Синтаксис (вариант 1):
CoordSys Earth
[ Projection type, datum, unitname
[, origin_longitude ] [, origin_latitude ]
[, standard_parallel_1 [, standard_parallel_2 ] ] [, azimuth ]
[, scale_factor ] [, false_easting ] [, false_northing ] [, range ] ]
[ Affine Units unitname, A, B C, D, E, F ] [ Bounds ( minx,miny) ( maxx,maxy) ]
Синтаксис (вариант 2):
CoordSys Nonearth
[ Affine Units unitname, A, B C, D, E, F ] Units unitname
Bounds (minx, miny) ( maxx, maxy)
Синтаксис (вариант 3):
CoordSys Layout Units paperunitname
Синтаксис (вариант 4):
CoordSys Table tablename
Синтаксис (вариант 5):
CoordSys Window window_id
где
type – положительное целое число, представляющее тип координатной системы; datum – положительное целое число, определяющее референс-эллипсоид;
unitname – единица измерения расстояний, строковая величина (например, "m" – метры, список единиц приведен в описании оператора Set Distance Units);
origin_longitude – долгота точки отсчета (нулевой точки) в градусах, вещественное число (тип Float); origin_latitude – широта точки отсчета (нулевой точки) в градусах, вещественное число (тип Float); standard_parallel_1 и standard_parallel_2 – широта в градусах, вещественное число (тип Float); azimuth – азимутальный угол в градусах, вещественное число (тип Float);
scale_factor – коэффициент искажения (масштабный коэффициент), вещественное число (тип Float);
range – вещественное число от 1 до 180 (тип Float), определяющее, какая часть Земли видна; minx – минимальная X-координата, вещественное число (тип Float);
miny – минимальная Y-координата, вещественное число (тип Float);
106 |
Справочник MapBasic |
Предложение CoordSys
maxx – максимальная X-координата, вещественное число (тип Float); maxy – максимальная Y-координата, вещественное число (тип Float);
paperunitname – строковая величина, представляющая имя "бумажной" единицы (например, "in" – дюймы, список единиц приведен в описании оператора Set Paper Units);
tablename – имя открытой таблицы;
window_id – целочисленный идентификатор окна Карты или Отчета.
A задает масштабирование или растяженеи вдоль оси X.
B задает поворот или сдвиг вдоль оси X.
C задает смещение вдоль оси X.
D задает масштабирование или растяженеи вдоль оси Y.
E задает поворот или сдвиг вдоль оси Y.
F задает смещение вдоль оси Y.
Описание:
Предложение CoordSys не является отдельным оператором, а входит в состав тех операторов, в которых необходимо задавать координатную систему. С помощью этого предложения можно также задавать проекции Карты, которые используются с данной координатной системой. Это предложение, например, может использоваться в операторе Set Map для переопределения проекции, используемой в окне Карты.
Первый вариант синтаксиса предложения используется для Карт мира. Параметры предложения Projection задают проекцию Карты (если она есть), и должны использоваться в соответствии с координатной системой. Если это предложение опущено, то MapBasic использует координатную систему широта/долгота, представляющую Северную Америку 1927 года (NAD-27).
Второй вариант синтаксиса предложения CoordSys используется для координатных систем планов, например, для поэтажного плана или другого CAD-изображения.
Третий вариант синтаксиса предложения (CoordSys Layout) используется для задания координатной системы в окне Отчета. Программа MapBasic должна выполнить оператор Set Coord Sys Layout перед тем, как создавать объекты Отчета и работать с ними. Параметр unitname задает имя "бумажной" единицы, которая будет использоваться в окне. Например, следующий оператор Set CoordSys определяет дюймы, как единицы измерений в окне Отчета:
Set CoordSys Layout Units "in"
Четвертый вариант синтаксиса предложения (CoordSys Table) используется для задания координатной системы в таблице, данные которой сохраняются на диске.
Пятый вариант синтаксиса предложения (CoordSys Window) позволяет установить такую же координатную систему, как в окне window_id.
В операторах Set Map и Set Digitizer, использующих предложение CoordSys, MapBasic игнорирует предложение Bounds. Это предложение используется для планов (непроецированных Карт), когда предложение CoordSys входит в состав других операторов.
Предложение Bounds задает границы, в которых показывается Карта. Объект не может быть создан за пределами заданных этим предложением границ. Если задается координатная система Карты мира (Earth), то Вы должны опустить предложение Bounds, так как MapInfo пытается по умолчанию охватить всю Землю.
Справочник MapBasic |
107 |
Предложение CoordSys
Замечание: В операторе Create Map можно увеличить точность координат на Карте, задав более узкий охват предложением Bounds.
Каждая картографическая проекция задается уравнением, имеющим свой индивидуальный набор параметров. Поэтому предложение CoordSys может иметь разный набор параметров в предложении Projection. Например, уравнение, задающее проекции Робинсона, использует в качестве параметров референс-эллипсоид (Datum), единицы измерения (Units) и начальную широту (Origin Latitude), а уравнение для модифицированной проекции Меркатора – референс-эллипсоид (Datum), единицы измерения (Units), начальную широту (Origin Latitude), начальную долготу (Origin Latitude), коэффициент искажения (Scale Factor), восточное смещение (False Easting) и северное смещение (False Northing).
Для дальнейшей информации о проекциях и координатных системах смотрите документацию MapInfo.
В каждом приложении MapBasic действует своя координатная система. При выполнении одним приложением оператора Set CoordSys, для другого приложения эти установки не имеют значения. Установка координатной системы действительна только для того приложения, в котором она была определена.
Пример1:
Оператор Set Map задает режим представления существующей Карты. Представленный в примере оператор Set Map задает режим показа Карты в проекции Робинсона:
Set Map CoordSys Earth Projection 12, 12, "m", 0.
Первое число 12 определяет проекцию Робинсона; второе число 12 определяет применение этой проекции ко всему Земному шару; параметр "m" задает метры, как единицы измерения; ноль задает нулевую долготу как начальную.
Пример 2:
Следующий оператор задает показ карты без проекций:
Set Map CoordSys Earth
Пример 3:
В следующем примере открывается таблица WORLD, и с помощью оператора Commit сохраняется под именем RWORLD в проекции Робинсона.
Open Table "world.tab" As World
Commit Table World As "RWORLD.TAB"
CoordSys Earth Projection 12, 12, "m", 0.
Пример 4:
Следующий оператор копирует проекцию из окна Карты, имеющего идентификатор "first_map_id", в окно с идентификатором "second_map_id".
Set Map
Window second_map_winid
CoordSys Window first_map_winid
Пример 5:
Следующий пример определяет систему координат DCS, которая получена из системы
108 |
Справочник MapBasic |
Предложение CoordSys
координат UTM Zone 10, путем аффинного преобразования x1 = 1.57x – 0.21y + 84120.5
y1 = 0.19x + 2.81y – 20318.0
Здесь координаты (x1 , y1) представляют полученные координаты для DCS, а (x, y) исходные координаты UTM Zone 10. Если координаты DCS исчисллись в футах, то предложение CoordSys для DCS выглядело бы следующим образом:
CoordSys Earth
Projection 8, 74, »m», 123, 0, 0.9996, 500000, 0
Affine Units »ft», 1.57, 0.21, 84120.5, 0.19, 2.81, 20318.0
Смотрите также:
Commit Table, Set CoordSys, Set Map
Справочник MapBasic |
109 |
Функция Cos( )
Функция Cos( )
Назначение:
Вычисляет косинус.
Синтаксис:
Cos(num_expr)
где
num_expr – численное выражение угла в радианах.
Величина, полученная в результате:
Вещественное число. Величина типа Float.
Описание:
Функция Cos(_) вычисляет косинус числа, полученного в результате вычисления выражения num_expr. Угол должен задаваться в радианах. Диапазон возвращаемого значения находится между единицей и минус единицей включительно.
Для перевода градусов в радианы число необходимо умножить на число DEG_2_RAD. Для обратного конвертирования используется коэффициент RAD_2_DEG. Чтобы Ваша программа могла использовать эти коэффициенты конвертирования, она должна содержать оператор Include "MAPBASIC.DEF":
Пример:
Include "MAPBASIC.DEF"
Dim x, y As Float
x = 60 * DEG_2_RAD y = Cos(x)
'y равен 0.5, поскольку
'косинус от 60 градусов равен 0.5
Смотрите также:
Acos(_), Asin(_), Atn(_), Sin(_), Tan(_)
110 |
Справочник MapBasic |