検索条件設定は、指定された条件を満たす式を作成するために、属性と位置による検索ツールと属性によるフィルターツール、およびフィールド演算ツールで使用されます。
クエリーの構築
クエリーを構築するには、ツール ウィンドウまたはツール ダイアログ ボックスの [新しいクエリーの構築] をクリックします。
開始するには、フィーチャを検索するレイヤーを選択します。 属性と位置による検索の場合は、検索条件設定で行えます。 属性によるフィルターおよびフィールド演算の場合は、検索条件を設定する前に入力データ パラメーターを設定する必要があります。
次に、属性式、空間式 (属性と位置による検索のみ)、または式のグループのどれで始めるかを選択します。
クエリーに複数の式が含まれている場合は、それぞれの式を結び付ける、以下のマッチング オプションのいずれかを選択する必要があります。
- [次のすべてに一致] (デフォルト) - すべての式を満たすフィーチャのみが返されます。 このオプションは AND 句に相当します。
- [次のいずれかに一致] - いずれかの式を満たすフィーチャが返されます。 このオプションは OR 句に相当します。
属性式
それぞれの属性検索は、1 つのフィールド名、演算子、および値で構成されます。
たとえば、ある都市の犯罪事件データ (盗難、放火火災、暴行など) を含むレイヤーに対するクエリーを作成して、盗難事件だけを表示することができます。 次のように属性式を作成します。
- フィールド名として [Crime Type] を選択します。
- 演算子には [等しい] を選択します。
- 値には「Theft」と入力するか選択します。
注意:
NULL 値を含むフィールドは、演算子として [空白である] が選択されている場合を除き、すべてのクエリー結果から除外されます。
ほとんどの場合、検索条件設定には使用可能なフィールド値のリストが含まれています。これは、正確な式を構築する際に役立ちます。 入力データセットが別のツールからの出力である場合、ModelBuilder でこのリストは使用できません。 リストから値を選択するのではなく、入力ボックスに正確な値を入力する必要があります。
空間式
それぞれの空間式は、演算子および 2 番目のレイヤーで構成されます。 2 番目のレイヤーの下にある [式] ボタンを使用して式を追加し、元の空間式で使用される 2 番目のレイヤーのフィーチャをさらに絞り込むことができます。
たとえば、パン屋を表す別のレイヤーを使用し、ドーナツ店から 100 メートル圏内で発生した盗難事件を検索するよう属性検索を絞り込むことができます。 次のように空間式を追加します。
- 演算子には [一定距離内にある] を選択して 100 メートルと入力します。
- レイヤーには、パン屋のレイヤーを選択します。
- [式] ボタンをクリックし、[属性式] を選択します。
- [Where] ステートメント グループで、フィールド名として [Shop Type] を選択し、演算子を [等しい] のままにして、値として [Donut shops] と入力するか選択します。
式グループ
より複雑なクエリーを作成するには、式グループを使用して、複数の式をグループ化します。 式をグループ化する方法によって、表示される内容が決まります。 最大で 3 つのレベルのグループを作成できます。
たとえば、式グループを使用して、上記の犯罪事件フィルターをさらに絞り込むことができます。 ドーナツ店から 100 メートル圏内で報告された放火火災と盗難事件の両方を表示するには、放火火災または盗難事件を見つける式グループを作成します。 そのグループ内で [次のいずれかに一致] オプションを使用します。 次に、グループの外部で、ドーナツ店から 100 メートル圏内のフィーチャを見つける空間式を追加します。

