Afficher une légende pour une carte

Description

Renvoie la légende complète d'une carte nommée en précisant la définition de carte JSON, la taille de pavé et le type Mime des légendes. La légende est renvoyée sous forme de lignes de pavés, avec un image (ou URL) codée au format Base64 et une description textuelle, pour former une légende complète. Pour chaque couche de la carte, zéro, une ou plusieurs entrées de légende sont renvoyées.

Lorsque inLineSwatch est transmis en tant que valeur false, le paramètre JSON de la définition de carte permet de créer une clé unique. Cette clé, ainsi que le chemin (legends/{legendIndex}/rows/{rowindex}), est placée dans le cache. Cette clé peut être utilisée dans l'opération getSwatch pour extraire la légende du cache.

La représentation JSON du corps est au format GeoJSON. Pour plus d’informations sur GeoJSON, reportez-vous à geojson.org/geojson-spec.html.

Format d'URL POST HTTP

Les requêtes POST HTTP se présentent au format suivant :


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}
			

Paramètres

Pour plus d'informations sur les types de paramètres répertoriés ci-dessous, reportez-vous à la section Types de données d'URL de requête.

Paramètre Type Obligatoire Description
type Chaîne oui Type d'informations en fonction desquelles renvoyer la légende (par exemple, JSON).
w=width Entier oui Largeur du pavé de légende individuel en pixels.
h=height Entier oui Hauteur du pavé de légende individuel en pixels.
t=image type Chaîne oui Type d'image à renvoyer pour les pavés de légende (par exemple, gif, png, etc.)
r=resolution Entier non Résolution PPP des pavés de légende sous forme d'entier. PPP mesure la résolution des images en points par pouce (nombre de points individuels qui peuvent être placés sur un pouce linéaire). Si ces paramètres ne sont pas précisés, les paramètres du serveur par défaut sont utilisés.
inlineSwatch=boolean Booléen non Détermine si les images de pavé sont renvoyées sous forme de données ou d'URL à l'emplacement des images sur le serveur. Par défaut, toutes les images de pavé sont renvoyées sous forme d'images codées au format Base64 dans la réponse JSON (inlineSwatch=true). Pour renvoyer des URL d'image de pavé aux images qui se trouvent sur le serveur, précisez inlineSwatch=false.
ignoreLegendRowOverrideVisibility=boolean Booléen non Ignore le paramètre de visibilité LegendRowOverride d'une ressource nommée et renvoie toutes les légendes.

Exemple

Renvoie la légende (pavés et informations) de la carte MapWithLayer, qui se trouve dans le répertoire /Samples/NamedMaps du référentiel, au format JSON. Les pavés mesurent 32 x 16 pixels, ils sont au format PNG et renvoyés sous forme d'images codées au format Base64. La carte est définie par une seule couche décrite dans l'objet 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'
      }
   ]
}
			

Le corps de la requête peut contenir une série de cartes (comme ci-dessus), Map ou Featurecollection. Voici des exemples d'objets Map et 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"}
           }
         }
       ]
     }
			

Résultat

Renvoie une série de valeurs de chaîne renvoyées par un objet de réponse JSON qui représentent tous les pavés de légende de la carte. Pour chaque couche de la carte, zéro, une ou plusieurs entrées de légende sont renvoyées.

Dans la réponse suivante, inlineSwatch a la valeur true. L'image est renvoyée sous forme d'image codée au format Base64 par défaut.


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

La réponse suivante correspond au même pavé que le précédent, à l'exception près que c'est l'URL de l'image de pavé générée qui est renvoyée (en définissant le paramètre inlineSwatch sur 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"}]
	}