Render Map
Descripción
Devuelve una imagen de un mapa, en el formato especificado, definido por la definición de mapa JSON interno y los parámetros de solicitud.
El método RenderMap es muy similar al método RenderNamedMap, excepto que no se especifica un mapa con nombre asignado en la dirección URL y, en su lugar, se define el mapa en el cuerpo JSON de la solicitud REST. La generación de un mapa definido en línea se utiliza cuando se desea obtener una vista como imagen de un mapa con nombre asignado mediante la especificación de la representación (por ejemplo, gif), las dimensiones del ráster y una vista representada como centro y acercamiento, centro y escala o un cuadro delimitador. Opcionalmente, puede especificar la configuración regional y la resolución (DPI), así como suministrar información de autorización (seguridad).
La representación del cuerpo JSON está en el formato GeoJSON. Para obtener más información acerca de GeoJSON, consulte geojson.org/geojson-spec.html.
Estas reglas en orden de prioridad determinan cómo se crea la vista de representación:
- si se especifican el centro y el zoom, se ignoran todos los otros parámetros que controlan la vista (para centro y zoom, debe especificar los parámetros c y z en la solicitud)
- si el centro y la escala se especifican, entonces se ignoran todos los otros parámetros que controlan la vista. (para centro y escala, debe especificar los parámetros c y s en la solicitud)
- si se especifica el cuadro delimitador, este se usa para definir la vista (para el cuadro delimitador, debe especificar el parámetro b en la solicitud)
- si no se cumple ninguno de estos requisitos, entonces se arrojará un código HTTP de 404 (Not Found).
Formato de dirección URL de HTTP POST
Este formato se utiliza para solicitudes 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}
Parámetros
Consulte Tipos de datos de URL de solicitud, para obtener información acerca de los tipos de parámetros que se indican a continuación.
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
image type | Cadena | sí | El tipo de imagen para devolver (gif, png, jpg, bmp, jpeg, o tiff) |
w=ancho | Integer | sí | Ancho de las imágenes en píxeles |
h=alto | Integer | sí | Alto de las imágenes en píxeles |
c=x, y, srs | Double, Double, String | Solo se requiere si se define la vista usando centro y zoom, o centro y escala | El centro de la vista en coordenadas geográficas, que consta de una posición x, y, y el nombre de srs (sistema de referencia espacial). |
z=zoom | Integer, String | Solo se requiere si se define la vista usando centro y zoom | El zoom, o la distancia en toda la vista en unidades lineales. El zoom está representado por una cadena con un número seguido por uno o más espacios, los cuales son seguidos por una abreviatura de unidad lineal (por ejemplo, mi, km, m, etc.). |
s=escala | Integer | Solo se requiere si se define la vista usando centro y escala | La vista del mapa que se va a aumentar a la escala especificada. El valor de la escala se usa para comparar los valores del mapa y la distancia del mundo real. Por ejemplo, si se especifica un valor de 1000, la escala del mapa es 1:1000 (1 unidad de mapa es igual a 1000 unidades del mundo real). |
b=x1, y1, x2, y2, srs | Double, Double, Double, Double, String | Solo se requiere si se define la vista usando un cuadro delimitador | El cuadro delimitador que define toda la vista en las coordenadas del mundo real, mediante el uso de posiciones x, y de esquinas opuestas y el nombre srs (sistema de referencia espacial). |
r=resolución | Integer | no | La resolución DPI del mapa como un entero. Los DPI miden la resolución de las imágenes del mapa 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. |
bc=color de fondo | Cadena | no | El color de fondo que se usará en la imagen del mapa, según se expresa en el formato RRGGBB. Si no se proporciona, el color de fondo será transparente. Nota: A diferencia de la API SOAP, un # principal no debería preceder al color web hexadecimal.
|
bo=opacidad de fondo | Double | no |
La opacidad del color de fondo. Si se especifican los atributos de fondo y backgroundOpacity, estos valores se usarán para dibujar el fondo. Si no se utiliza fondo, será totalmente transparente, independientemente del atributo backgroundOpacity. Si se utiliza fondo pero no se especifica la opacidad, será totalmente opaco. |
Devolución
Arroja una imagen del mapa en el formato especificado.
Ejemplo
En su forma más simple, la opción de generar mapa puede definir una sola capa con nombre asignado y arrojar la imagen. En esta instancia, el mapa se arroja como un PNG que es de 400 x 400 píxeles de dimensión, la vista del mapa está definida por el cuadro delimitador en EPSG 27700. El mapa se define usando una única capa definida en el cuerpo 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"
}
]
}
Los siguientes ejemplos muestran cómo se definen varias descripciones de mapa JSON:
|
Hacer un mapa con un fondo azul transparente:
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"
}
]
}