マップの質問に使用するレポート式の例を次に示します。
マップを使用するすべての質問 (ジオポイント、ジオトレース、ジオシェープを含む) には共通のメソッドとパラメーターがあり、これを使用してレポートでの表示を変更できます。
デフォルトでは、レポート内のマップは質問用に設定された 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}
map、mapScale、および 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 がデフォルトで使用されます。