mapinfo用户手册 第22章(一)

类别:VC语言 点击:0 评论:0 推荐:
 

第22章 使用MapBasic

打开mapbasic窗口

要打开mapbasic窗口,选择选项》显示mapbasic窗口,mapbasic窗口就显示在屏幕上。

象其他窗口一样,你可以改变它的大小或移动到一个新位置。你可以在该窗口输入mapbasic代码或在集成mapinfo时阅读mapbasic代码。要知道mapinfo是怎样执行一个选定的语句,打开mapbasic窗口,然后打开世界地图表。选择查询》选择。敲入表达式:pop_1994>1000000。确定结果浏览窗口被选中,点击确定。 这些指令的语法将在mapbasic窗口显示:

Open Table ”C:\MAPINFO\DATA\WORLD\World.tab” Interactive

Map From World

select * from World where Pop_1994 > 1000000 into Selection

browse * from Selection

第一行是打开一张世界表;第二行是自动生成的,因为世界表默认是在地图窗口显示;第三行是选择语句的语法;第四行是检查浏览器的结果。你也可以在mapbasic窗口输入MapBasic语句。将你的光标置于选择语句下,键入以下语句

Map from Selection

在行末敲击回车,命令就执行了。你将会看到你选择的显示在地图窗口。如上所述,mapbasic窗口起初是为辅助mapbasic程序员的。本章的余下部分将集中讲述对mapinfo用户来说最有用的mapbasic命令的指令和例子

Buffer( )函数

目的

返回一个代表缓冲区的区域物体(在一个已经存在的物体一定范围内特定的缓冲区域)

语法

Buffer ( inputobject, resolution, width, unit_name )

inputobject是一个物体表达式

resolution是一个小整数值代表每个角的节点数目

width是一个浮精度值代表缓冲区的半径,如果宽度是负的,如果输入物体是一个封闭物体,返回的物体是比原物体稍小的物体

unit_name(单位名称)是指长度单位(如mi指英里,km指公里) 宽度所要用到的计量单位

返回值

返回一个区域

描述

Buffer( )函数返回代表缓冲区的一个区域

Buffer( )函数一次只能操作一个物体。如果创建一个物件集,???使用创建物体作为缓冲语句。

FrontWindow( )函数

目的

返回激活窗口的整数标记。这允许你在MapBasic窗口后更改最前面的窗口。

语法

FrontWindow( )

返回值

Integer 整数

描述

FrontWindow( )函数返回最前面的文件窗口(地图、浏览器、图形、版面输出)

例子

Print ”The window id is ” + str$(FrontWindow()).

Example

Print ”The window id is ” + str$(FrontWindow()).

CreateCircle( )函数

目的

返回代表圆的一个物体值

语法

CreateCircle( x , y , radius )

X是单精度值,代表圆心的x轴位置(如经度)

Y是单精度值,代表圆心的y轴位置(如纬度)

Radius是单精度值,代表圆心的半径

返回值

Object

物体

描述

CreateCircle( )函数返回代表圆的一个物体值

X、y参数使用MapBasic正在默认使用的坐标系统。MapBasic使用经纬度坐标系统,尽管Set CoordSys语句能够重新设置MapBasic来使用一个不同的坐标系统。注意MapBasic的坐标系统独立于任何map窗口的坐标系统。Radius参数标记圆的半径,不管MapBasic现在使用什么距离单位。MapBasic使用英里作为默认的距离单位,不过使用Set Distance Units语句可以设置MapBasic采用不同的距离单位。圆将采用现在选中的画笔方式。通过CreateCircle( )函数可以创建一个分配给物体变量的圆,储存在已有表的一行中(通过update刷新语句),或者插入到新的一行表中(通过插入语句)

注意:在一个布局窗口创建一个物体前,必须先声明Set CoordSys Layout语句。

CreateLine( )函数

目的

返回代表一条线的物体值

语法

CreateLine( x1 , y1, x2 , y2 )

X1是单精度值,代表线起点的x轴位置(如经度)

y1是单精度值,代表线起点的y轴位置(如纬度)

X2是单精度值,代表线终点的x轴位置(如经度)

Y2是单精度值,代表线终点的y轴位置(如纬度)

返回值

Object

描述

CreateLine( )函数返回代表一条线的物体值

X、y参数使用MapBasic正在默认使用的坐标系统。MapBasic使用经纬度坐标系统,通过Set CoordSys语句能够重新设置MapBasic来使用一个不同的坐标系统。注意MapBasic的坐标系统独立于任何map窗口的坐标系统。通过CreateLine( )函数可以创建一个分配给物体变量的线,储存在已有表的一行中(通过update刷新语句),或者插入到新的一行表中(通过插入语句)

注意:在一个布局窗口创建一个物体前,必须先声明Set CoordSys Layout语句

CreatePoint( )函数

目的

返回代表点的一个物体值

语法

CreatePoint( x , y )

X是单精度值,代表x轴位置(如经度)

Y是单精度值,代表y轴位置(如纬度)

x is a Float value, representing an x_position (e.g. Longitude)

y is a Float value, representing a y_position (e.g. Latitude)

返回值

Object

描述

CreatePoint( )函数返回代表点的一个物体值

X、y参数使用MapBasic正在默认使用的坐标系统。MapBasic使用经纬度坐标系统,不过Set CoordSys语句能够重新设置MapBasic来使用一个不同的坐标系统。注意MapBasic的坐标系统独立于任何map窗口的坐标系统。点将采用现在选中的符号方式。通过CreateCircle( )函数可以创建一个分配给物体变量的圆,储存在已有表的一行中(通过update刷新语句),或者插入到新的一行表中(通过插入语句)

注意:在一个布局窗口创建一个物体前,必须先声明Set CoordSys Layout语句。

CreateText( ) 函数

目的

返回一个特殊地图窗口的文字对象

语法

CreateText( window_id , x , y , text , angle , anchor , offset )

window_id是代表一个地图窗口的的整型窗口标志

X、y是单精度值,代表文字放置的x/y轴位置

Text是字符型值,代表组成文字对象的文字

Angle是单精度值,代表旋转的角度,如是水平文字,输入0

Anchor是从0到8的整型数值,控制文字与锚定位置的相对位置

Location输入以下代码中的一行

文本位置数字代码

居中 0

上左 1

上中 2

上右 3

中左 4

中右 5

下左 6

下中 7

下右 8

Offset是从0到50的一个整数值,代表文字与锚定位置的偏移值(象素),当锚定值为0时,offset可以忽略(居中)

返回值

Object

描述

CreateText( )函数返回一个特殊地图窗口的文字对象

文字对象使用现有的字体形式

当文字创建时,字高被现有的字体控制。不过,当文字创建后,它的大小依赖地图窗口的缩放,放大会使文字显得大一些。

本文地址:http://com.8s8s.com/it/it2819.htm