Gis:layer-add-attribute

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(gis:layer-add-attributes layerId attDef)


機能
layerId で指定された 'GIS レイヤー' オブジェクトに、attDef 定義リストで指定された新しい 'GIS 属性' を追加する。


引数
  • layerId: GISレイヤーの属性を問い合わせるための'ハンドル'識別子の整数
  • attDef: 属性定義リスト:(list 属性名 属性タイプ 属性の値)
    • 属性名: 属性の文字列
    • AttributeType: 属性のタイプ(タイプ定数列挙「Civil GIS Attribute Type」を参照)。
    • AttributeValue: (string または integer または double) 属性に割り当てる初期値。


戻り値
成功ならT、それ以外は nil


メモ

  • GIS 属性タイプ'については、タイプ定数列挙 "Civil GIS 属性タイプ" を参照。
  • GISフィーチャ属性'はGISデータベーステーブルの'列'を表し、各'GISフィーチャ'(dwgエンティティから構築される)はそのテーブルの'行'である;
  • 「GIS フィーチャー属性」の名前は常に大文字と小文字を区別しない!


サンプル
(vl-load-gis)
T

(setq layers (gis:get-layers))
("shp_3857_point_2d_utf8")

(setq layerId (gis:get-layer name))
1736947670764

(setq attributes (gis:layer-get-attributes layerId))
("id" "name" "int_number" "dec_number" "date")

(gis:layer-has-attribute layerId "NewId")
NIL

(gis:layer-add-attribute layerId (list "NewId" 3 "---empty---"))
T

(setq attributes (gis:layer-get-attributes layerId))
("id" "name" "int_number" "dec_number" "date" "NewId")

(gis:layer-has-attribute layerId "NewId")
T

(gis:layer-remove-attribute layerId "newid")
T

(gis:layer-has-attribute layerId "NewId")
NIL



関連事項