- •Оператор Add Column
- •Оператор Add Map
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter Cartographic Frame
- •Оператор Alter Control
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Bar
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор AutoLabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Функция ButtonPadInfo( )
- •Оператор Call
- •Функция•CartesianArea( )
- •Функция CartesianBuffer( )
- •Функция CartesianDistance ( )
- •Функция CartesianObjectLen( )
- •Функция CartesianPerimeter( )
- •Функция Centroid( )
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Функция CommandInfo()
- •Оператор Commit Table
- •Оператор Continue
- •Предложения Control Button / OKButton / CancelButton
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложения Control ListBox / MultiListBox
- •Предложение Control PopupMenu
- •Предложение Control RadioGroup
- •Предложение Control StaticText
- •Функция ConvexHull( )
- •Предложение CoordSys
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Функция CreateCircle( )
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create Object
- •Оператор Create Pline
- •Оператор Create Point
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Функция CreateText( )
- •Функция DateWindow( )
- •Оператор 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
- •Оператор For...Next
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Global
- •Оператор Goto
- •Оператор Graph
- •Оператор If...Then
- •Оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция Int( )
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Функция LabelFindByID( )
- •Функция LabelFindNext( )
- •Функция Labelinfo( )
- •Оператор Layout
- •Функция LegendFrameInfo( )
- •Функция LegendInfo( )
- •Функция LegendStyleInfo( )
- •Оператор Line Input
- •Процедура Main
- •Функция MakeCustomSymbol( )
- •Функция MakeFontSymbol( )
- •Оператор Map
- •Функция Map3dInfo( )
- •Оператор Menu Bar
- •Функция MenuitemInfoByID( )
- •Оператор Metadata
- •Оператор Note
- •Функция NumAllWindows( )
- •Оператор Objects Check
- •Оператор Objects Combine
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Report
- •Оператор Open Table
- •Оператор Open Window
- •Оператор Pack Table
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор Print #
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Remove Cartographic Frame
- •Оператор Remove Map
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Window
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Функция Server_ColumnInfo( )
- •Оператор Server Commit
- •Функция Server_Connect( )
- •Оператор Server Create Map
- •Оператор Server Disconnect
- •Функция Server_DriverInfo( )
- •Функция Server_EOT( )
- •Функция Server_Execute( )
- •Оператор Server Fetch
- •Функция Server_GetodbcHConn( )
- •Функция Server_GetodbcHStmt( )
- •Оператор Server Link Table
- •Функция Server_NumCols( )
- •Функция Server_NumDrivers( )
- •Оператор 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 ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Style
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Функция StyleAttr( )
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Функция UnitAbbr$( )
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Write #
- •Приложение A: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Функция ConvexHull( )
Функция ConvexHull( )
Назначение:
Возвращает объектLрегион, который представляет собой полигонLконтур, созданный на основании узлов входного объекта. Он содержит минимальное количество точек (т.е. точки входного объекта лежат на границах или внутри полигона). Т.е. все внешние углы созданного полигонаLконтура больше, чем 180 градусов.
Синтаксис:
ConvexHull ( inputobject)
inputobject L оконтуриваемый объект
Возвращаемое значение:
Возвращает объектUрегион
Описание:
Функция 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 |
101 |
Предложение 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 – положительное целое число, определяющее референсLэллипсоид;
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 – минимальная XLкоордината, вещественное число (тип Float);
miny – минимальная YLкоордината, вещественное число (тип Float);
102 |
Справочник MapBasic |
Предложение CoordSys
maxx – максимальная XLкоордината, вещественное число (тип Float); maxy – максимальная YLкоордината, вещественное число (тип 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 года (NADL27).
Второй вариант синтаксиса предложения CoordSys используется для координатных систем планов, например, для поэтажного плана или другого CADLизображения.
Третий вариант синтаксиса предложения (CoordSys Layout) используется для задания координатной системы в окне Отчета. Программа MapBasic должна выполнить оператор Set Coord4 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 |
103 |
Предложение CoordSys
Замечание: В операторе Create Map можно увеличить точность координат на Карте, задав более узкий охват предложением Bounds.
Каждая картографическая проекция задается уравнением, имеющим свой индивидуальный набор параметров. Поэтому предложение CoordSys может иметь разный набор параметров в предложении Projection. Например, уравнение, задающее проекции Робинсона, использует в качестве параметров референсLэллипсоид (Datum), единицы измерения (Units) и начальную широту (Origin Latitude), а уравнение для модифицированной проекции Меркатора – референсLэллипсоид (Datum), единицы измерения (Units), начальную широту (Origin Latitude), начальную долготу (Origin Latitude), коэффициент искажения (Scale Factor), восточное смещение (False Easting) и северное смещение (False Northing).
Для дальнейшей информации о проекциях и координатных системах смотрите документацию MapL Info.
В каждом приложении 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, которая получена из системы
104 |
Справочник 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 |
105 |
Функция 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(_)
106 |
Справочник MapBasic |