ExportWebMap 仕様

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

ArcGIS Web Mapping 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>,
    "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 は無視されます。
  • 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>}
 }
]
"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: 観測されている所定のオブジェクトを一意に表すフィールド。このフィールドが 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>",  //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(必須): レイヤのコレクション。レイヤには 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>}, //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>
}

説明

  • テンポラル レンダラはフィーチャ レイヤのみによってサポートされ、クライアント側のグラフィックス レイヤやダイナミック マップ サービス レイヤによってはサポートされません。
  • 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" : "<meters | kilometers>" ,
  "metricLabel" : "<metricUnitLabel>",
  "nonMetricUnit" : "<feet | yards | miles | 
                    nauticalMiles>" ,
  "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 レイヤの場合は、すべてのサブレイヤの凡例がレイアウトの凡例エレメントに追加されます。フィーチャまたはグラフィックス レイヤ場合は、サブレイヤ プロパティを設定する必要はありません。

制限事項

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

6/13/2014