- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Функция CartesianBuffer( )
Функция CartesianBuffer( )
Назначение:
Возвращает объект типа полигон, представляющий буферную зону (площадь внутри указанного расстояния от существующего объекта).
Синтаксис:
CartesianBuffer ( inputobject, resolution, width, unit_name ) inputobject это выражение объекта
resolution это короткое целое, представляющее число узлов для круга в каждом углу
width это величина с плавающей запятой, представляющая радиус буфера; если ширина отрицательна, и если входящий объект является закрытым, то возвращаемый объект будет по размерам меньше исходного
unit_name это имя единиц измерения расстояния (наприер, ”mi” для милей, ”km” для километров) используемых для измерения ширины
Возвращаемое значение:
Объект типа полигон
Описание:
Функция CartesianBuffer( ) возвращает полигон, представляющий буферную зону.
Функция CartesianBuffer( ) оперирует с одним объектом одновременно. Для создания буфера вокруг ряда объектов, используйте оператор Create Object As Buffer.
Функция CartesianBuffer( ) будет рассчитывать буферную зону, в предположении, что объект спроецирован на плоскость и используя ширину width для расчета декартового расстояния буферной зоны вокруг объекта. Если inputobject в проекции Широта/Долгота, то сферические вычисления будут использоваться независимо от того, какая функция, связанная с буфером будет применяться. Если inputobject в плановых координатах, то будут использоваться декартовые вычисления, независимо от того, какая буферная функция вызывается.
Пример :
Следующая программа создает линейный объект, затем создает буфер вокруг него. Буферная зона занимает 10 миль во всех направлениях вокруг линии.
Dim o_line, o_region As Object
o_line = CreateLine( 73.5, 42.5, 73.6, 42.8) o_region = CartesianBuffer( o_line, 20, 10, ”mi”)
Смотрите также:
Функция Buffer (). Создание объектов. Функция SphericalBuffer ()
58 |
Справочник MapBasic |
Функция CartesianDistance ( )
Функция CartesianDistance ( )
Назначение:
Возвращает расстояние между двумя точками.
Синтаксис:
CartesianDistance ( x1 , y1 , x2 , y2 , unit_name ) x1 и x2 это xLкоординаты (долгота)
y1 и y2 это yLкоординаты (широта)
unit_name это строковая величина, соответствующая имени единиц измерения расстояния (например, ”km”)
Возвращаемое значение :
Вещественное
Описание:
Функция CartesianDistance( ) вычисляет расстояние между двумя точками.
Функция возвращает измеренное расстояние в единицах, указанных параметром unit_name; например, что бы получить расстояние в милях, укажите ”mi” как параметр unit_name . Смотрите оператор Set Distance Units, там полный список возможных единиц измерения.
Функция CartesianDistance( ) всегда возвращает значение, используя для расчетов декартовый алгоритм. Будет возвращено значение L1 для данных в системе координат Широта/Долгота, поскольку система Широта/Долгота не проективная и не декартовая.
Параметры xL и yLкоординат должны использовать текущую систему координат MapBasic. По умолчанию, MapInfo использует координатную систему долгота/широта. Вы можете поменять систему координат MapBasic используя оператор Set CoordSys.
Если текущая система координат географическая, CartesianDistance( ) возвращает расстояние между двумя точками, измеренное по большой дуге. Расстояние по большой дуге это кратчайшее расстояние на сфере между двумя точками.
Если текущая система координат плановая, то CartesianDistance( ) возвращает декартовое расстояние.
Пример:
Dim dist, start_x, start_y, end_x, end_y As Float
Open Table ”cities”
Fetch First From cities
start_x = CentroidX(cities.obj) start_y = CentroidY(cities.obj) Fetch Next From cities
end_x = CentroidX(cities.obj) end_y = CentroidY(cities.obj)
dist = CartesianDistance(start_x,start_y,end_x,end_y,”mi”)
Смотрите также:
Математические функции,
Функция CartesianDistance (), Функция Distance ()
Справочник MapBasic |
59 |
Функция CartesianObjectLen( )
Функция CartesianObjectLen( )
Назначение:
Возвращает географическую длиту линии или полилинии.
Синтаксис:
CartesianObjectLen( expr , unit_name ) obj_expr выражение объекта
unit_name это строковая величина, представляющая имя единиц измерения расстояния (например, ”km”)
Возвращаемое значение:
Вещественное
Описание:
Функция CartesianObjectLen( ) возвращает длину объекта. Обратите внимание, что только объекты типа линия и полилиния имеют длину большую чем ноль; для измерения периметра полигонов, эллипсов и прямоугольников, используйте функцию Perimeter( ).
Функция CartesianObjectLen( ) всегда будет возвращать значение, используя декартовый алгоритм. Величина L1 будет возвращаться для данных в системе Широта/Долгота, поскольку Широта/ Долгота не проективна и не декартова.
Функция CartesianObjectLen( ) возвращает длину, измеренную в единицах длины, определенных параметром unit_name; например, для получения длины в милях, укажите ”mi” как параметр unit_name. Смотрите описание оператора Set Distance Units там есть список возможных типов единиц измерения длины.
Пример:
Dim geogr_length As Float
Open Table ”streets”
Fetch First From streets
geogr_length = CartesianObjectLen(streets.obj, ”mi”)
’geogr_length now represents the length of the
’street segment, in miles
Смотрите также:
Запросы к объектам карты, функция SphericalObjectLen (), функция CartesianObjectLen(), функция ObjectLen()
60 |
Справочник MapBasic |
Функция CartesianPerimeter( )
Функция CartesianPerimeter( )
Назначение
Возвращает периметр графических объектов.
Синтаксис
CartesianPerimeter( obj_expr , unit_name ) obj_expr это выражение для объекта
unit_name это строковая величина L имя единицы измерения расстояния (например, ”km”)
Возвращаемое значение
Вещественное
Описание
Функция CartesianPerimeter( ) вычисляет периметр объекта obj_expr object. Функция Perimeter( ) определена для следующих типов объектов: эллипсов, прямоугольников, скругленных прямоугольников и полигонов. Другие типы объектов имеют периметр равный нулю.
Функция CartesianPerimeter( ) всегда будет возвращать значение, вычисленное по декартовому алгоритму. Величина L1 будет возвращаться для денных в системе Широта/Долгота, поскольку Широта/Долгота не проективна и не декартова.
Возвращаемое значение длины периметра осуществляется в единицах длины, определенных параметром unit_name; например, для получения длины в милях, укажите ”mi” в качестве параметра unit_name. Смотрите описание оператора Set Distance Units там есть полный список возможных единиц измерения длины.
Приближенный результат возвращается при измерении периметра скругленного прямоугольника. MapBasic вычисляет периметр скругленного прямоугольника как если бы он не был скругленным.
Пример
Следующий пример показывает как Вы можете использовать функцию CartesianPerimeter( ) для определения периметра географического объекта.
Dim perim As Float Open Table ”world” Fetch First From world
perim = CartesianPerimeter(world.obj, ”km”)
’The variable perim now contains the perimeter of the polygon that’s attached to
’the first record in the World table.
Вы можете также использовать функцию CartesianPerimeter( ) внутри оператора SQL Select. Следующий оператор Select выбирает информацию из таблицы States, и хранит результаты во временной таблице, называемой Results. Поскольку оператор Select включает функцию Cartesian4 Perimeter( ), таблица Results будет включать колонку, показывающую периметр каждого штата.
Open Table ”states”
Select state, CartesianPerimeter(obj, ”mi”)
From states
Into results
Смотрите также:
Функция CartesianPerimeter (), функция SphericalPerimeter (), функция Perimeter ()
Справочник MapBasic |
61 |