Skip To Content

ExportWebMap 仕様

ArcGIS Server に含まれる PrintingTools ジオプロセシング サービスを使用してマップを印刷する場合は、レイヤーおよび範囲情報を含むマップの JSON (JavaScript Object Notation) 形式を構成する必要があります。JSON は Esri ExportWebMap 仕様に従って構成します。

ArcGIS Web API を使用するときに、JSON の構築について心配する必要はありません。これはすべて API によって処理されます。ただし、このトピックは JSON を構築することが必要になった場合の参考のために含まれています。考えられるのは、PrintingTools サービスを直接呼び出すこと、または別のアプリケーションからソース ジオプロセシング ツールの [Web マップのエクスポート (Export Web Map)] を実行することが必要になった場合などです。

Web マップは 5 つのトップ レベルのオブジェクトで構成されます。

{
 "mapOptions": {},
 "operationalLayers": [],
 "baseMap": [],
 "exportOptions": {},
 "layoutOptions": {}
}

mapOptions

必須のオブジェクト mapOptions は、マップ表示プロパティを定義します。

構文:
"mapOptions" : {
 "extent" : {
  "xmin" : <xmin>,
  "ymin" : <ymin>,
  "xmax" : <xmax>,
  "ymax" : <ymax>,
  "spatialReference" : {<spatialReference>}
 },
 "scale" : <mapScale>,
 "rotation" : <mapRotation>,
 "spatialReference" :  {<spatialReference>},
 "time" : [
  <timeInstant> | <startTime>,<endTime>
 ]
}
"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 ]
}

説明

  • extent: マップの範囲を定義する必須プロパティ。範囲オブジェクトの空間参照はオプションです。指定しない場合は、マップの空間参照内と見 なされます。マップ範囲の縦横比が出力ページのマップのサイズまたは exportOptions:outputSize と異なる場合、出力マップでは、フィーチャの数が多くなっている可能性があります。
  • scale (オプション): マップをエクスポートするときのマップ縮尺。このプロパティはオプションですが、最適な結果を得るために使用することが推奨されます。縮尺プロパティは、この Web マップのマップ サービスが縮尺依存のレイヤーまたは参照縮尺セットを持つ場合に特に便利です。Web アプリケーションに表示されているマップは、出力マップのサイズ (たとえば、8.5 x 11 インチまたは A4 サイズなど) よりも小さい可能性があるため、出力マップの縮尺が異なり、Web アプリケーションではフィーチャまたはシンボルが出力マップと違って見える場合があります。

    縮尺を使用すると、範囲よりも縮尺が優先されますが、出力マップは範囲の中心を中心として、指定の縮尺で描画されます。

  • rotation (オプション): データ フレームを回転する度数を表します。北位置から反対方向に計測されます。時計回りに回転するには、負の値を使用します。
  • spatialReference (オプション): マップの空間参照。spatialReference が指定されない場合の優先順序は次のとおりです。
    1. mapOptions.extent.spatialReference
    2. baseMap.baseMapLayers.spatialReference
    3. マップ テンプレートの空間参照
  • time (オプション): 時間対応レイヤーがあり、それを特定の時間に描画したい場合は、このプロパティを指定します。この順序リストには、1 つか 2 つのエレメントを指定することができます。2 つのエレメント (startTime の後に endTime) を追加して時間範囲を表すか、固定値を表す 1 つの時間エレメントだけを指定します。時間は常に UTC を使用します。

operationalLayers

operationalLayers リストには、マップに表示されるすべての操作レイヤーが含まれます。配列の順序により、マップ内のレイヤーの描画順序が決まります。各レイヤーのタイプは、URL リソースのレスポンスによって指定されます。リソースが URL から決められない場合は、タイプ プロパティによってタイプが決まります。たとえば、WMS レイヤーでは、"type" : "wms" を指定する必要があります。全タイプの操作レイヤーに共通のプロパティと、各タイプの操作レイヤーに固有のプロパティがあります。

セキュリティで保護されたレイヤーの場合は、レイヤー定義でトークンを指定します。ユーザー名とパスワードを URL の一部に使用することはできません。

