- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор Create Ranges
Оператор Create Ranges
Назначение:
Вычисляет значения диапазонов для условного (тематического) выделения методом выделения диапазонов и помещает объекты в массив переменных, который можно впоследствии использовать в операторе Shade.
Синтаксис:
Create Ranges
From table
With expr
[ Use {"Equal Ranges" | "Equal Count" | "Natural Break" | "StdDev" } ] [ Quantile Using q_expr ]
[ Number num_ranges ]
[ Round rounding_factor ] Into Variable array_variable
где
table – имя открытой таблицы, объекты которой будут участвовать в тематическом выделении; expr – выражение, которое вычисляется для каждой записи таблицы;
q_expr – выражение, используемое при квантовании; num_ranges – задает число диапазонов (по умолчанию 4);
rounding_factor – делитель, по которому округляются диапазоны при разделении (например, значение 10 задает округление до ближайшего десятка);
array_variable – массив численных переменных типа Float, в который будут помещены значения для диапазонов.
Описание:
Оператор Create Ranges вычисляет значения диапазонов, которые могут быть впоследствии использоваться в операторе Shade, для создания тематического слоя на Карте методом выделения диапазонов. Подробную информацию о тематических Картах смотрите в документации по MapInfo.
Предложение Use задает метод, каким будут разделены данные на диапазоны. Задав "Equal Ranges", Вы разделите диапазоны, исходя из разброса значений (например, 0L25, 25L50, 50L75, 75L100). Задав "Equal Count", Вы разделите диапазоны, исходя из количества записей в таблице, т.е. в диапазоны попадет примерно одинаковое количество записей. Задав "Natural Break", Вы разделите диапазоны, исходя из естественно близких групп значений. Задав "StdDev", Вы сначала делите диапазоны по среднему значению, а затем добавляете один диапазон со значениями выше среднего, но не далее величины дисперсии от среднего, а также еще один диапазон со значениями ниже среднего, но не далее величины дисперсии от среднего.
Предложение Into Variable определяет имя массива переменных типа Float, в который будет помещен результат. Не нужно следить за размерами этого массива; MapInfo автоматически изменяет его размер. Размер этого массива будет всегда в два раза больше количества диапазонов, так как в нем помещаются как нижняя, так и верхняя граница диапазона.
После выполнения оператора Create Ranges выполняется оператор Shade, чтобы создать тематическую Карту. В операторе Shade можно задать предложение From Variable, которое прочитает массив границ диапазонов. Оператор Shade обычно использует ту же таблицу и то же
Справочник MapBasic |
147 |
Оператор Create Ranges
выражение для колонки, что и оператор Create Ranges.
Квантование диапазонов
Предложение Quantile Using отключает предложение Use и назначает разделение диапазонов квантованием, которое задается выражением Quantile Using.
Квантование лучше всего проиллюстрировать следующим примером. Оператор вычисляет границы диапазонов покупательной способности населения США (BPI), квантуя их по значениям населения штатов.
Create |
Ranges |
From states |
With |
BPI_1990 |
Quantile Using Pop_1990 |
Number 5
Into Variable f_ranges
В этом примере создается пять диапазонов (Number 5).
Штаты с высокой покупательной способностью населения (With BPI_1990) помещаются в "высшие" диапазоны (темные оттенки цвета), а с низкой – в "низшие" (светлые оттенки цвета).
Границы диапазонов устанавливаются следующим образом: так как предложение Quantile Using задает колонку "Pop_1990", то MapInfo сначала вычисляет общее количество населения США (около 250 миллионов); затем MapInfo делит результат на количество диапазонов (в нашем случае, 5) и получается пятьдесят миллионов. После этого MapInfo делит диапазоны так, чтобы суммарное население штатов, охватываемых диапазоном, приближалось (но не превосходило) пятьдесят миллионов.
MapInfo собирает штаты по порядку возрастания покупательной способности BPI, и в первый, "низший" диапазон попадают штаты с наинизшей покупательной способностью. MapInfo продолжает добавлять штаты в первый диапазон до тех пор, пока суммарное значение населения не достигнет или не приблизится к пятидесяти миллионам; в этот момент MapInfo решает, что первый диапазон готов и приступает к обсчету следующего и т.д.
Пример:
Include ”mapbasic.def”
Dim range_limits() As Float, brush_styles() As Brush
Dim col_name As Alias
Open Table ”states” Interactive
Create Styles |
|
|
From Brush(2, |
CYAN, 0) |
'стиль для "низшего" диапазона |
To Brush (2, |
BLUE, 0) |
'стиль для "высшего" диапазона |
Vary Color By |
”RGB” |
|
Number 5 |
|
|
Into Variable |
brush_styles |
’ Присвоим имя колонки переменной типа Alias: col_name = ”Pop_1990”
148 |
Справочник MapBasic |
Оператор Create Ranges
Create Ranges From states
With col_name
Use ”Natural Break”
Number 5
Into Variable range_limits
Map From states
Shade states
With col_name
Ranges
From Variable range_limits
Style Variable brush_styles
’ Вывод окна Легенды: Open Window Legend
Смотрите также:
Create Styles, Set Shade, Shade
Справочник MapBasic |
149 |
Оператор Create Rect
Оператор Create Rect
Назначение:
Создает объект "прямоугольник".
Синтаксис:
Create Rect
[ Into { Window window_id | Variable var_name } ] (x1, y1) (x2, y2)
[ Pen... ]
[ Brush... ]
где
window_id – идентификатор окна, целое число; var_name – имя объектной переменной;
x1, y1 – координаты начального угла прямоугольника;
x2, y2 – координаты противоположного по диагонали угла прямоугольника.
Слово Pen начинает стандартное предложение для назначения стиля линии объекта.
Слово Brush начинает стандартное предложение для назначения стиля штриховки объекта.
Описание:
Оператор Create Rect создает новый объект типа "прямоугольник". Если ширина равняется высоте, то объект является квадратом, иначе – прямоугольником.
Предложением Into Variable созданный объект объявляется как значение объектной переменной var_name. Если после слов Into Window указывается окно, объект помещается на подготовленное место в окне (например, в изменяемый слой). Если предложения Into вообще нет в операторе, MapL Basic попробует создать прямоугольник в самом верхнем окне; если это невозможно (например, поверх всех окон лежит окно Графика), то объект не будет создан.
Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Rect. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты. Если объект создается для окна Отчета, параметры x и y интерпретируются как координаты на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так, XLкоордината – это расстояние от левого края листа до точки, а YLкоордината – расстояние от верхнего края листа.
Замечание: Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.
Предложения Pen и Brush назначают стиль линии и штриховки объекта. Если в операторе не участвует предложение Pen, оператор Create Rect использует установку соответствующего режима для стиля линии в MapInfo. Стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ. Предложению Brush в MapInfo соответствует команда НАСТРОЙКА > СТИЛЬ ОБЛАСТЕЙ.
Смотрите также:
Brush, Create RoundRect, Insert, Pen, Update
150 |
Справочник MapBasic |