ExportWebMap 仕様
ArcGIS Server に含まれる PrintingTools ジオプロセシング サービスを使用してマップを印刷する場合は、レイヤーおよび範囲情報を含むマップの JSON (JavaScript Object Notation) 形式を構成する必要があります。 JSON は Esri ExportWebMap 仕様に従って構成します。
ArcGIS Web API を使用する場合は、API が JSON の構成を担当するので、自分で JSON を構成する必要はありません。 ただし、自分で JSON を構成する必要がある場合は、参考になる情報がこのトピックに記載されています。 考えられるのは、PrintingTools サービスを直接呼び出すこと、または別のアプリケーションからソース ジオプロセシング ツールの Web マップのエクスポートを実行することが必要になった場合などです。
注意:
読みやすくするために、このトピックの JSON の例はフォーマットされています。 ただし、実際には、印刷サービスを通じてフォーマットされていない JSON を渡す必要があります。
Web マップは 5 つのトップ レベルのオブジェクトで構成されます。
{
"mapOptions": {},
"operationalLayers": [],
"baseMap": [],
"exportOptions": {},
"layoutOptions": {},
"reportOptions": {}
}
mapOptions
必須のオブジェクト mapOptions は、マップ表示プロパティを定義します。
|
構文:
|
例
|
"mapOptions": {
"extent": {
"xmin": <xmin>,
"ymin": <ymin>,
"xmax": <xmax>,
"ymax": <ymax>,
"spatialReference": {<spatialReference>}
},
"scale": <mapScale>,
"rotation": <mapRotation>,
"spatialReference": {<spatialReference>},
"time": [
<timeInstant> | <startTime>,<endTime>
],
"background": {
"color": [R, G, B, A]
}
}
|
"mapOptions": {
"extent": {
"xmin": -12933906.537,
"ymin": 3993856.886,
"xmax": -12933371.998,
"ymax": 3994375.189,
"spatialReference": {
"wkid": 102100
}
},
"scale": 1234.5,
"rotation": -45,
"spatialReference": {
"wkid": 102100
},
"time": [
1199145600000,
1230768000000
],
"background": {
"color": [51, 227, 200, 255]
}
}
|
|
説明
|
extent (必須): マップの範囲を定義する必須プロパティ。 範囲オブジェクトの空間参照はオプションです。指定しない場合は、マップの空間参照内と見なされます。 マップ範囲の縦横比が出力ページのマップのサイズまたは exportOptions:outputSize と異なる場合、出力マップでは、フィーチャの数が多くなっている可能性があります。
scale (オプション): マップをエクスポートするときのマップ縮尺。 このプロパティはオプションですが、最適な結果を得るために指定することをお勧めします。 scale プロパティは、この Web マップ内のマップ サービスに縮尺依存のレイヤーまたは基準縮尺が設定されている場合に特に有効です。 Web アプリケーションに表示されているマップは、出力マップのサイズ (たとえば、8.5 x 11 インチまたは A4 サイズなど) よりも小さい可能性があるため、出力マップの縮尺が異なり、Web アプリケーションではフィーチャまたはシンボルが出力マップと違って見える場合があります。
縮尺を使用すると、範囲よりも縮尺が優先されますが、出力マップは範囲の中心を中心として、指定の縮尺で描画されます。
rotation (オプション): データ フレームを回転する度数を表します。北位置から反対方向に計測されます。 時計回りに回転するには、負の値を使用します。
spatialReference (オプション): マップの空間参照。 spatialReference が指定されていない場合の優先順序は次のとおりです:
mapOptions.extent.spatialReference
baseMap.baseMapLayers.spatialReference
マップ テンプレートの空間参照
time (オプション): 時間対応レイヤーがあり、それを特定の時間に描画したい場合は、このプロパティを指定します。 この番号順リストには 1 つまたは 2 つのエレメントを含めることができます。 2 つのエレメント (startTime の後ろに endTime) を追加して時間範囲を表すか、固定値を表す 1 つの時間エレメントだけを指定します。 時間は常に UTC を使用します。
background (オプション): マップの背景色を変更できます。 レイアウトに複数のマップが含まれている場合は、WEBMAP_MAP_FRAME というマップ フレームに関連付けられたマップに適用されます。
|
operationalLayers
operationalLayers リストには、マップに表示されるすべての操作レイヤーが示されています。 この配列の順序によって、マップ内のレイヤーの順序が決まります。 各レイヤーのタイプは、URL リソースのレスポンスで定義されます。 リソースが URL から判別できない場合は、type プロパティによってタイプが決定されます。 たとえば、WMS レイヤーの場合は、「"type": "wms"」と指定する必要があります。 全タイプの操作レイヤーに共通のプロパティと、各タイプの操作レイヤーに固有のプロパティがあります。
セキュリティ保護されたレイヤーの場合は、レイヤー定義内にトークンを指定します。 ユーザー名とパスワードを URL の一部に使用することはできません。
注意:
マップ サービス、フィーチャ サービス、またはイメージ サービスの場合は、該当するサービスの REST エンドポイントを指す URL を使用します。 SOAP エンドポイントはサポートされません。
|
操作レイヤーの構文
|
"operationalLayers": [
{
"id": "<webmapOperationalLayerId>",
"layerType": "<ArcGISFeatureLayer | ArcGISImageServiceLayer | ArcGISMapServiceLayer | ArcGISTiledImageServiceLayer | ArcGISTiledMapServiceLayer | VectorTileLayer | WebTiledLayer | WFS | WMS | KML>",
"url": "<url1>",
"token": "<tokenString1>",
"title": "<title1>",
"opacity": <opacity1>,
"visibility": <true | false>,
"minScale": <minScale1>,
"maxScale": <maxScale1>
}
]
|
|
説明
|
注意:
次に示すプロパティは、すべてのタイプの操作レイヤー (マップ サービス レイヤー、クライアント側グラフィックス、KML レイヤーなど) で共通です。 したがって、このセクションの各操作レイヤー タイプの説明に記載されていない場合があります。
id (オプション): 操作レイヤーを一意に識別する文字列。 これはほとんどの場合、凡例のために必要です。
layerType: 操作レイヤーのタイプ。 ArcGISFeatureLayer、ArcGISImageServiceLayer、ArcGISMapServiceLayer、ArcGISTiledImageServiceLayer、ArcGISTiledMapServiceLayer、VectorTileLayer、WebTiledLayer、WMS、または KML のいずれかとして指定できます。
url: サービスのエンド ポイント。 "featureCollection" の場合は必要ありません。
token (オプション): セキュリティーで保護されたサービスにアクセスするためのトークン。
title (オプション): 操作レイヤーの名前。 凡例上にタイトルを表示したい場合は、レイアウト上の凡例がタイトルをサポートしている必要があります。
visibility (オプション): デフォルト値は true です。
opacity (オプション): 値の範囲は 0 〜 1 (デフォルト) です。1 は完全な不透明、0 は完全な透明を意味します。
minScale (オプション): この縮尺より縮小した場合、レイヤーは描画されません。
maxScale (オプション): この縮尺より拡大した場合、レイヤーは描画されません。
|
|
マップ サービス レイヤーの構文
|
例
|
"operationalLayers": [
{
"url": "<url1>",
"title": "<title1>",
"opacity": <opacity2>,
"gdbVersion": "<gdbVersion>",
"visibleLayers": [
<layerId1>,
<layerId2>
],
"layers": [
{
"id": <sublayerId1>,
"name": <name>,
"layerDefinition": {
"definitionExpression": "<definitionExpression>",
"layerTimeOptions": {
"useTime": <true | false>,
"timeDataCumulative": <true | false>,
"timeOffset": <timeOffset1>,
"timeOffsetUnits": "<esriTimeUnits>"
},
"drawingInfo": {
"renderer": {<renderer>},
"transparency": <transparency>,
"scaleSymbols": <true | false>,
"showLabels": <true | false>,
"labelingInfo": {<labelingInfo>},
},
"source": {<layerSource>},
"gdbVersion": "<Geodatabase version name>"
}
}
]
}
]
|
"operationalLayers": [
{
"url": "https://servicesbeta.esri.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer",
"title": "Homeland security operations",
"opacity": 0.8,
"visibleLayers": [
0,
1
]
}
]
|
|
説明
|
visibleLayers (オプション): マップ サービス レイヤー内で表示する必要があるサブレイヤー ID の配列。 省略すると、操作レイヤーが各サブレイヤーのデフォルトの表示状態で描画されます。 グループ レイヤーの ID を指定する必要はありません。 マップ サービスでダイナミック レイヤーがサポートされている場合は、layers が visibleLayers に優先することに注意してください。 dynamicLayers を使用しないマップ サービスの場合は、layers プロパティの layerDefinition だけがサポートされています。
layers (オプション): エクスポート対象のレイヤーのリスト。 ダイナミック レイヤーを使用するマップ サービスの場合は、layers 配列で指定されたレイヤーがすべてエクスポートされますが、visibleLayers は無視されます。 レイヤーの名前を定義するには、name プロパティを使用します。 これは通常、レイヤー source のタイプが dataLayer の場合に必要となります。
drawingInfo (オプション): サブレイヤーの描画設定 (たとえば、サブレイヤーのレンダラー) を変更するために使用します。
renderer (オプション): 指定した場合は、サブレイヤーの元のレンダラーに優先します。
source (オプション): リクエストごとにマップ サービスに動的に追加されるレイヤーのソースを表します。 ソースを定義する方法については、「ArcGIS REST API」をご参照ください。
gdbVersion (オプション): 別のジオデータベース バージョンから描画されたフィーチャを表示する場合に指定します。 操作レイヤー レベルで定義して、すべてのレイヤーを指定したバージョンに切り替えるか、layers 配列のサブレイヤーとして定義して、各レイヤーのジオデータベース バージョンを個別に変更します。
|
|
フィーチャ レイヤーの構文
|
例
|
"operationalLayers": [
{
"url": "<url1>",
"title": "<title1>",
"opacity": <opacity2>,
"layerDefinition": {
"drawingInfo": {
"renderer": {<renderer1>}
},
"definitionExpression": "<definitionExpression1>",
"objectIds": [
<oid1>,
<oid2>
],
"timeInfo": { //optional
"trackIdField": "<trackIdFieldName>"
},
"geometry": {<geometry>},
"geometryType": "<geometryType>",
"spatialRel": "<spatialRel>",
"relationParam": "<relationParam>",
"gdbVersion": "<geodatabaseVersionName>",
"source": {<layerSource>}
},
"selectionObjectIds": [
<oid1>,
<oid2>
],
"selectionSymbol": {<symbol>},
"charts": [ { ... } ] //definition of charts
}
]
|
"operationalLayers": [
{
"url": "https://servicesbeta.esri.com/ArcGIS/rest/services/Hydrography/Watershed173811/FeatureServer/1",
"title": "Watershed",
"opacity": 1,
"layerDefinition": {
"drawingInfo": {
"renderer": {<renderer>}
},
"definitionExpression": "Type = 1",
"objectIds": [
534,
434
]
},
"selectionObjectIds": [
434
],
"selectionSymbol": {<symbol>}
}
]
|
|
説明
|
url (必須): レイヤーの URL。 フィーチャ レイヤーがダイナミック レイヤーを使用するマップ サービスのレイヤーに基づいている場合、このプロパティは /dynamicLayer で終わる必要があります。
drawingInfo (オプション): このレイヤーのレンダラーを指定します。
テンポラル レンダラーを使用してレンダリングするには、レンダラーとは別に latestObservationRenderer、trackLinesRenderer、および observationAger プロパティを指定します。
observationAger (オプション): テンポラル レンダラーは、rampAger と classBreaksAger の 2 種類の observationAger をサポートしています。 いずれのリクエストでも、レイヤーに rampAger または classBreaksAger を含めることができますが、両方を含めることはできません。
definitionExpression (オプション): 描画するフィーチャを制限する SQL ステートメント。
objectIds (オプション): Object ID に基づいて、描画するフィーチャを制限します。
timeInfo (オプション):
trackIdField: 観測されている 1 つまたは複数のオブジェクトを一意に表すフィールド。 このフィールドが NULL または欠落している場合、latestObservationRenderer を使用して最新の観測のみが描画されます。
geometry (オプション): ジオメトリーによって、描画するフィーチャを制限します。
geometryType (オプション): ジオメトリーを指定した場合に指定する必要があります。
spatialRel (オプション): クエリーの実行中に入力ジオメトリーに適用される空間リレーションシップ。
relationParam (オプション): クエリーの実行中に適用可能な空間リレーションシップ関数。 空間リレーションシップ関数の例には、FFFTTT*** があります。
selectionObjectIds (オプション): 指定のオブジェクト ID を持つフィーチャが指定のシンボルでハイライト表示されます。selectionSymbol を設定する必要があります。
selectionSymbol (オプション): フィーチャがこのシンボルでハイライト表示されます。 指定されていないが selectionObjectIds がまだ含まれている場合、印刷サービスはデフォルト シンボルを使用してハイライト表示します。
charts (オプション): 操作レイヤーにチャートを持たせないか、1 つ以上のチャートを持たせるかを選択できます。 チャート エレメントについては、Web マップの仕様をご参照ください。
gdbVersion (オプション): マップ サービスまたはフィーチャ サービスから参照されているバージョン以外のバージョンを使用している場合にジオデータベースのバージョン名を指定します。
source (オプション): フィーチャ レイヤーがダイナミック レイヤーを使用するマップ サービスのレイヤーに基づいていない場合にのみ指定する必要があります。
|
|
イメージ サービス レイヤーの構文
|
例
|
"operationalLayers": [
{
"url": "<url1>",
"title": "<title1>",
"opacity": <opacity2>,
"noData": <noDataValue>,
"format": "<jpgpng | png | png8 | png24 | png32 | jpg | bmp | gif | tiff >",
"interpolation": "<RSP_BilinearInterpolation | RSP_CubicConvolution | RSP_Majority | RSP_NearestNeighbor>",
"compressionQuality": <compress>,
"bandIds": [
<bandId1>,
<bandId2>
],
"mosaicRule": "<mosaicRule>",
"renderingRule": "<renderingRule>",
"noDataInterpretation": "<esriNoDataMatchAny | esriNoDataMatchAll>"
}
]
|
"operationalLayers": [
{
"url": "https://ais3/ArcGIS/rest/services/QB16/ImageServer",
"title": "Satellite image from 1990",
"opacity": 0.8,
"bandIds": [
0,
1,
2
]
}
]
|
|
説明
|
|
|
|
WMS サービス レイヤーの構文
|
"operationalLayers": [
{
"url": "<url1>",
"title": "<title1>",
"type": "wms",
"opacity": <opacity1>,
"version": "<wmsServerVersion>",
"format": "<jpg | png8 | png24 | png32>",
"transparentBackground": <true | false>,
"layers": [
{"name": "<layerName1>"},
{"name": "<layerName2>"}
],
"visibleLayers": [
"<layerName1>",
"<layerName2>"
],
"styles": [
"<style1>",
"<style2>"
]
}
]
|
|
説明
|
type (必須): WMS レイヤーの場合は、「wms」と指定する必要があります。
format (オプション): サーバーから要求された画像形式。
transparentBackground (オプション): true の場合、要求された画像形式が透明色をサポートしていれば、背景が透明になります (JPEG は、透明色をサポートしていない画像形式の一例です)。デフォルト値は false です。
visibleLayers (オプション): WMS サービス レイヤー内で表示する必要があるサブレイヤー ID の配列。 ここでは順序も重要となります。順序は WMS サービスの要件に準拠している必要があります。 指定しない場合は、WMS サービスのすべてのレイヤーが表示されます。
layers (オプション): マップに追加するサブレイヤー名の配列。 指定しない場合は、WMS サービスのすべてのレイヤーがマップに追加されます。
styles (オプション): サブレイヤーのデフォルトの描画スタイルを無効にする場合に使用します。 指定する場合は、スタイルの数と順序が visibleLayers 配列と一致していることを確認してください。 ある特定のサブレイヤーのスタイルを変更したくない場合は、たとえば、"styles": ["highways","","population"] のように空の文字列を渡すことができます。
version (オプション): 接続先の WMS バージョン。 デフォルトは、指定した WMS サービスがサポートする最新のバージョンです。
|
|
KML レイヤーの構文
|
例
|
"operationalLayers": [
{
"type": "kml",
"url": "<url1>",
"title": "<title1>",
"showLabels": "<true | false>",
"visibleFolders": [
<folderId1>,
<folderId2>
]
}
]
|
"operationalLayers": [
{
"type": "kml",
"url": "https://myMachine/.../vermont.kmz",
"title": "Vermont weather stations",
"opacity": 0.75,
"showLabels": true,
"visibleFolders": [
0,
1,
2
]
}
]
|
|
説明
|
type (必須): この種類のレイヤーの場合は、type を kml にする必要があります。
url (必須): kmz ファイルの URL。
showLabels (オプション): デフォルト値は false です。
visibleFolders: 表示するフォルダーの数値 ID の配列。
|
|
クライアント側イメージの構文
|
例
|
"operationalLayers": [
{
"type": "image",
"title": "<title1>",
"opacity": <opacity2>,
"extent": {
"xmin": <xmin>,
"ymin": <ymin>,
"xmax": <xmax>,
"ymax": <ymax>,
"spatialReference": {<spatialReference>}
},
"url": "<url1>",
"imageData": "<base64EncodedImageData>"
}
]
|
"operationalLayers": [
{
"type": "image",
"title": "heat map",
"opacity": 0.75,
"extent": {
"xmin": -12933906.537,
"ymin": 3993856.886,
"xmax": -12933371.998,
"ymax": 3994375.189,
"spatialReference": {
"wkid": 102100
}
},
"url": "https://myMachine/anImage.png",
"imageData": "iVBORw0KGg....",
}
]
|
|
説明
|
type (必須): この種類のレイヤーの場合は、type を image にする必要があります。
extent (必須): 画像が収まる最小バウンディング ボックス。
url (オプション): 描画する画像の URL。 imageData が渡されない場合にのみ指定する必要があります。
imageData (オプション): base64 としてエンコードされた画像。 url プロパティが渡されない場合に指定する必要があります。
|
|
クライアント側グラフィックスの構文
|
例
|
"operationalLayers": [
{
"featureCollection": {
"layers": [
{
"layerDefinition": {
"name": "<layerName>",
"geometryType": "<esriGeometryType>",
"drawingInfo": {<drawingInfo>},
"objectIdField": "<objectIdFieldName>", //optional
"fields": [ //optional
{
"name": "<fieldName>",
"type": "<esriFieldType>",
"alias": "<fieldAliasName>"
}
]
},
"featureSet": {
"features": [
{
"geometry": {<geometry>},
"attributes": { //optional
"<fieldName>": "<value>"
},
"symbol": {<symbol>} //overrides symbol defined in the renderer
}
]
}
}
]
}
}
]
|
"operationalLayers": [
{
"id": "map_graphics",
"featureCollection": {
"layers": [
{
"layerDefinition": {
"name": "pointLayer",
"geometryType": "esriGeometryPoint",
"drawingInfo": {
"renderer": {
"type": "simple",
"symbol": {
"type": "esriSMS",
"style": "esriSMSCircle",
"color": [
76,
115,
0,
255
],
"size": 20,
"outline": {
"color": [
255,
0,
0,
255
],
"width": 1
}
}
}
}
},
"featureSet": {
"features": [
{
"geometry": {
"x": -10253568.722284,
"y": 5463514.62565701,
"spatialReference": {
"wkid": 102100
}
}
},
{
"geometry": {
"x": -13267022.125398,
"y": 5463514.62565701,
"spatialReference": {
"wkid": 102100
}
},
"symbol": {
"color": [
255,
138,
255,
191
],
"size": 12,
"type": "esriSMS",
"style": "esriSMSSquare"
}
}
]
}
}
]
}
}
]
|
|
説明
|
layers (必須): レイヤーのコレクション。 1 つのレイヤーには、layerDefinition および featureSet という 2 つのプロパティがあります。
layerDefinition (必須): レイヤーを定義するプロパティ (name、geometryType、drawingInfo、objectIdField、および fields) で構成されます。
name (オプション): レイヤーの名前。
geometryType (必須): テキスト レイヤーの場合は、geometryType を esriGeometryPoint にする必要があります。
drawingInfo (オプション): drawingInfo を指定しないと、シンボルを使用してグラフィックスがシンボル表示されます。
objectIdField (オプション): Object ID を含むフィールドの名前。
fields (オプション): フィールドのコレクション。
featureSet (必須): フィーチャのコンテナー。
features (必須): フィーチャのコレクション。
geometry (必須): フィーチャまたはグラフィックスを定義するジオメトリー。
attributes (オプション): フィーチャ属性のコレクション。
symbol (オプション): 指定した場合は、レンダラーで定義されているシンボルよりも、このシンボルが優先されます。
|
|
URL による CSV (カンマ区切り) ファイルの構文
|
例
|
"operationalLayers": [
{
{
"type": "CSV",
"url": "<url>",
"layerDefinition": {
"drawingInfo": {
"renderer": {<renderer>}
}
},
"locationInfo": {
"latitudeFieldName": "<latitudeFieldName>",
"longitudeFieldName": "<longitudeFieldName>"
}
}
}
]
|
"operationalLayers": [
{
"type": "CSV",
"url": "https://servicesbeta.esri.com/demos/exp/data/earthquakes.csv",
"id": "Earthquakes",
"title": "Earthquakes",
"visibility": true,
"opacity": 1,
"layerDefinition": {
"drawingInfo": {
"renderer": {
"symbol": {
"height": 15,
"type": "esriPMS",
"url": "https://static.arcgis.com/images/Symbols/Basic/RedSphere.png",
"width": 15
},
"type": "simple"
},
"transparency": 0
}
},
"locationInfo": {
"latitudeFieldName": "lat",
"longitudeFieldName": "lon"
}
}
]
|
|
説明
|
|
|
その他のプロパティ
注意:
次のプロパティの詳細については、ArcGIS REST API をご参照ください:
source
renderer
symbol
textSymbol
labelingInfo
geometry
geometryType
spatialRel
relationParam
|
テンポラル レンダラーの drawingInfo を定義する構文
|
例
|
注意:
テンポラル レンダラーは、ArcGIS Pro から公開された印刷サービスではサポートされていません。
"drawingInfo": {
"observationAger": {<symbolAger>},
"latestObservationRenderer": {<renderer>},
"trackLinesRenderer": {<renderer>},
"renderer": {<renderer>}
}
|
"drawingInfo": {
"observationAger": {
"alphaRange": [
0,
255
]
},
"latestObservationRenderer": {
"type": "simple",
"symbol": {
"type": "esriPMS",
"url": "https://help.arcgis.com/.../hurr_100_icon.png",
"contentType": "image/png",
"width": 30,
"height": 30
}
},
"trackLinesRenderer": {
"type": "simple",
"symbol": {
"type": "esriSLS",
"style": "esriSLSSolid",
"width": 1,
"color": [
0,
0,
0,
255
]
}
},
"renderer": {
"type": "simple",
"symbol": {
"type": "esriSMS",
"style": "esriSMSCircle",
"size": 24,
"outline": {
"color": [
255,
255,
255,
255
],
"width": 1
}
}
}
}
|
|
symbolAger を定義する構文
|
//rampAger
{
"colorRange": [
{<color>}, //for oldest events
{<color>} //for newest events
],
"alphaRange": [
<alpha>, //for oldest events
<alpha> //for newest events
],
"sizeRange": [
<size>, //for oldest events
<size> //for newest events
]
}
//classBreaksAger
{
"timeUnits": "<esriTimeUnits>",
"agerClassBreakInfos": [{<agerClassBreakInfo>},...]
}
|
|
agerClassBreakInfo を定義する構文
|
{
"oldestAge": <age>,
"color": {<color>},
"alpha": <alpha>,
"size": <size>
}
|
|
説明
|
|
|
ジオプロセシングの結果
ジオプロセシングの結果を含めるには、次の 2 つの方法があります。
ジオプロセシングの結果がフィーチャ セットとして返され、クライアント側でグラフィックスとして描画される場合は、フィーチャ コレクションとして結果を送ります。
結果をジョブの結果マップ サービスで描画する場合は、新しいマップ サービス レイヤーを operationalLayers に追加し、結果のエンドポイントを指すように URL プロパティを設定します。 例:
- ジオプロセシングの結果:
https://gisserver.example.com:6080/arcgis/rest/services/GPJobMapServiceName/MapServer/jobs/job_id
例: ジョブ結果マップ サービスによって描画される操作レイヤーとしてのジオプロセシングの結果
"operationalLayers": [
{
"url": "https://gisserver.example.com:6080/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
"title": "Geoprocessing Result"
}
]
baseMap
タイトルと baseMapLayers プロパティ (baseMapLayers の番号順リストを含む) で構成された 1 つの baseMap がマップに含まれます。 それぞれの baseMapLayer は、同じ空間参照およびタイル スキーマ内に存在する必要があります。 baseMap が存在する場合は、マップの空間参照が定義されます。
|
baseMap の構文
|
例
|
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"url": "<url1>",
"opacity": <opacity1>
},
{
"url": "<url2>",
"opacity": <opacity2>
}
]
}
|
"baseMap": {
"title": "Shared Imagery Basemap",
"baseMapLayers": [
{
"url": "https://services.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer",
},
{
"url": "https://services.arcgisonline.com/ArcGIS/rest/services/CSP_Imagery_World_2D/MapServer",
}
]
}
|
|
baseMapLayer としてのベクター タイル レイヤーの構文
|
例
|
注意:
ベクター タイル レイヤーは、ArcGIS Pro から公開された印刷サービスでのみサポートされています。
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"id": "<id1>",
"type": "VectorTileLayer",
"layerType": "VectorTileLayer",
"title": "<title1>",
"styleUrl": "<Url1>"
"visibility": <true | false>,
"opacity": <opacity1>
}
]
}
|
"baseMap": {
"title": "VectorTileLayer as BaseMap",
"baseMapLayers": [
{
"id": "VectorTile_1933",
"type": "VectorTileLayer",
"layerType": "VectorTileLayer",
"title": "World_Basemap",
"styleUrl": "https://basemaps.arcgis.com/b2/arcgis/rest/services/World_Basemap/VectorTileServer/resources/styles/root.json",
"visibility": true,
"opacity": 1
}
]
}
|
|
basemapLayer としての Bing Maps の構文
|
例
|
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"id": "<id1>",
"type": "<BingMapsRoad | BingMapsAerial | BingMapsHybrid>",
"culture": "<Bing Maps supported culture>",
"key": "<bing_key>" //optional
}
]
}
|
"baseMap": {
"title": "Bing Maps",
"baseMapLayers": [
{
"id": "BingMap",
"visibility": true,
"type": "BingMapsRoad",
"culture": "fr-ca"
}
]
}
|
|
basemapLayer としての OpenStreetMap の構文
|
例
|
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"type": "OpenStreetMap",
"url": "<url>", //optional
"credits": "<credits>" //optional
}
]
}
|
"baseMap": {
"title": "OpenCycle Map",
"baseMapLayers": [
{
"type": "OpenStreetMap",
"url": "https://a.tile.opencyclemap.org/cycle"
}
]
}
|
|
説明
|
|
|
|
basemapLayer としての WebTiledLayer の構文
|
例
|
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"type": "WebTiledLayer",
"urlTemplate": "<urlTemplate1>",
"subDomains": [ //optional
<subDomain1>,
<subDomain2>
],
"tileInfo": {}, //optional
"credits": "<credits>" //optional
}
]
}
|
"baseMap": {
"title": "MapQuest",
"baseMapLayers": [
{
"type": "WebTiledLayer",
"urlTemplate": "https://{subDomain}.mqcdn.com/tiles/1.0.0/vx/map/{level}/{col}/{row}.jpg,
"subDomains": [
"mtile01",
"mtile02",
"mtile03",
"mtile04"
]
}
]
}
|
|
説明
|
urlTemplate (必須): タイルを取得する URL テンプレート。 URL テンプレートは「https://some.example.com/{level}/{col}/{row}/」というパターンに従います。level はズーム レベルを表し、col と row はそれぞれタイルの列と行を表します。
subDomains (オプション): 指定した subDomains のいずれかで urlTemplate の {subDomain} プレースホルダーを置換して、タイル リクエスト URL を構成します。
tileInfo (オプション): 詳細レベル、行、列、原点、空間参照など、レイヤーのタイル情報を定義します。 tileInfo を指定しないと、レイヤーは Web メルカトル タイル スキーマを含む Web メルカトルを使用していると見なされます。 tileInfo の詳細については、ArcGIS REST API をご参照ください。
credits (オプション): レイヤーに寄与した関係者を示す情報です。
|
|
basemapLayer としての WMTS の構文
|
"baseMap": {
"title": "<title>",
"baseMapLayers": [
{
"type": "wmts",
"url": "<url1>",
"layer": "<layerName>", //optional
"style": "<style>", //optional
"format": "<imageFormat>", //optional
"tileMatrixSet": "<tileMatrixSet>" //optional
}
]
}
|
exportOptions
このオブジェクトは、出力マップの設定を指定します。
|
構文
|
例
|
"exportOptions": {
"dpi": <dpi>,
"outputSize": [
<width>,
<height>
]
}
|
"exportOptions": {
"dpi": 300,
"outputSize": [
500,
500
]
}
|
|
説明
|
dpi (オプション): DPI (Dots Per Inch) 単位の解像度。 デフォルトは 96 dpi です。
outputSize (オプション): ピクセル単位のマップのサイズ。 空の文字列または MAP_ONLY (引用符なし) を値として layout_template パラメーターに渡す場合は、サイズを定義する必要があります。 layout_template が MAP_ONLY としても空の文字列としても指定されていない場合は、layout_template が outputSize に優先します。
|
layoutOptions
使用可能な別のページ レイアウト エレメントの設定を定義します。使用可能なレイアウト テンプレートが選択されている場合にのみ指定する必要があります。 ページ レイアウト エレメントには、タイトル、著作権情報、縮尺記号、作成者名、カスタム テキスト エレメントとダイナミック テキスト エレメント、チャート フレーム エレメント、テーブル フレーム エレメントが含まれます。
注意:
このオプションでは、既存のエレメントのプロパティだけが置換されます。 選択されたレイアウト テンプレートにエレメントが存在しない場合は、関連するプロパティが無視されます。 たとえば、レイアウト テンプレートに著作権情報エレメントがない場合は、layoutOptions で copyrightText エレメントが指定されていても、レイアウトに新しい著作権情報エレメントを追加できません。
チャートは、チャート フレーム エレメント用のソースとして使用する前に、操作レイヤーで完全に定義する必要があります。
このオブジェクトのプロパティはすべてオプションです。 プロパティの値を指定した場合は、対応するページ レイアウト エレメントの値が置き換えられます。それ以外の場合は、既存のエレメントは何も変更されません。
|
ExportWebMap カスタム テキスト エレメント
|
ArcGIS Pro で対応するダイナミック テキスト
|
|
titleText
|
<dyn type="layout" property="metadata" attribute="title" emptyStr=""/>
|
|
authorText
|
<dyn type="layout" property="metadata" attribute="contactname" emptyStr=""/>
|
|
copyrightText
|
<dyn type="layout" property="metadata" attribute="credits" emptyStr=""/>
|
注意:
詳細については、ArcGIS ヘルプの dynamicText をご参照ください。
|
構文
|
例
|
"layoutOptions": {
"titleText": "<title>",
"authorText": "<authorName>",
"copyrightText": "<copyright>",
"scaleBarOptions": {
"metricUnit": "<esriMeters | esriKilometers>" ,
"metricLabel": "<metricUnitLabel>",
"nonMetricUnit": "<esriFeet | esriYards | esriMiles | esriNauticalMiles>" ,
"nonMetricLabel": "<nonMetricUnitLabel>"
},
"customTextElements": [
{"<textElementName1>": "<value1>"},
{"<textElementName2>": "<value2>"}
],
"elementOverrides": {
"<elementName1>": {"visible" : true | false},
"<elementName2>": {"visible" : true | false},
//for dynamic text elements
"<dynTxtElmName1>": {
"visible": true | false,
// a text element can have multiple dynamic text elements
"dynamicTextElements": [
//element's index must match their position inside a text element
{
"sourceLayerId": "<webmapOperationalLayerId>", //required
"field": "<field-name>",
"filterType": "<all | visible | selected>",
"whereClause": "SQLWhereClause"
},
{
...
}
]
},
//for table frame elements
"<tableElmName1>": {
"visible": true | false,
"sourceLayerId": "<webmapOperationalLayerId>", //required
"field": ["field1", "field2", ...], //order is honored
"filterType": "<all | visible | selected>",
"whereClause": "SQLWhereClause",
"orderByFields": [ {"field": "<field1>", "order": "ASC | DESC"}, {...} ],
"rowCount": <row-count> //limit table to display top n rows
},
//for chart frame elements
"<chartElmName1>": {
"visible": true | false,
"sourceLayerId": "<webmapOperationalLayerId>", //required
"sourceChartId": "<chartId>", //required
"filterType": "<all | visible | selected>"
}
},
"legendOptions": {
"operationalLayers": [
{
"id": "<webmapOperationalLayerId>",
"sublayerIds": [ //array of string or number
<mapServerSublayerId1>,
<mapServerSublayerId2>
]
}
]
}
}
|
"layoutOptions": {
"titleText": "City Land Use Map",
"authorText": "Print by: XYZ",
"copyrightText": "© esri",
"scaleBarOptions": {
"metricUnit": "esriKilometers",
"metricLabel": "km",
"nonMetricUnit": "esriMiles",
"nonMetricLabel": "mi"
}
"customTextElements": [
{"townshipName": "Town ABC"}
],
"elementOverrides": {
"myNorthArrow": {"visible" : true}
},
"legendOptions": {
"operationalLayers": [
{ //for dynamic mapservicelayer
"id": "myMapserviceLayer",
"subLayerIds": [ //array of integer
0,
1
]
},
{ //for WMS layer
"id": "myWMSLayer",
"subLayerIds": [ //array of string
"layer1",
"layer2"
]
},
{ //for FeatureLayer
"id": "myFeatureLayer"
}
]
}
}
|
|
説明
|
titleText (オプション): マップ タイトル テキスト エレメントのテキストがレイアウト上に存在する場合は、そのテキストが更新されます。
authorText (オプション): 作成者テキスト エレメントのテキストがレイアウト上に存在する場合は、そのテキストが更新されます。
copyrightText (オプション): 著作権情報エレメントのテキストがレイアウト上に存在する場合は、そのテキストが更新されます。
scaleBarOptions (オプション): 縮尺記号が存在する場合は、その縮尺記号が更新されます。
metricUnit (オプション): 縮尺記号の単位をメートル単位に設定します。
metricLabel (オプション): KM、Kilometers、kms など、単位にどのようなラベルを付けるかを指示する文字列。 これを指定しないか、空の文字列が渡された場合は、単位のテキスト値が使用されます。
nonMetricUnit (オプション): 縮尺記号の単位をメートル以外の単位に設定します。
nonMetricLabel (オプション): Miles や mi など、単位にどのようなラベルを付けるかを指示する文字列。 これを指定しないか、空の文字列が渡された場合は、単位のテキスト値が使用されます。
customTextElements (オプション): 名前と値のペアの配列。 ページ レイアウト上のテキスト エレメントのテキスト (ダイナミック テキスト以外のテキスト) を更新する場合に指定する必要があります。 値は文字列でなければなりません。
legendOptions (オプション): レイアウト上の凡例エレメントのプロパティを指定します。 レイアウトの凡例エレメントが空である場合 (エレメントにレイヤーがない場合) は、印刷サービスにより削除されることに注意してください。
elementOverrides (オプション): これは、方位記号、ダイナミック テキスト エレメントを含むテキスト エレメント、テーブル フレーム、ページ レイアウト上のチャート フレーム エレメントなどの一部のエレメントのオーバーライド プロパティを含むエレメントです。 GetLayoutTemplatesInfo を使用して、レイアウト テンプレートにこのようなエレメントと定義が存在するかを確認できます。
visible (オプション): エレメントの可視性を指定します。 これは、すべての種類のエレメントに適用されます。
sourceLayerId: テーブル エレメントとチャート エレメントに必要です。
sourceChartId: チャート エレメントに必要で、チャート エレメントにのみ適用されます。 sourceChartId は、operationalLayer 定義内で確認できます。
filterType (オプション): フィルター タイプをオーバーライドします。 ダイナミック テキスト エレメント、テーブル エレメント、チャート エレメントに適用されます。
whereClause (オプション): SQL 標準に準拠した属性フィルターを指定します。 filterType="Selected" の場合は、いずれも AND 処理されます。 エレメントがチャート エレメントの場合は無視されます。
fields (オプション): テーブル エレメントで使用されるフィールドの配列を指定します。 チャート エレメントには適用されません。 順序が適用されます。 これが指定されている場合、テーブル エレメントの既存の並べ替えは無視されます。 fields および orderByFields の両方を渡す必要があります。
orderByFields (オプション): テーブル エレメントの順序の設定方法を指定します。 省略すると、テーブル エレメントのフィールドによる順序が使用されます (存在する場合)。
rowCount (オプション): 表示するテーブル エレメント内の行数を制限します。 省略すると、テーブル エレメントの行数が使用されます (存在する場合)。
dynamicTextElements: プロパティがオーバーライドされたダイナミック テキスト エレメントの配列。 ダイナミック テキスト エレメントを含むテキスト エレメントにのみ適用されます。
sourceLayerId (必須): レイヤーの ID を表す文字列。 ID は一意でなければならず、操作レイヤーが定義されている operationalLayers エレメント内のレイヤーの ID と一致している必要があります。
filterType (オプション): フィルター タイプをオーバーライドします。
whereClause (オプション): SQL 標準に準拠した属性フィルターを指定します。 filterType="Selected" の場合は、いずれも AND 処理されます。
field (オプション): ダイナミック属性または一部の統計の取得元または作成元となるフィールドの名前を指定します。
|
reportOptions
使用可能な別のレポート エレメントの設定を定義します。使用可能なレポート テンプレートが選択されている場合にのみ指定する必要があります。 レポート エレメントには、ソースとそれに関連するソース ID、フィールド リストなどが含まれます。
注意:
このオプションでは、既存のエレメントのプロパティだけが置換されます。 選択されたレポート テンプレートにエレメントが存在しない場合は、関連するプロパティが無視されます。 たとえば、あるレポート テンプレートに関連するレポートが存在しない場合、出力されるレポートには、関連するレコードが含まれません。
このオブジェクトのすべてのプロパティが必須です。
各レポート テンプレートにどのエレメントを使用できるかを確認するには、「レポート テンプレート情報の取得」タスクにリクエストを送信します。
|
構文
|
例
|
"reportOptions": {
"reportSectionOverrides": {
"Report Section": {
"name": "<report title>",
"sourceId": "<operation layer/table id>",
//field mapping
"fieldElements": {
"<fieldElementName1>": "<fieldName1>",
"<fieldElementName2>": "<fieldName2>",
"<fieldElementName3>": "<fieldName3>",
...
},
//group section when available
"groupSections": {
"<groupSectionElementName>": "<groupByFieldName1>"
},
//statistic elements when available
"statisticElements": {
"<statElementName1>": "<fieldName1>"
}
},
//related report section when available
"Related Report": {
"sourceId": "<related operational layer/table id",
//mapping between field element and field name
"fieldElements": {
"<fieldElementName1>": "<fieldName1>",
"<fieldElementName2>": "<fieldName2>"
...
},
//field headers
"fieldLabelElements": {
"<fieldLabelElementName1>": "<fieldHeader1>",
"<fieldLabelElementName2>": "<fieldHeader2>"
...
},
"groupSections": {
"<groupHeaderElementName>": "<group header>"
}
}
}
}
|
"reportOptions": {
"reportSectionOverrides": {
"Report Section": {
"name": "Esri Theme Parks",
"sourceId": "18a387780ae-layer-3",
"fieldElements": {
"Field 1": "Website",
"Field 2": "City",
"Field 3": "State",
"Field 4": "OpeningDay",
"Field 5": "ChildPrice",
"Field 6": "AdultPrice"
},
"groupSections": {
"Group field: [group-field-value]": "Name"
},
"statisticElements": {
"Count Statistic 1": "Name"
}
},
"Related Report": {
"sourceId": "18a387780b0-layer-4",
"fieldElements": {
"Related Field 1 1": "AttractionName",
"Related Field 2 1": "Description"
},
"fieldLabelElements": {
"Related Field Label 1": "Name",
"Related Field Label 2": "Description"
},
"groupSections": {
"[related-report-name]: Group Header: [group-field-value]": "AttractionType"
}
}
}
}
|
|
説明
|
reportSectionOverrides: これは、reportOptions エレメントが持つ唯一のエレメントです。 これには、レポート レイアウトで利用可能な Report Section、Related Report などの一部のセクションの定義が含まれます。
これらの各子エレメントには、各セクション内にソース、フィールドのマッピングといった一部のエレメントのオーバーライド プロパティが含まれます。
「レポート テンプレート情報の取得」を使用して、オーバーライド可能なレポート テンプレート内のすべてのエレメントを確認できます。
レポートとその構成要素に関する詳細については、ArcGIS Pro ヘルプの「レポート」をご参照ください。
|
|
|
制限事項
メモ レイヤー内でフィーチャレベル シンボルが優先されるように設定されていても、レンダラー タイプがクラス閾値またはシンプルの場合はサポートされません。