マップのレンダリング

説明

インライン JSON マップ定義とリクエスト パラメータで定義されたマップのイメージを、指定された形式で返します。

RenderMap メソッドは、RenderNamedMap メソッドとよく似ていますが、名前付きマップを URL で指定せず、REST リクエストの JSON 本体でマップを定義する点が異なります。インライン定義のマップのレンダリングは、マップのビューをイメージとして取得する場合に使用し、表現 (例えば gif)、ラスタの次元、および、中心とズーム、中心と縮尺、境界ボックスのいずれかで表現されるビューを指定して行います。必要に応じて、ロケール、解像度 (DPI)、認証 (セキュリティ) 情報も指定できます。

本体の JSON 表現は GeoJSON 形式です。GeoJSON の詳細については、geojson.org/geojson-spec.html を参照してください。

レンダリングするビューの作成には、以下のルールが次の優先順位で適用されます。

  • 中心とズームを指定し、その後、ビューを管理する他のすべてのパラメータは無視します (中心とズームについては、リクエスト内で c および z パラメータを指定する必要があります)。
  • 中心と縮尺を指定した場合、ビューを設定するそれ以外のすべてのパラメータは無視される。中心と縮尺については、リクエスト内で c および s パラメータを指定する必要があります。
  • bbox を指定した場合は、境界ボックスでビューが定義されます (境界ボックスについては、リクエスト内で b パラメータを指定する必要があります)。
  • これらの要件を 1 つも満たさない場合、HTTP コード 404 (見つかりません) が返される

HTTP POST URL 形式

HTTP POST リクエストには次の形式を使用します。


HTTP POST:	/maps/image.image type;
POST DATA:	w=width;h=height;c=x,y,srs;z=zoom;s=scale;b=x1,y1,x2,y2,srs;
			[r=resolution];[bc=background color];[bo=background opacity];
POST BODY: Content-Type:application/json {map definition}
			

パラメータ

以下のパラメータのタイプについては、リクエスト URL のデータ タイプを参照してください。

パラメータ タイプ 必須 説明
image type String はい 取得するイメージのタイプ (gif、png、jpg、bmp、jpeg、tiff)
w=width Integer はい イメージの幅 (ピクセル単位)。
h=height Integer はい イメージの高さ (ピクセル単位)。
c=x, y, srs Double、Double、String 中心とズーム、または中心と縮尺を使用してビューを定義する場合のみ必須 x, y の位置を示す地理的座標と srs 名 (空間参照系) で表すビューの中心。
z=zoom Integer、String 中心とズームを使用してビューを定義する場合のみ必須 距離単位で指定するビューの距離としてズームを指定します。ズームは、数字、1 つ以上のスペース文字、距離単位の略語 (mi、km、m など) が順に並ぶ文字列で表現します。
s=scale Integer 中心と縮尺を使用してビューを定義する場合のみ必須 マップ ビューは、指定した縮尺にズーム表示されます。この縮尺値は、マップと現実世界の距離の値の比率を示すために使用されます。例えば、1000 という値を指定すると、マップの縮尺は 1:1000 になります (マップの 1 単位が現実世界の 1000 単位に相当します)。
b=x1, y1, x2, y2, srs Double、Double、Double、Double、String 境界ボックスを使用してビューを定義する場合のみ必須 現実世界の x, y 対角座標と srs 名 (空間参照系) でビュー全体を定義する境界ボックス。
r=resolution Integer いいえ マップの DPI 解像度を整数として指定します。DPI は、マップ イメージの解像度を 1 インチあたりのドット数 (1 リニア インチ内に含めることのできるドットの数) で測定します。指定しない場合は、サーバーのデフォルトが使用されます。
bc=background color String いいえ マップ イメージで使用する背景色。RRGGBB 形式で表現されます。指定されていない場合は、背景色が透明になります。
注: SOAP API とは異なり、16 進 Web カラーの前に # は付けません。
bo=background opacity Double いいえ

背景色の透過性。background 属性と backgroundOpacity 属性が指定されている場合は、それらの値を使用して背景が描画されます。背景が使用されていない場合は、backgroundOpacity 属性に関係なく、背景が完全な透明になります。背景が使用されていても透過性が指定されていない場合は、背景が完全な不透明になります。

戻り値

指定された形式でマップのイメージを返します。

マップのレンダリングは、最も簡単な形として、単一の名前付きレイヤを定義し、イメージを返すことができます。この例では、マップは 400 x 400 ピクセル サイズの PNG として返され、マップ ビューは EPSG 27700 の境界ボックスで定義されます。マップは、JSON 本体で定義された単一のレイヤを使用して定義されます。


POST http://<server>:<port>/rest/Spatial/MappingService/maps/image.png;w=400;h=400;b=-140012,3087,736671,1193876,epsg%3A27700 HTTP/1.1
Content-type: application/json
Authorization: <Basic or Spectrum Token>

{
   "layers":[
      {
         "type":"NamedLayer",
         "name":"/Samples/NamedLayers/UK_REGNS_Layer"
      }
   ]
}

			

以下の例は、さまざまな JSON マップ記述の定義方法を示したものです。

説明
中心とズーム (複数レイヤ)
境界ボックス (単一レイヤ)
中心と縮尺 (複数レイヤ)
レイヤのレンダリング可能性の設定
円グラフ レイヤ オーバーレイを含むマップ
MapBasic スタイルを持つレコード数均等レンジ主題図
2 分位点(クオンタイル)レンジ主題図を含むフィーチャー レイヤ
目盛り付き棒グラフ レイヤ
折れ線グラフ レイヤ
メトリック式を含むライン連結レイヤ
Feature Service レスポンスを使用してマップをレンダリングする

透明な青い背景でマップをレンダリングします。

http://<server>:<port>/rest/Spatial/MappingService/maps/image.png;w=256;h=256;b=-180,-90,180,90,epsg:4326;bc=0048FF;bo=.5
Content-type: application/json
Authorization: <Basic or Spectrum Token>

{
   "layers":[
      {
         "type":"NamedLayer",
         "name":"/Samples/NamedLayers/WorldcapFeatureLayer"
      },
      {
         "type":"NamedLayer",
         "name":"/Samples/NamedLayers/UK_REGNS_Layer"
      },
      {
         "type":"NamedLayer",
         "name":"/Samples/NamedLayers/WorldFeatureLayer"
      }
   ]
}