Afficher une carte
Description
Renvoie une image d'une carte, au format indiqué, définie par la définition de la carte JSON en ligne et les paramètres de la demande.
La méthode RenderMap est très similaire à la méthode RenderNamedMap, à l'exception près que vous ne définissez pas de carte nommée dans l'URL, mais dans un objet JSON de la demande REST. L'affichage d'une carte définie en ligne est utilisé lorsque vous souhaitez obtenir une vue d'une carte sous forme d'image, en spécifiant la représentation (par exemple, gif), les dimensions du raster et une vue représentée en tant que centre et zoom, en tant que centre et échelle ou en tant que cadre de limitation. Vous pouvez également spécifier les paramètres régionaux et la résolution (PPP), ainsi que fournir des informations d'autorisation (sécurité).
La représentation JSON du corps est au format GeoJSON. Pour plus d’informations sur GeoJSON, reportez-vous à geojson.org/geojson-spec.html.
Ces règles, répertoriées par ordre de priorité, déterminent le mode de création du rendu :
- Si le centre et le zoom sont définis, tous les autres paramètres régissant la vue sont ignorés (pour le centre et le zoom, vous devez préciser les paramètres c et z dans la requête).
- Si le centre et l'échelle sont précisés, tous les autres paramètres régissant la vue sont ignorés. (Pour le centre et l'échelle, vous devez préciser les paramètres c et s dans la requête.)
- Si bbox est défini, le cadre de limitation est utilisé pour définir la vue (pour le cadre de limitation, vous devez préciser le paramètre b dans la requête).
- Si aucune de ces exigences n'est satisfaite, un code HTTP 404 (introuvable) est renvoyé.
Flux d'autorisation ACL
Pour renvoyer une image d'une carte, l'utilisateur (ou les rôles auxquels il appartient) aura besoin de l'autorisation Execute sur la carte nommée de la manière suivante :
- « EXECUTE » pour le type d'entité « Location Intelligence.Named Resources »
Format d'URL POST HTTP
Les requêtes POST HTTP se présentent sous ce format :
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}
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 |
---|---|---|---|
image type | Chaîne | oui | Type d'image à renvoyer (gif, png, jpg, bmp, jpeg ou tiff) |
w=width | Entier | oui | Largeur de l'image en pixels. |
h=height | Entier | oui | Hauteur de l'image en pixels. |
c=x, y, srs | Double, Double, Chaîne | Nécessaire uniquement en cas de définition de la vue sur centre et zoom ou sur centre et échelle. | Centre de la vue sous forme de coordonnées géographiques constituées des positions x, y et du nom SRS (Spatial Reference System – Système de référence spatiale). |
z=zoom | Entier, Chaîne | Nécessaire uniquement en cas de définition de la vue sur centre et zoom. | Zoom ou distance sur la vue en unités linéaires. Le zoom est représenté par une chaîne comportant un nombre, suivi d'un ou de plusieurs espaces, suivis d'une abréviation d'unité linéaire (par exemple, mi, km, m, etc.). |
s=scale | Entier | Nécessaire uniquement en cas de définition de la vue sur centre et échelle. | La vue de la carte est zoomée à l'échelle indiquée. La valeur d'échelle est utilisée pour comparer les valeurs de distance de la carte et du monde réel. Par exemple, si une valeur de 1 000 est indiquée, l'échelle de la carte est 1:1 000 (1 unité de la carte est égale à 1 000 unités du monde réel). |
b=x1, y1, x2, y2, srs | Double, Double, Double, Double, Chaîne | Nécessaire uniquement en cas de définition de la vue dans un cadre de limitation. | Cadre de limitation qui définit la vue toute entière en coordonnées du monde réel via des positions de coin x, y opposées et le nom SRS (Spatial Reference System – Système de référence spatiale). |
r=resolution | Entier | non | Résolution PPP de la carte sous forme d'entier. PPP mesure la résolution des images de carte 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. |
bc=background color | Chaîne | non | Couleur de l'arrière-plan à utiliser pour l'image de la carte, exprimée au format RRGGBB. Si aucune valeur n'est fournie, la couleur de l'arrière-plan sera transparente. Remarque : Contrairement à l'API SOAP, le caractère # ne doit pas précéder la couleur Web hexadécimale.
|
bo=background opacity | Double | non |
Opacité de la couleur de l'arrière-plan. Si les attributs background et backgroundOpacity sont spécifiés, ces valeurs seront utilisées pour dessiner l'arrière-plan. Si l'arrière-plan n'est pas utilisé, il sera totalement transparent indépendamment de l'attribut backgroundOpacity. Si l'arrière-plan est utilisé, mais qu'aucune opacité n'est spécifiée, alors l'arrière-plan sera totalement opaque. |
Résultat
Renvoie une image de la carte au format indiqué.
Exemple
Sous sa forme la plus simple, la carte rendue peut définir une seule couche nommée et renvoyer l'image. Dans cette instance, la carte est renvoyée au format PNG aux dimensions de 400 x 400 pixels ; la vue de la carte est définie par le cadre de limitation au format EPSG 27700. La carte est définie par une seule couche décrite dans l'objet 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"
}
]
}
Les exemples suivants affichent la définition de quelques descriptions de carte JSON :
|
Afficher une carte avec un arrière-plan bleu translucide :
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"
}
]
}