$layer
- A
- B
- C
- $layer.canvas
- $layer.copy
- D
- $layer.delete
- $layer.display
- E
- $layer.editlock
- $layer.exists
- F
- $layer.field
- G
- H
- I
- $layer.import
- J
- K
- L
- $layer.logicaldisplay
- M
- N
- $layer.name
- $layer.newobject
- $layer.num
- O
- $layer.objects
- P
- $layer.property
- $layer.propertyarray
- Q
- R
- $layer.remove
- S
- $layer.scan.*
- $layer.selection
- $layer.symbol
- T
- $layer.tranceparent
- $layer.type
- U
- V
- W
- X
- Y
- Z
- $layer.zorder
$layer.scan.*
gdi $layer.scan.*
レイヤからオブジェクトを抽出する機能です
オブジェクトリストを使用する方法よりメモリを消費しません
gdi $layer.scan.new $protection [root]
return scanobj
レイヤのオブジェクトをスキャンするための準備をします
$protectionはスキャンするオブジェクトのプロテクションを指定します(0〜3)
-1を与えるとプロテクションをチェックしません
"root"を与えると親オブジェクトだけのスキャン指定になります
スキャンオブジェクトが返ります
gdi $layer.scan.next $scanobj
return {obj|0}
スキャンオブジェクトからオブジェクトを順に取り出します
$scanobjはスキャンオブジェクトです
オブジェクトハンドルが返ります
0が返れば抽出終了です。この時、スキャンオブジェクトは自動的に削除されます
gdi $layer.scan.delete $scanobj
スキャンオブジェクトを削除します
スキャンを最後まで行わない場合に使用します
スキャンを最後まで行った場合は自動的に削除されますのでこのコマンドを
使用してはなりません
$layer.canvas
gdi $layer.canvas
return canvas
レイヤのキャンバスハンドルを返します
$layer.copy
gdi $layer.copy $layername
return layer
レイヤ($layer)のコピーを作成しハンドルを返します
既に同一名のレイヤが存在済みの場合は0を返します
新レイヤの名称が$layername
新レイヤの表示順はlayerの直後
$layer.display
gdi $layer.display [$onoff]
return onoff
$onoffにonかoffを与えると表示モードを変更します
$onoffにallonかalloffを与えるとキャンバスの全てのレイヤを表示on/offに設定します
$onoffを省略すると現在の表示モードを0か1で返します
$layer.logicaldisplay
gdi $layer.logicaldisplay [$onoff $from $to]
gdi $layer.logicaldisplay $index
return onoff
論理スケールについての表示ONOFFを設定します
$indexだけを与えるとその論理スケール番号の表示ONOFF設定を返します
$layer.exists
gdi $layer.exists $obj
return true
レイヤにオブジェクトが生存しているかを返します
$layer.field
gdi $layer.field [$comment]
レイヤにコメントをセットします
アーギュメントを省略すると現在の値を返します
$layer.import
gdi $layer.import $canvas
return layer
layerを指定したcanvasにコピーしレイヤハンドルを返します
$layer.name
gdi $layer.name [$newname]
return name
レイヤの名前を返します
newnameが与えられると名前を変更します
その場合レイヤハンドルは変わりません
$layer.newobject
gdi $layer.newobject
return obj
レイヤにオブジェクトを作成します
オブジェクトハンドルを返します
$layer.num
gdi $layer.num
return num
レイヤに含まれるオブジェクト数を返します
$layer.propertyarray
gdi $layer.propertyarray *varname
レイヤのプロパティを配列変数にセットします
*varnameには配列変数名を与えます
配列要素がプロパティ名です
例 gdi $layer.propertyarray prop
prop(rgb) ← "255 255 255"
prop(style) ← "dot"
prop(selection) ← "on"
下記のダイナミックプロパティ名は配列要素に存在しません
dwidth,dsymbol,dsymbolS,symbolE,dfont,dedge,dfont
ダイナミック値とスタティック値を持つプロパティの値は、最後に
"dynamic"か"static"いずれかのキーワードが付けられます
例えばfontの場合
prop(font) ← "{MS 明朝} 標準 24 static"
prop(font) ← "{MS 明朝} 標準 1000 dynamic"
尚、styleプロパティのduser/user、brushプロパティのdpattern/patternは存在します
prop(style) ← "duser 4 1000 200 1000 200"
$layer.property
gdi $layer.property $propertyname $value [...]
return layer
レイヤのプロパティをセットします
プロパティ名と値の組を必要なだけ与えます
レイヤハンドルが返ります
プロパティ名一覧
rgb | hrgb | brgb | paint | tranceparent |
style | appstyle | brush | width | dwidth |
font | dfont | mode | symbol | dsymbol |
style2 | cap | edge | dedge | |
inside | static | |||
display | selection |
図形タイプと有効なプロパティ
全図形共通 | |
表示設定 | display |
セレクション世低 | selection |
スクリーン座標系 | static |
road(道路) | |
道路縁色 | rgb |
道路縁面 | hrgb |
道路縁線種 | style |
道路面線種 | style2 |
道路幅 | width | dwidth |
道路縁幅 | edge | dedge |
道路面ブラシ | brush |
道路面端末処理 | cap |
circle(円)fan(扇形) | |
円周色 | rgb |
円周線種 | style |
円周線幅 | width | dwidth |
円内ブラシ | brush |
円内塗り潰し,ハッチング色 | hrgb |
ハッチング時の背景色 | brgb |
ハッチング時の透明指定 | paint |
arc(円弧) | |
円弧色 | rgb |
円弧線種 | style |
円弧線幅 | width | dwidth |
string(ライン) | |
線色 | rgb |
線線種 | style |
線線幅 | width | dwidth |
polygon(面) | |
外周色 | rgb |
外周線種 | style |
外周線幅 | width | dwidth |
面ブラシ | brush |
面塗り潰し、ハッチング色 | hrgb |
ハッチング時の背景色 | brgb |
ハッチング時の透明指定 | paint |
外周境界 | inside |
text(文字) | |
文字色 | rgb |
背景塗り潰し色 | brgb |
背景塗り潰し指定 | paint |
フォント,サイズ | font | dfont |
原点 | mode |
areatext | (長方形内にサイズが調整される文字列) |
外周色 | rgb |
外周線種 | style |
外周線幅 | width | dwidth |
面ブラシ | brush |
面塗り潰し、ハッチング色 | hrgb |
ハッチング時の背景色 | brgb |
ハッチング時の透明指定 | paint |
文字色 | rgb |
背景塗り潰し色 | brgb |
背景塗り潰し指定 | paint |
フォント,サイズ | font | dfont |
symbol(シンボル) | |
シンボル,サイズ | symbol | dsymbol |
一色指定 | paint |
一色指定時の色 | rgb |
symbolline(特殊線) | |
一色指定 | paint |
一色指定時の色 | rgb |
アプリケーション線種 | appstyle |
symbolpolygon | (外周特殊線のポリゴン) |
外周線 | symbollineと同じ |
面 | polygon面部と同じ |
square(長方形) | |
polygonと同 | |
rectangle(矩形) | |
polygonと同 | |
bmp(ラスタ) | |
白部透明 | transparent |
view(ビュー) | |
個別プロパティ無し | |
icon(アイコン) | |
個別プロパティ無し |
プロパティ名と値
rgb | 前景色 RGB値 |
hrgb | 面図形の塗り潰し、またははハッチング色RGB値 |
brgb | 面図形ハッチングの場合の背景色またはtextの背景色RGB値 |
paint | ハッチングの場合の背景塗り潰しon/off またはtextの背景色塗り潰しon/off |
または、onの時に | |
シンボルの表示色に前景色を強制採用 | |
シンボルライン、シンボルポリゴンのライン色に前景色を強制採用 | |
width | 線幅 ピクセル固定値 |
dwidth | 線幅 マップ単位での幅(ダイナミック線種) |
cap | roadの終端処理 0:解放 1:始点閉止 2:終点閉止 3:始終点閉止 |
edge | roadの道路縁幅 ピクセル固定値 |
dedge | roadの道路縁幅 マップ単位での幅(ダイナミック) |
tranceparent | bmpの場合の白部透明on/off |
その他の図形は半透明 | |
inside | polygon,symbolpolygon,square の場合の外周線描画モード |
off:中心に描画(デフォルト)、on:内側に描画 | |
displa | 表示on/off |
selection | セレクション可否on/off |
static | on:描画位置スクリーン固定 off:通常描画 |
ただしラバーバンドオブジェクト(アニメーションオブジェクト)に有効 | |
style | 線種 null solid dot dash dashdot dashdotdot user duser |
user の場合はデータ数 可視線長 隠線長 ...を続ける | |
例: style user 4 10 5 10 5 | |
duserの場合もuserと同であるが、線長をマップ単位で与える | |
style2 | roadの場合の道路面線種 |
mode | textの場合の原点位置 |
X方向 L:左 C:中心 R:右 | |
Y方向 T:上 C:中心 B:下 | |
XY方向の組み合わせで指定 例:LC | |
brush | 面の塗りつぶし,ハッチングパターン |
solid 塗りつぶし null: 空 leftdown: 左下がり斜線 rightdown: 右下がり斜線 | |
cross クロス cross45: 45度クロス horizontal: 水平線 vertical:垂直線 | |
pattern シンボルパターン シンボル名とサイズを続ける 例:brush pattern 黒丸 12 | |
dpattern ダイナミックシンボルパターン patternと同。ただしサイズはマップ単位 | |
bmp ビットマップパターン bmpファイル名を続ける 例:brush bmp mypattern.bmp | |
font | textのフォントとサイズ 例:font MS ゴシック 標準 12 |
dfont | fontと同。ただしサイズはマップ単位(ダイナミックフォント) |
symbol | symbolタイプ場合のシンボル名とサイズ |
例:symbol 赤丸 20 | |
dsymbol | symbolと同。ただしサイズはマップ単位(ダイナミックシンボル) |
appstyle | symbolline,symbolpolygonの場合のアプリケーションスタイル |
スタイル数のあとにその数分だけのスタイル名を続ける | |
例:appstyle 2 破線スタイル1 シンボルスタイル2 | |
アプリケーションスタイルは[gdi $canvas.newstyle]コマンドであらかじめキャンバスに」作成 | |
されている必要がある |
$layer.remove
gdi $layer.remove [$obj]
[return deleted]
$objを省略するとレイヤを削除します
レイヤに含まれるオブジェクトも全て削除します
gdi $layer.deleteと同じ機能です
リターン値はありません
$objを与えるとレイヤに含まれるオブジェクトを削除します
削除されたら1が返ります。失敗したら0が返ります。
レイヤハンドルが既知でかつオブジェクトの生存に確信が無いときに使用します
レイヤハンドルが不明でかつオブジェクトの存在が確定している時は
gdi $obj.remove
を使用してください
$layer.selection
gdi $layer.selection [$onoff]
セレクションの可否を変更します
onかoffを与えます
アーギュメントを省略すると現在の設定が0か1で返ります
$layer.symbol
gdi $layer.symbol
return symbol
レイヤの図形タイプがシンボル、シンボルライン、シンボルポリゴンの場合にのみ有効です
設定されているシンボルリソースハンドルを返します(symbolプロパティ)
ただしシンボルラインとシンボルポリゴンの場合にはappstyleが未設定の場合にだ
け有効です
$layer.type
gdi $layer.type
return type
レイヤの図形タイプを返します
リターンされる図形タイプ文字列
road
circle
arc
fan
string
polygon
text
areatext
symbol
symbolline
symbolpolygon
bmp
rectangle
square
view
オブジェクトから図形タイプを直接(レイヤハンドルを介さず)求めるには
gdi $obj.type
を使います。
$layer.tranceparent
gdi $layer.tranceparent $onoff
図形タイプがbmpのレイヤにのみ有効です
onかoffを与えてイメージの白部透明モードを変更します
$layer.zorder
gdi $layer.zorder $where [$originlayer]
レイヤ表示順を設定します
gdi $layer.zorder {bottom | top}
レイヤ表示順を最前面か最背面に設定します
bottom:レイヤを底面(最初に表示)に移動
top :レイヤを表面(最後に表示)に移動
gdi $layer.zorder {before | after} $originlayer
レイヤ表示順を指定レイヤの前後に設定します
before:$layerを$originlayerの前(先に表示)に移動
after :$layerを$originlayerの後(後に表示)に移動
$layer.objects
gdi $layer.objects [$protectionlevel] [root]
return olist
レイヤ内のオブジェクトから指定レベルのプロテクション($protectionlevel)が設定
されているオブジェクトのみをオブジェクトリストに格納します
$protectionlevelを省略するか-1を与えるとすべてのオブジェクトを返します
アーギュメントに"root"が現れると子供オブジェクトは無視されます
$layer.editlock
gdi $layer.editlock
レイヤを修正禁止にします
プロテクションと異なり、修正可に変更できません
編集権限による禁止設定です