フィーチャの編集
Spectrum Spatial™ Analyst では、管理者がユーザに、ブラウザ内で基となるデータ ソースに対し新規フィーチャの挿入および既存フィーチャの編集を行うことを許可できます。
フィーチャの挿入または編集はブラウザ内で一度に 1 件のレコードのみに行えます。ユーザが編集を確定すると、Spectrum Spatial™ Analyst によってソース テーブルが更新されます。その後でデータを要求した他のユーザに、この更新が見えます。
以下の表に、Spectrum Spatial™ Analyst で編集できるサポート対象データ ソースを示します。
データソース | 空間テーブル | XY テーブル |
---|---|---|
Oracle 11gR2 | 読み込み/挿入/更新/削除 | 読み込み/挿入/更新 |
SQLServer 2008 R2/2012 | 読み込み/挿入/更新/削除 | 読み込み/挿入/更新 |
PostgreSQL 8+ / PostGIS 1.5 および 2.x | 読み込み/挿入/更新/削除 | 読み込み/挿入/更新 |
GeoPackage / Windows および Linux | 読み込み/挿入/更新/削除 | NA |
MapInfo TAB | 読み込み/挿入/更新/削除 | NA |
ユーザは、次の条件が満たされる場合にレコードを編集または削除できます。
- マップ プロジェクトによって参照される機能設定が、機能として編集が有効になっている (完全な編集または属性編集のみ)。
- テーブルがそのマップ プロジェクト内に存在しており、編集がサポートされるタイプ (前の表を参照) に該当する。
- Spectrum Spatial™ Manager では、
namedTables
の編集権限が Spectrum Spatial™ Analyst にログインするユーザまたはそのユーザが属する 1 つ以上の役割に対して割り当てられます。
Spectrum Spatial™ Analyst で新規のレコードを追加したり、既存のレコードを編集するには、ユーザがこれらの条件をすべて満たす必要があります。
プライマリ キーの要件
Oracle データ ソースの場合、データベースにシーケンスを適用してレコードの追加操作を正常に実行するには、プライマリ キー列が自動インクリメントされるよう設定する必要があります。
次の例では、シーケンスを使用して cycleparks テーブルを呼び出し、プライマリ キー列 MI_PRINX
の自動インクリメントのトリガーを作成しています。
CREATE SEQUENCE STRATUS.cycleparks_seq
START WITH 44
INCREMENT BY 1
NOCACHE
NOCYCLE;
CREATE OR REPLACE TRIGGER STRATUS.cycleparks_auto_inc
BEFORE INSERT ON STRATUS.CYCLEPARKS
FOR EACH ROW
BEGIN
SELECT STRATUS.cycleparks_seq.NEXTVAL
INTO :new.MI_PRINX
FROM dual;
END;
SQL Server および Postgres ではプライマリ キーの自動インクリメントが既に設定されているため、追加の手順は必要ありません。
フィーチャの編集/挿入の検証フォームの設定
Spectrum Spatial™ Analyst では、テーブルの編集時に適用されるデフォルト値である検証ルールのレイヤが提供されます。このルールは、列を含めるかどうか、デフォルト値や値範囲を使うかどうか、選択リストを表示するかどうかなどを定義します。ルールは XML ファイルに定義され、各ファイルが 1 つの編集可能テーブルに対応します。
管理者は、現在のフィーチャのジオメトリ、許可するジオメトリの種類などを含め、ユーザに編集を許可するテーブルの属性を柔軟に選択できます。また、管理者は、ユーザが新規フィーチャの挿入時に送信できる情報を細かく指定することができます。これは XML ファイルを介してルールを手動で設定します。管理者が XML ファイルを指定しない場合、デフォルトで、テーブルのすべての列が挿入/編集用に提示されます。
検証用の XML ファイルは、Spectrum Spatial™ Analyst がインストールされた場所の customerconfigurations\analyst\theme\featureEditTemplates フォルダに保存する必要があります。検証用の XML ファイルを名前付きレイヤに割り当てるには、Spectrum Spatial™ Analyst の [プロジェクト設定] ページで、ビジネス マップの [テンプレート] タブを使用します。
次のサンプル XML は、WorldTable のフィーチャを編集するときに検証ルールに適用されます。
<FeatureEditing>
<table>
<table>/Samples/NamedTables/WorldTable</table>
<showAllAttributes>false</showAllAttributes>
<primaryKey>
<includeInInsert>true</includeInInsert>
<hidden>false</hidden>
<showDisabled>true</showDisabled>
</primaryKey>
<geometrySupported>
<line>false</line>
<point>false</point>
<polygon>true</polygon>
</geometrySupported>
<columns>
<column>
<dbColumnName>Column_1</dbColumnName>
<name>Column 1</name>
<required>true</required>
<defaultValue>Enter Unique Value</defaultValue>
<minLength>4</minLength>
<maxLength>25</maxLength>
</column>
<column>
<dbColumnName>Column_2</dbColumnName>
<name>Column 2</name>
<required>true</required>
<pickList>
<Option></Option>
<Option>Option 1 </Option>
<Option>Option 2</Option>
<Option>Option 3</Option>
</pickList>
</column>
<column>
<dbColumnName>Column_3</dbColumnName>
<name>Column 3</name>
<required>false</required>
<showDisabled>true</showDisabled>
<minValue>1</minValue>
<maxValue>365</maxValue>
</column>
</columns>
</table>
</FeatureEditing>
XML 要素とその使用方法に関する詳細については、次の表を参照してください。
要素 | 必須/オプション | 使用方法 |
---|---|---|
テーブル | オプション | テーブルのリポジトリ パス。 |
全ての属性を表示 | 必須 | true に設定すると、すべてのテーブル列が属性フォームに表示され、列名が無視されます。 false に設定すると、表示する列を 1 つまたは複数指定する必要があります。 |
プライマリキー > 挿入 | 必須 | Oracle/Geopackage の場合は true、その他の場合は false に設定します。 |
プライマリキー > 隠す | オプション | プライマリ キー列を表示する必要がある場合は false に設定します。 |
プライマリキー > 無効を表示 | オプション | [プライマリキー > 隠す] が false になっていることを確認します。 読み取り専用で表示するには true に設定します。 ユーザ入力が必須の場合は false に設定します。ユーザが提供する値は、データベースで設定されたシーケンスまたは自動インクリメントによって上書きされます。 |
サポートされたジオメトリ | オプション | 挿入/編集機能で描画できるジオメトリを制限できます。指定しない場合、ジオメトリ ツールセットですべてのシェイプが使用可能になります。ジオメトリの組み合わせの挿入または編集はサポートされていません (ユーザは 1 つまたは複数のポリゴンを描画できますが、ポリゴン、ライン、ポイントの組み合わせは描画できません)。 |
列 | オプション | 指定した列が属性フォームに含められます。 |
dbフィールド名 | 必須 | テーブル内の列の名前。 |
名前 | 必須 | 属性フォームに表示されるフレンドリ名。 |
必須 | オプション | ユーザの入力が必須の場合は true に設定します。 |
デフォルト値 | オプション | デフォルト値を指定します。 |
最小幅 | オプション | テキスト列について、最小長の条件を指定します。 |
最大幅 | オプション | テキスト列について、最大長の条件を指定します。 |
最小値 | オプション | 数値列について、最小値を指定します。 |
最大値 | オプション | 数値列について、最大値を指定します。 |
ピックリスト | オプション | 定義済みの値からの選択をユーザに許可する場合、このオプションを指定します。 注: このオプションを空に設定した場合、データベースまたは TAB ファイルに null 値が挿入されます。 |
単一の XML ファイルを使って、マップ設定をテーブルに結合できます。ただし、1 つのテーブルに複数のマップ設定が存在する場合は、同じテーブルに複数の XML 設定を適用することができます。マップ設定、テーブル、および XML 設定のマッピングは、Spectrum Spatial™ Manager の [プロパティ] メニュー オプションで行います。
テーブル内の列は読み取り専用に設定できます。読み取り専用の列をテンプレートで提供することはできません。
挿入/編集したフィーチャへのスタイルの適用
フィーチャのスタイルは、フィーチャをテーブルに挿入するときに定義されません (テーブルの編集時に定義します)。データ ソースに (行ごとのスタイル列ではなく) テーブルレベルのスタイルが設定されていると、フィーチャにはテーブルのスタイルが適用されます。データ ソースで行ごとのスタイル設定が有効になっている場合は、フィーチャにデフォルトのスタイル (白の塗りつぶしと黒の輪郭) が適用されます。
テーブルをアップロードする際は、管理者が MapInfo Pro を使用してスタイル オーバーライドを適用することをお勧めします。そうすると、行ごとのスタイルに関係なく、すべてのフィーチャが意図したスタイルで Spectrum™ Technology Platform および Spectrum Spatial™ Analyst に表示されます。