mapinfo使用者手冊 第22章(一) (轉)

worldblog發表於2007-12-15
mapinfo使用者手冊 第22章(一) (轉)[@more@] 

第22章 使用MapBasic:namespace prefix = o ns = "urn:schemas--com::office" />

開啟mapbasic視窗

要開啟mapbasic視窗,選擇選項》顯示mapbasic視窗,mapbasic視窗就顯示在螢幕上。

象其他視窗一樣,你可以改變它的大小或移動到一個新位置。你可以在該視窗輸入mapbasic程式碼或在整合mnfo時閱讀mapbasic程式碼。要知道mapinfo是怎樣一個選定的語句,開啟mapbasic視窗,然後開啟世界地圖表。選擇查詢》選擇。敲入:pop_1994>1000000。確定結果瀏覽視窗被選中,點選確定。 這些指令的語法將在mapbasic視窗顯示:

Open Table ”C:MAPINFODATAWORLDWorld.tab” Interactive

Map From World

* from World where Pop_1994 > 1000000 into Selection

browse * from Selection

第一行是開啟一張世界表;第二行是自動生成的,因為世界表預設是在地圖視窗顯示;第三行是選擇語句的語法;第四行是檢查的結果。你也可以在mapbasic視窗輸入MapBasic語句。將你的游標置於選擇語句下,鍵入以下語句

Map from Selection

在行末敲擊回車,命令就執行了。你將會看到你選擇的顯示在地圖視窗。如上所述,mapbasic視窗起初是為輔助mapbasic員的。本章的餘下部分將集中講述對mapinfo來說最有用的mapbasic命令的指令和例子

Buffer( )

目的

返回一個代表緩衝區的區域物體(在一個已經存在的物體一定範圍內特定的緩衝區域)

語法

Buffer ( input, 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 , )

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( )函式返回一個特殊地圖視窗的文字物件

文字物件使用現有的字型形式

當文字建立時,字高被現有的字型控制。不過,當文字建立後,它的大小依賴地圖視窗的縮放,放大會使文字顯得大一些。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章