注意:

マップ サービス、フィーチャ サービス、またはイメージ サービスについては、サービスの REST エンドポイントをポイントする URL を使用します。SOAP エンドポイントはサポートされません。

操作レイヤーの構文
"operationalLayers" : [
 {
  "id" : "<webmapOperationalLayerId>",
  "url" : "<url1>",
  "token" : "<tokenString1>",
  "title" : "<title1>",
  "opacity" : <opacity1>,
  "visibility" : <true | false>,
  "minScale" : <minScale1>,
  "maxScale" : <maxScale1>
 }
]

説明

注意:

次に示すプロパティは、すべてのタイプの操作レイヤー (マップ サービス レイヤー、クライアント側グラフィックス、KML レイヤーなど) で共通です。したがって、このセクションの各操作レイヤー タイプの説明に記載されていない場合があります。

  • id (オプション): 操作レイヤーを一意に識別する文字列。これはほとんどの場合、凡例のために必要です。
  • 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" : "http://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" : {  //オプション
    "trackIdField" : "<trackIdFieldName>"
   },
   "geometry" : {<geometry>},
   "geometryType" : "<geometryType>",
   "spatialRel" : "<spatialRel>",
   "relationParam" : "<relationParam>",
   "gdbVersion" : "<geodatabaseVersionName>",
   "source": {<layerSource>}
  },
  "selectionObjectIds" : [
   <oid1>,
   <oid2>
  ],
  "selectionSymbol" : {<symbol>}
 }
]
"operationalLayers" : [ {
  "url" : "http://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 (オプション): オブジェクト ID に基づいて、描画するフィーチャを制限します。
  • timeInfo (オプション):
    • trackIdField: 観測されている 1 つまたは複数のオブジェクトを一意に表すフィールド。このフィールドが NULL または欠落している場合、latestObservationRenderer を使用して最新の観測のみが描画されます。
  • geometry (オプション): ジオメトリによって、描画するフィーチャを制限します。
  • geometryType (オプション): ジオメトリが指定されたときに必要です。
  • spatialRel (オプション): クエリの実行中に入力ジオメトリに適用される空間リレーションシップ。
  • relationParam (オプション): クエリの実行中に適用可能な空間リレーションシップ関数。空間リレーションシップ関数の例には、FFFTTT*** があります。
  • selectionObjectIds (オプション): 指定したオブジェクト ID のフィーチャを、指定したシンボルでハイライト表示します。selectionSymbol を設定する必要があります。
  • selectionSymbol (オプション): フィーチャはこのシンボルでハイライト表示されます。selectionObjectIds が指定されたときに必要です。
  • 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" : "http://ais3/ArcGIS/rest/services/QB16/
           ImageServer",  "title" : "Satellite image from 1990",  "opacity" : 0.8,  "bandIds" : [   0,   1,   2  ] }
]

説明

注意:

イメージ サービス レイヤーの詳細については、「ArcGIS REST API」をご参照ください。

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 サービス レイヤー内で表示されることが必要なサブレイヤー名の配列。順序も重要であり、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" : "http://myMachine/.../vermont.kmz",  "title" : "Vermont weather stations",  "opacity" : 0.75,  "showLabels" : true,  "visibleFolders" : [   0,   1,   2  ] }
]

説明

  • 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" : "http://myMachine/anImage.png",  "imageData" : "iVBORw0KGg....", }
]

説明

  • type (必須): この種類のレイヤーの場合、必ず「image」であることが必要です。
  • extent (必須): 画像が収まる最小バウンディング ボックス。
  • url (オプション): 描画する画像の URL。imageData が渡されない場合にのみ必要です。
  • imageData (オプション): base64 としてエンコードされた画像。url プロパティが渡されない場合に必要です。