演算子
属性と位置による検索では、属性検索と空間検索に演算子を使用します。一方で、属性によるフィルターおよびフィールド演算では、属性検索の演算子のみを使用します。
属性演算子
属性検索に使用できる演算子が複数用意されています。使用できる演算子は、検索するフィールドがカテゴリーであるか数値であるかによって異なります。
フィールドが文字列の場合は、次の演算子を使用できます。
- [等しい] - 指定したテキストに一致する文字列。
- [等しくない] - 指定したテキストに一致しない文字列。
- [メンバーである] - 指定したテキスト値のいずれかに一致する文字列。
- [メンバーでない] - 指定したテキスト値のいずれとも一致しない文字列。
- [含む] - 指定のテキストを含む文字列。
- [含まない] - 指定のテキストを含まない文字列。
- [で始まる] - 指定したテキストで始まる文字列。
- [で始まらない] - 指定したテキストで始まらない文字列。
- [で終わる] - 指定したテキストで終わる文字列。
- [で終わらない] - 指定したテキストで終わらない文字列。
- [空白である] - テキストを含まず null ではない文字列。
- [空白でない] - 何らかのテキストを含み、null ではない文字列。
- [空の文字列] - null であるかテキストを含まない文字列。
- [空の文字列でない] - 何らかのテキストを含むか、null の文字列。
フィールドが数値の場合は、次の演算子を使用できます。
- [間にある] - 指定した 2 つの値の間の数値。 境界の値は結果に含まれます。
- [間にない] - 指定した 2 つの値の間にない数値。 境界の値は結果に含まれません。
- [等しい] - 指定の値と一致する数値。
- [等しくない] - 指定の値と一致しない数値。
- [メンバーである] - 指定した値のいずれかに一致する数値。
- [メンバーでない] - 指定した値のいずれとも一致しない数値。
- [より大きい] - 指定の値よりも大きい数値。
- [以上] - 指定の値以上の数値。
- [より小さい] - 指定の値よりも小さい数値。
- [以下] - 指定の値以下の数値。
- [空白である] - 指定の値と一致する数値
- [空白でない] - 何らかの値を持つ数値。
フィールドが日付の場合は、次の演算子を使用できます。
- [間にある] - 指定した 2 つの日付間の日付。 境界の値は結果に含まれます。
- [間にない] - 指定した 2 つの日付間にない日付。 境界の値は結果に含まれません。
- [指定日] - 指定した日付と同じ日。
- [指定日ではない] 指定した日付と同じ日ではない日。
- [より前] - 指定した日付よりも前の日付。
- [より後] - 指定した日付よりも後の日付。
- [空白である] - null の日付。
- [空白でない] - null ではない日付。
空間演算子
空間式は、[完全に含まれる] や [交差する] などの演算子を指定することで作成します。
空間検索では、次の空間演算子を使用できます。
- [交差する] - 最初のレイヤーのフィーチャが 2 番目のレイヤーのフィーチャと交差する場合、最初のレイヤーのフィーチャが出力に含められます。
- [交差しない] - 最初のレイヤーのフィーチャが 2 番目のレイヤーのフィーチャと交差する場合、最初のレイヤーのフィーチャは出力から除外されます。
- [一定距離内にある] - 2 番目のレイヤーのフィーチャの指定距離内に一部が含まれる場合、最初のレイヤー内のフィーチャが選択されます (出力に含められます)。たとえば、河川から 100 メートル以内にある区画が出力に含められます。
- [一定距離内にない] - 2 番目のレイヤーのフィーチャの一定距離内にある場合、最初のレイヤーのフィーチャは除外されます (出力に含められません)。たとえば、河川から 100 メートル以内にある区画が出力に含められません。 このリレーションシップは、フィーチャが特定の距離より離れていると考えることができます。
- [完全に含む] - 最初のレイヤーのフィーチャが 2 番目のレイヤーのフィーチャを完全に含んでいる場合、最初のレイヤーのフィーチャが出力に含められます。
- [完全に含まない] - 最初のレイヤーのフィーチャが 2 番目のレイヤーのフィーチャを完全に含んでいる場合、最初のレイヤーのフィーチャが出力から除外されます。
- [完全に含まれる] - 最初のレイヤーのフィーチャが完全に 2 番目のレイヤーのフィーチャ内にある場合、最初のレイヤーのフィーチャが出力に含められます。
- [完全に含まれない] - 最初のレイヤーのフィーチャが完全に 2 番目のレイヤーのフィーチャ内にある場合、最初のレイヤーのフィーチャが出力から除外されます。
- [最も近い] - 最初のレイヤーのフィーチャが 2 番目のレイヤーのフィーチャに最も近い場合、最初のレイヤーのフィーチャが出力に含められます。
トラブルシューティング
データセットを変更すると、有効であった式が無効になることがあります。 式が無効になる原因となる変更の例として、式で使用されるフィールドのフィールド タイプの削除や変更、空間式で使用されるデータセットのジオメトリーの変更などが含まれます。 無効な式は、検索条件設定を再度開いた際に表示されません。