Presentar leyendas para un mapa

Descripción

Devuelve la leyenda completa de un mapa, especificando la definición de mapa como JSON, el tamaño de muestra y el tipo mime de las leyendas. La leyenda se arroja como filas de muestras únicas, lo que incluye una imagen codificada base 64 (o dirección URL) y una descripción de texto, que constituye una leyenda completa. Para cada capa en la definición del mapa, serán devueltas cero, una, o más entradas de leyendas.

Cuando inLineSwatch se pasa como falso, se usa la definición de mapa JSON para crear una clave única. Esta clave, junto con la ruta (legends/{legendIndex}/rows/{rowindex}), se ubica en la memoria caché. Esta clave puede utilizarse en la operación getSwatch para recuperar la leyenda de la caché.

La representación del cuerpo JSON está en el formato GeoJSON. Para obtener más información sobre GeoJSON, consulte geojson.org/geojson-spec.html.

Flujo de autorización de ACL

Para obtener una leyenda completa de un mapa, será necesario que el usuario (o las funciones a las que pertenezca) ejecute permisos en la tabla con nombre asignado de la siguiente manera:

  • "EJECUTAR" para el tipo de entidad "Location Intelligence.Named Resources"

Formato de dirección URL de HTTP POST

El siguiente formato se utiliza para solicitudes 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}
			

Parámetros

Consulte Tipos de datos de URL de solicitud, para obtener información sobre los tipos de parámetros que se indican a continuación.

Parámetro Tipo Requerido Descripción
tipo Cadena El tipo de información para devolver la leyenda (por ejemplo, json)
w=ancho Integer Ancho de la muestra individual de leyenda en píxeles
h=alto Integer Altura de la muestra individual de leyenda en píxeles
t=tipo de imagen Cadena El tipo de imágenes que se arrojará para las muestras de leyenda (por ejemplo, gif, png, etc.)
r=resolución Integer no La resolución DPI de las muestras de leyenda como un entero. Los DPI miden la resolución de las imágenes en puntos por pulgada (la cantidad de puntos que pueden colocarse en lo que abarca una pulgada lineal). Si no se especifica, asume el valor predeterminado del servidor.
inlineSwatch=booleano Boolean no Determina si las imágenes de muestra se arrojan como datos o URL a la ubicación de la imagen en el servidor. De manera predeterminada, todas las imágenes de muestra se arrojan como imágenes codificadas base 64 en la respuesta JSON (inlineSwatch=verdadero). Para arrojar URLs de imagen de muestra a las imágenes ubicadas en el servidor, especifique inlineSwatch=false.
ignoreLegendRowOverrideVisibility=boolean Boolean no Ignora la configuración de visibilidad de LegendRowOverride en un recurso con nombre asignado y arroja todas las leyendas.

Ejemplo

Devuelve la leyenda (muestras e información) del mapa MapWithLayer, ubicado en el directorio /Samples/NamedMaps en el repositorio, en formato JSON. Las muestras serán de 32 x 16, en formato PNG, y se arrojarán como imágenes codificadas base 64. El mapa se define usando una única capa definida en el cuerpo 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'
      }
   ]
}
			

El cuerpo de la solicitud puede contener una serie de capas (como anteriormente), Map o Featurecollection. A continuación se muestran ejemplos de objetos Map yFeatureCollection:


{
    "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"}
           }
         }
       ]
     }
			

Devolución

Arroja una matriz de valores de cadena devueltos en un objeto de respuesta JSON, que representa todas las muestras de leyenda de un mapa. Para cada capa en el mapa, serán devueltas cero, una, o más entradas de leyendas.

En la siguiente respuesta, inlineSwatch es verdadero. La imagen se arroja como la imagen codificada base 64 predeterminada.


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

La siguiente respuesta es la misma muestra que anteriormente, sin embargo, se devuelve una dirección URL hacia la imagen de muestra generada (configuración del parámetro inlineSwatch en falso).


    {
    	"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"}]
	}