マップの式

マップの質問に使用するレポート式の例を次に示します。

マップを使用するすべての質問 (ジオポイント、ジオトレース、ジオシェープを含む) には共通のメソッドとパラメーターがあり、これを使用してレポートでの表示を変更できます。

デフォルトでは、レポート内のマップは質問用に設定された Web マップを使用します。 マップ縮尺が 0 に設定されているかパラメーターが省略されている場合、マップ縮尺は、マップ内のフィーチャによって次のように決定されます。

  • マップ上にポイント フィーチャが 1 つしかない場合、マップ縮尺は質問用に設定された縮尺と一致します。
  • マップ上にラインまたはポリゴン フィーチャが 1 つしかない場合、マップ縮尺はフィーチャの範囲によって決定されます。
  • マップ上に複数のフィーチャがある場合、縮尺はすべてのフィーチャの範囲によって決定されます。

マップの質問は、Web マップ アイテム ID とマップ縮尺をオプションのパラメーターとして設定できます。 以下の例では、1:100,000 のマップ縮尺が使用されます。

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}

すべてのマップの質問については、rotate メソッドを使用し、ビューに対して真北の時計回りを定義します。 0 から 360 の値を指定できます。

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}

Web マップのアイテム ID を空の文字列のままにした場合、質問のデフォルト ベースマップが使用されます。 マップ縮尺を 0 に設定するか、このパラメーターを省略する場合、マップは質問に設定されているデフォルト範囲を使用します。

mapExtent メソッドを使用すると、レポートのマップ範囲を明示的に設定できます。 次の例では、東京のマップの固定範囲を示します。

${location | mapExtent:139.7:35.6:139.9:35.8:4326}

マップの質問は、画像の質問に対してサイズの式もサポートしています。 この式を使用して、次の例に示すように、レポートに表示されるマップの解像度を制御できます。

${location | size:400:400}

mapmapScale、および size の式を一緒に使用すると、次の例に示すように、Web マップ ID とマップ縮尺、およびマップ画像の解像度を指定できます。

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

注意:

マップのサイズを設定するとともに、他の式メソッドを使用する場合、size を式の最後に配置する必要があります。

マップに多数のレコードが含まれる場合、mapFilters メソッドを使用し、表示するレコードを制限できます。 次の例では、where パラメーターを使用して、POP2000 が 999999 より大きいレコードを示すレイヤーが 1 つしかない Web マップをフィルターします。

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"where=POP2000>999999"}

次の mapFilters の例では、最初のパラメーターは cities レイヤー (レイヤー ID は 18ece64a1fc-layer-5) をフィルターして、カリフォルニア州で人口が最大の最初の 3 つのレコードのみを表示します。 最初のパラメーターとコロンで区切られた 2 つ目のパラメーターは、states レイヤー (レイヤー ID は 18ece64a1fc-layer-6) をフィルターして、カリフォルニア州のみを表示します。

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"'18ece64a1fc-layer-5':where=ST='CA'&orderByFields=POP2000 ASC&resultRecordCount=3":"'18ece64a1fc-layer-6':where=stateName='California'"}

注意:

レイヤー ID は、Web マップ JSON のフィーチャ レイヤー オブジェクトのプロパティです。

デフォルトでは、マップの質問は、フィーチャ レイヤーで設定されたシンボルにかかわらず、デフォルトのマップ シンボルを使用して表示されます。 drawingInfo メソッドを使用し、特定のフィーチャ レイヤーに格納された描画情報を抽出し、使用することができます (使用されるシンボル、ラベル、透過表示など)。 この情報は、現在のレイヤーから指定することも、指定された URL を通じて、特定のフィーチャ レイヤーから指定することもできます。

${location | drawingInfo:"currentLayer"}

${location | drawingInfo:"https://.../FeatureServer/0"}

マップの質問が調査に含まれていない場合、または関連する調査のないフィーチャ レイヤーのレポートを作成している場合でも、${$shape} プレースホルダーを使用してレコードのジオメトリーを返すことができます。

サマリー セクションでは、マップの質問の式は、質問の入力内にある複数のジオメトリーを表示します。 個々のレポートの他の回答を含めるには、where 式に !important タグを指定します。 詳細については、「その他の構文」をご参照ください。 次の式は、レイヤーのすべてのジオメトリを表示します。ここで、ステータス フィールド値は「broken」に等しくなります。

${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}

注意:

上記の例では、マップ縮尺が省略されています。 マップ縮尺を 0 に設定するかパラメーターを省略する場合で、マップに複数のレコードが含まれている場合、マップはすべてのレコードの結合された範囲を使用します。

レイヤー内のすべてのジオメトリーが表示されるよう、where 式が常に true ステートメントになるように設定できます。

${location | where:"1=1 !important"}

これは、repeat 内ですべてのポイントを表示するためにも使用されます。

${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}

$shape キーワードは、複数のマップ ジオメトリーを返すためにも使用されます。

${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}

$map キーワードは、調査の質問を参照しないマップを印刷するために使用されます。

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

ジオポイント

ジオポイントの質問の場合、次のように式を使用して、質問から緯度と経度の値を表示できます。

${location | getValue:"x"}

${location | getValue:"y"}

1 つの式で両方の値は表示できません。両方の値が必要な場合は、2 つの式を使用する必要があります。

ヒント:

同様の式を使用して高度値を表示することもできますが、基本となるフィーチャ サービスが Z 値をサポートしている場合に限ります。

${location | getValue:"z"}

デフォルトでは、緯度、経度、高度の値は、調査の回答で示された元の値を切詰めることなく返します。 これらの値は、レポートで必要とされる値よりもはるかに長いことが多いので、round 式または toFixed 式を使用し、値を特定の小数桁に丸めることも検討してください。

${location | getValue:"x" | round:3}

${location | getValue:"x" | toFixed:3}

デフォルトでは、これらの値は、調査のフィーチャ レイヤーで使用される空間参照に出力されます。 WKID を指定すると、異なる空間参照を追加パラメーターとして設定できます。

${location | getValue:"x":4326}

ジオトレースとジオシェープ

ジオトレースとジオシェープの質問については、getValue 式を使用し、それぞれ行の長さや、ポリゴンの周囲長を表示します。

${polyline1 | getValue:"length":"meters":"planar"}

ジオシェープの質問では、getValue 式を使用してポリゴンの面積を表示することもできます。

${polygon1 | getValue:"area":"hectares":"geodesic"}

単位と計算の方法は、オプションのパラメーターです。 長さでは、次の単位を使用できます。

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

面積では、次の単位を使用できます。

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

または、ArcGIS REST API がサポートする esriSRUnitType 定数または esriSRUnit2Type 定数のいずれかを使用することもできます。 式では、次のように、定数の数値コードを引用符なしで使用します。

${polyline1 | getValue:"length":109002:"geodesic"}

単位を指定しなければ、長さのデフォルト単位は kilometers、面積は square-kilometers です。

方法は、geodesic または planar を指定できます。 方法を指定しなければ geodesic がデフォルトで使用されます。