クライアント側グラフィックスの構文
"operationalLayers" : [
 {
  "featureCollection": {
   "layers": [
    {
     "layerDefinition": {
      "name": "<layerName>",
      "geometryType": "<esriGeometryType>",
      "drawingInfo": {<drawingInfo>},
      "objectIdField": "<objectIdFieldName>",  //オプション
      "fields": [  //オプション
       {
        "name": "<fieldName>",
        "type": "<esriFieldType>",
        "alias": "<fieldAliasName>"
       }
      ]
     },
     "featureSet": {
      "features": [
       {
        "geometry": {<geometry>},
        "attributes": {  //オプション
         "<fieldName>": "<value>"
        },
        "symbol": {<symbol>}  //レンダラーで定義されたシンボルをオーバーライドします
       }
      ]
     }
    }
   ]
  }
 }
]
"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 (必須): レイヤーのコレクション。レイヤーには layerDefinition と featureSet の 2 つのプロパティがあります。
  • layerDefinition (必須): レイヤーを定義するプロパティ (name、geometryType、drawingInfo、objectIdField、および fields) が含まれます。
  • name (オプション): レイヤーの名前。
  • geometryType (必須): テキスト レイヤーでは、geometryType を esriGeometryPoint に設定する必要があります。
  • drawingInfo (オプション): drawingInfo がない場合、グラフィックスはシンボルを使用して表示されます。
  • objectIdField (オプション): オブジェクト 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": "http://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": "http://static.arcgis.com/images/Symbols/Basic/RedSphere.png",      "width": 15     },     "type": "simple"
    },    "transparency": 0   }
  },  "locationInfo": {
   "latitudeFieldName": "lat",   "longitudeFieldName": "lon"
  }
 }
]

説明

  • latitudeFieldName (必須): Y 座標を含むフィールドの名前。
  • longitudeFieldName (必須): X 座標を含むフィールドの名前。

その他のプロパティ

注意:

次のプロパティの詳細については、「ArcGIS REST API」をご参照ください。

  • source
  • renderer
  • symbol
  • textSymbol
  • labelingInfo
  • geometry
  • geometryType
  • spatialRel
  • relationParam

テンポラル レンダラーの drawingInfo を定義する構文
"drawingInfo": {
 "observationAger": {<symbolAger>},
 "latestObservationRenderer": {<renderer>},
 "trackLinesRenderer": {<renderer>},
 "renderer": {<renderer>}
}
"drawingInfo": {
 "observationAger": {
  "alphaRange": [   0,   255  ] }, "latestObservationRenderer": {
  "type": "simple",  "symbol": {
   "type": "esriPMS",   "url": "http://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>}, //最も古いイベント用
                {<color>}  //最も新しいイベント用
 ], "alphaRange": [                <alpha>, //最も古いイベント用
                <alpha>  //最も新しいイベント用
 ], "sizeRange": [                <size>, //最も古いイベント用
                <size>  //最も新しいイベント用
 ]
}
//classBreaksAger
{
 "timeUnits": "<esriTimeUnits>", "agerClassBreakInfos" : [{<agerClassBreakInfo>},...]
}

agerClassBreakInfo を定義する構文

{
 "oldestAge": <age>, "color": {<color>}, "alpha": <alpha>, "size": <size>
}

説明

  • テンポラル レンダラーはフィーチャ レイヤーのみによってサポートされ、クライアント側のグラフィックス レイヤーやダイナミック マップ サービス レイヤーによってはサポートされません。
  • Alpha は 0 〜 255 の整数値です。

ジオプロセシングの結果

ジオプロセシングの結果を含めるには、次の 2 つの方法があります。

  1. ジオプロセシングの結果がフィーチャ セットとして返され、クライアント側でグラフィックスとして描画される場合は、フィーチャ コレクションとして結果を送ります。
  2. 結果がジョブの結果マップ サービスによって描画される場合は、新しいマップ サービス レイヤーを operationalLayers に追加し、結果のエンドポイントをポイントするように URL プロパティを設定します。たとえば、次のように指定します。
    • バージョン 10.1 以降でのジオプロセシング結果: http://gisserver.domain.com:6080/arcgis/rest/services/GPJobMapServiceName/MapServer/jobs/job_id
    • バージョン 10.0 以前でのジオプロセシング結果: http://gisserver.domain.com/arcgis/rest/services/GPServiceName/GPServer/GPTaskName/jobs/job_id/results/out_param_name

例: ジョブ結果マップ サービスによって描画される操作レイヤーとしてのジオプロセシングの結果

"operationalLayers" : [
 {
  "url" : "http://gisserver.domain.com:6080/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
  "title" : "Geoprocessing Result"
 }
]

baseMap

マップには 1 つの baseMap が含まれています。また、この baseMap には、タイトル、および順序付けされた baseMapLayers のリストを含む baseMapLayers プロパティが含まれています。各 baseMapLayer は、同じ空間参照およびタイル スキーマに存在する必要があります。baseMap があるときは、baseMap がマップの空間参照を定義します。

baseMap の構文
"baseMap" : {
 "title" : "<title>",
 "baseMapLayers" :  [
  {
   "url" : "<url1>",
   "opacity" : <opacity1>
  },
  {
   "url" : "<url2>",
   "opacity" : <opacity2>
  }
 ]
}
"baseMap" : {
 "title" : "Shared Imagery Basemap", "baseMapLayers" :  [  {
   "url" : "http://services.arcgisonline.com/ArcGIS/
            rest/services/ESRI_Imagery_World_2D/
            MapServer",  },  {
   "url" : "http://services.arcgisonline.com/ArcGIS/
            rest/services/CSP_Imagery_World_2D/
            MapServer",  }
 ]
}

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" : "http://a.tile.opencyclemap.org/cycle"
  }
 ]
}

