- •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( )
Оператор Create Point
Оператор Create Point
Назначение:
Создает объект типа "точка".
Синтаксис:
Create Point
[ Into { Window window_id | Variable var_name } ] (x, y)
[ Symbol... ]
где
window_id – идентификатор окна, целое число; var_name – имя объектной переменной;
x, y – координаты точки;
Слово Symbol начинает стандартное предложение для назначения стиля символа точечного объекта.
Описание:
Оператор Create Point создает новый точечный объект.
Если оператор включает предложение Into Variable, то созданный объект объявляется как значение объектной переменной. Если после слов Into Window указывается окно, объект помещается на подготовленное место в окне (например, на изменяемый слой). Если Into вообще нет в операторе, MapBasic попробует создать точку в самом верхнем окне; если это невозможно (например, поверх всех окон лежит окно Графика), то объект не будет создан.
Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Point. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты.
Если объект создается для окна Отчета, параметры x и y интерпретируются как координаты на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так X-координата – это расстояние от левого края листа до точки, а Y-координата – расстояние от верхнего края листа. Перед созданием объекта в окне Отчета необходимо выполнить оператор Set CoordSys Layout.
Предложением Symbol назначается стиль символа, которым точечный объект обозначается на Карте. Если в операторе это предложение не участвует, оператор Create Point использует установку соответствующего режима для стиля линии в MapInfo (стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ СИМВОЛОВ).
Смотрите также:
CreatePoint( ), Insert, Symbol, Update
Справочник MapBasic |
157 |
Оператор Create PrismMap
Оператор Create PrismMap
Назначение
Создает Карту-призму.
Синтаксис
Create PrismMap
[ From Window window_ID | MapString mapper_creation_string ]
{ layer_id | layer_name } With expr
[ Camera [ Pitch angle | Roll angle | Yaw angle | Elevation angle ] | [ Position (x,y,z) | FocalPoint (x,y,z) ] |
[ Orientation (vu_1, vu_2, vu_3, vpn_1, vpn_2, vpn_3, clip_near, clip_far) ] ]
[ Light Color lightcolor ] ] [ Scale grid_scale ]
[ Background backgroundcolor ]
window_id это идентификатор окна для окна Карты, которое содержит слой полигонов. Если слой с полигонами не найден, появится сообщение об ошибке.
mapper_creation_string определяет командную строку, которая создает текстуру для Карты-призмы. layer_id - это идентификатор слоя Карты
layer_name это имя слоя Карты.
Camera определяет позицию и ориентацию камеры.
angle - это угол в градусах. Горизонтальный угол (измеряется в диапазоне 0-360 градусов) определяет вращение карты вокруг центральной точки поверхности (grid). Вертикальный угол изменяется в диапазоне 0-90 и измеряет наклон карты от начальной точки.
Pitch настраивает вращение камеры вокруг оси X, при этом точкой вращения считается центральная (начальная) точка камеры.
Roll настраивает вращение камеры вокруг оси Z, при этом точкой вращения считается центральная (начальная) точка камеры.
Yaw настраивает вращение камеры вокруг оси Y, при этом точкой вращения считается центральная (начальная) точка камеры.
Elevation настраивает вращение карты вокруг оси X, при этом точкой вращения считается фокальная точка камеры.
Position определяет позицию камеры и/или источника освещения
FocalPoint определяет фокальную точку камеры и/или источника освещения.
Orientation определяет для камеры значение параметров ViewUp, ViewPlane и Clipping Range (используется для инерции зрительного восприятия).
grid_scale - это масштаб по оси Z. Если значение > 1, то изображение растянется по оси Z, а если значение < 1, то изображение сожмется по оси Z.
backgroundcolor - это цвет, используемый для фона и определяемый функцией RGB.
158 |
Справочник MapBasic |
Оператор Create PrismMap
Описание
Оператор Create PrismMap создает окно Карты-призмы. С помощью карты-призмы можно отображать несколько переменных для одного объекта. Например, цвет, ассоциированный с полигоном, может иметь тематическое значение одной колонки, а высота призмы может отражать значение другой колонки. Оператор Create PrismMap соответствует команде КАРТА > СОЗДАТЬ
КАРТУ-ПРИЗМУ.
Между сеансами работы MapInfo сохраняет настройки карты-призмы, сохраняя оператор Create PrismMap в файле рабочего набора. Таким образом, чтобы увидеть пример оператора Create Prism Map, создайте карту, выполните команду КАРТА > СОЗДАТЬ ТЕМАТИЧЕСКУЮКАРТУ, сохраните рабочий набор (например, PRISM.WOR), и проверьте рабочий набор в окне MapBasic. После этого скопируйте оператор Create PrismMap в Вашу программу MapBasic. Аналогично можно увидеть примеры операторов Create PrismMap при открытии окна MapBasic перед выполнением команды КАРТА > СОЗДАТЬ ТЕМАТИЧЕСКУЮКАРТУ.
Дополнительное предложение window_id определяет, какая карта послужит основой Карты-призмы; если предложение window_id отсутствует, MapBasic создаст призмы для самого верхнего окна Карты. Оператор Create PrismMap указывает, какой слой надо использовать, даже если окно Карты имеет только один слой. Слой может быть инентифицирован по номеру (layer_id), где самый верхний слой карты имеет layer_id, равный 1, следующий слой имеет layer_id, равный 2, и т.д. В то же время оператор Create PrismMap может идентифицировать слой карты по имени (например, “world”).
Каждый оператор Create PrismMap должен определять предложение выражения expr. MapInfo оценивает это выражение для каждого объекта в таблице, из которой строятся призмы; обрабатывая действия оператора Create PrismMap, MapInfo выбирает стиль отображения каждого объекта, основываясь на значении записи expr. Выражение обычно включает в себя имя одной или более колонок из таблицы.
Пример
Open Table "STATES.TAB" Interactive
Map From STATES
Create PrismMap From Window FrontWindow() STATES With Pop_1980
Background RGB(192,192,192)
Смотрите также
Функция PrismMapInfo()
Оператор Set PrismMap
Справочник MapBasic |
159 |
Оператор 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", Вы разделите диапазоны, исходя из разброса значений (например, 0-25, 25-50, 50-75, 75-100). Задав "Equal Count", Вы разделите диапазоны, исходя из количества записей в таблице, т.е. в диапазоны попадет примерно одинаковое количество записей. Задав "Natural Break", Вы разделите диапазоны, исходя из естественно близких групп значений. Задав "StdDev", Вы сначала делите диапазоны по среднему значению, а затем добавляете один диапазон со значениями выше среднего, но не далее величины дисперсии от среднего, а также еще один диапазон со значениями ниже среднего, но не далее величины дисперсии от среднего.
Предложение Into Variable определяет имя массива переменных типа Float, в который будет помещен результат. Не нужно следить за размерами этого массива; MapInfo автоматически изменяет его размер. Размер этого массива будет всегда в два раза больше количества диапазонов, так как в нем помещаются как нижняя, так и верхняя граница диапазона.
После выполнения оператора Create Ranges выполняется оператор Shade, чтобы создать тематическую Карту. В операторе Shade можно задать предложение From Variable, которое прочитает массив границ диапазонов. Оператор Shade обычно использует ту же таблицу и то же
160 |
Справочник MapBasic |
Оператор 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”
Справочник MapBasic |
161 |
Оператор 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
162 |
Справочник MapBasic |