マップの凡例のレンダリング

説明

凡例の JSON、見本サイズ、MIME タイプとしてマップの定義を指定して、マップの凡例一式を返します。凡例は、見本を表す行一式として返されます。これには、Base64 エンコード イメージ (または URL) とテキスト記述も含まれ、それらすべてで凡例全体が構成されます。マップ定義のレイヤごとに、0 個、1 個、または 2 個以上の凡例エントリが返されます。

inLineSwatch が false として渡されると、マップ定義の JSON を使用してユニーク キーが作成されます。このキーとパス (legends/{legendIndex}/rows/{rowindex}) がキャッシュに格納されます。このキーを getSwatch 操作で使用して、キャッシュから凡例を取得できます。

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

HTTP POST URL 形式

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


HTTP POST:	/maps/legends.json;
POST DATA:	w=width;h=height;t=image type;
			[r=resolution]?[inlineSwatch=boolean]&[ignoreLegendRowOverrideVisibility=boolean]
POST BODY: Content-Type:application/json {map definition, containing an object of a Map, layer array, or FeatureCollection}
			

パラメータ

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

パラメータ タイプ 必須 説明
type String はい 凡例を取得する情報のタイプ (JSON など)
w=width Integer はい 各凡例見本の幅 (ピクセル単位)
h=height Integer はい 各凡例見本の高さ (ピクセル単位)
t=image type String はい 凡例見本として取得するイメージのタイプ (gif、png など)
r=resolution Integer いいえ 凡例見本の DPI 解像度を整数として指定します。DPI は、イメージの解像度を 1 インチあたりのドット数 (1 リニア インチ内に含めることのできるドットの数) で測定します。指定しない場合は、サーバーのデフォルトが使用されます。
inlineSwatch=boolean Boolean いいえ 見本のイメージをデータで返すか、サーバー上のイメージの場所への URL で返すかを指定します。デフォルトでは、JSON レスポンスのすべての見本のイメージは、Base64 エンコード イメージとして返されます (inlineSwatch=true)。サーバー上のイメージの場所を示す見本イメージ URL を返すには、inlineSwatch=false を指定します。
ignoreLegendRowOverrideVisibility=boolean Boolean いいえ 名前付きリソースの可視性設定 LegendRowOverride を無視して、すべての凡例を返します。

リポジトリ内の /Samples/NamedMaps ディレクトリにある MapWithLayer マップの凡例 (見本と情報) を JSON 形式で返します。見本は、32 x 16 の PNG 形式で、Base64 エンコード イメージとして返されます。マップは、JSON 本体で定義された単一のレイヤを使用して定義されます。


http://<hostname>:<port>/rest/Spatial/MappingService/maps/legends.json;w=16;h=32;t=png
Content-type: application/json
Authorization: <Basic or Spectrum Token>

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

リクエストの本体には、(上記のような) レイヤ配列、Map、または Featurecollection を含めることができます。以下は、Map および FeatureCollection オブジェクトの例です。


{
    "MapDescription": {
        "version": "1.0",
        "name": "Samples/NamedMaps/WorldMap",
         "layers":[
	  {
		"type":"NamedLayer",
		"name":"/Samples/NamedLayers/USALayer"
          }
	 ]
    }
}
			

{ "type": "FeatureCollection",
    "features": [
      { "type": "Feature",
        "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
        "properties": {"prop0": "value0"}
        },
      { "type": "Feature",
        "geometry": {
          "type": "LineString",
          "coordinates": [
            [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
            ]
          },
        "properties": {
          "prop0": "value0",
          "prop1": 0.0
          }
        },
      { "type": "Feature",
         "geometry": {
           "type": "Polygon",
           "coordinates": [
             [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
               [100.0, 1.0], [100.0, 0.0] ]
             ]
         },
         "properties": {
           "prop0": "value0",
           "prop1": {"this": "that"}
           }
         }
       ]
     }
			

戻り値

JSON レスポンス オブジェクトで、マップのすべての凡例見本を表す String 値配列を返します。マップのレイヤごとに、0 個、1 個、または 2 個以上の凡例エントリが返されます。

以下のレスポンスでは、inlineSwatch は true です。イメージは、デフォルトの Base64 エンコード イメージとして返されています。


	{
		"LegendResponse":[{"layerName":"UK REGNS",				
		"rows":[{
		"description":"Region","swatch":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAy
		CAYAAAAeP4ixAAAASUlEQVR42u3PQRUAAAREQf3TacRBCszu+wEm4tjqQAPJxQcBAQEBAQEBAQEBAQEBAQEB
		AQEBAQEBAQEBAQEBAQEBAQEBeQHZXgPRVfdw38uLQQAAAABJRU5ErkJggg=="
		}],
		"title":"UK REGNS",
		"type":"CARTOGRAPHIC"}]
	}
			

以下のレスポンスは、上と同じ見本ですが、生成された見本イメージへの URL が返されています (inlineSwatch パラメータを false に設定)。


    {
    	"LegendResponse":[{"layerName":"UK REGNS",
		rows":[{
		"description":"Region","swatch":"http://<hostname>:<port>/rest/Spatial/MappingService/maps/
		ae16d6e47ab63e2a840f8b1f205e12bb/legends/0/rows/0/swatch/50x50.png"}],
		"title":"UK REGNS","type":"CARTOGRAPHIC"}]
	}