説明

  • url (オプション): 指定しない場合、デフォルトで openstreetmap.org が使用されます。
  • credits (オプション): レイヤーに寄与した関係者を示す情報です。url プロパティが指定されていない場合、このプロパティの値は無視されます。この場合は、代わりにデフォルトの OpenStreetMap サービスの著作権情報が使用されます。

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" : "http://{subDomain}.mqcdn.com/
      tiles/1.0.0/vx/map/{level}/{col}/{row}.jpg,   "subDomains" : [     "mtile01",      "mtile02", 
     "mtile03",      "mtile04"
   ]  }
 ]
}

説明

  • urlTemplate (必須): タイルを取得する URL テンプレート。URL テンプレートは、「http://some.domain.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 テキスト エレメント対応する ArcMap のダイナミック テキスト

titleText

<dyn type="document" property="title"/>

authorText

<dyn type="document" property="author"/>

copyrightText

<dyn type="document" property="credits"/>

注意:

詳細については、ArcGIS Help の 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>"}
 ],
 "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" : "kilometers",  "metricLabel" : "km",  "nonMetricUnit" : "miles",  "nonMetricLabel" : "mi"
 }
 "customTextElements" : [  {"townshipName" : "Town ABC"}
 ], "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 (オプション): レイアウト上の凡例エレメントのプロパティを指定します。レイアウトの凡例エレメントが空である場合 (エレメントにレイヤーがない場合) は、印刷サービスにより削除されることに注意してください。
    • operationalLayers (オプション): 凡例がレイアウトに追加される操作レイヤーを指定します。
      • id: レイヤーの ID を表す文字列。ID は一意でなければならず、操作レイヤーが定義されている operationalLayers エレメントのレイヤーの ID に一致している必要があります。
      • subLayerIds (オプション): エレメント タイプが string または long で、操作レイヤー タイプに対して状況依存型であるサブレイヤーの配列。たとえば、マップ サービス レイヤーの場合は数字でなければならず、WMS レイヤーの場合は文字列でなければなりません。サブレイヤーを持つ操作レイヤーには subLayerIds 値を指定することをお勧めします。一度省略すると、マップ サービスおよび WMS レイヤーの場合は、すべてのサブレイヤーの凡例がレイアウトの凡例エレメントに追加されます。フィーチャまたはグラフィックス レイヤーの場合は、サブレイヤー プロパティを設定する必要はありません。

制限事項

メモ レイヤー内でフィーチャレベル シンボルが優先されるように設定されていても、レンダラー タイプがクラス閾値またはシンプルの場合はサポートされません。