RenderMap

Beschreibung

Gibt ein Bild einer Karte im angegebenen Format zurück, das durch die Inline-JSON-Kartendefinition und die Anforderungsparameter definiert ist.

Die RenderMap-Methode ähnelt sehr der RenderNamedMap-Methode mit der Ausnahme, dass Sie keine benannte Karte in der URL angeben, sondern die Karte im JSON-Textkörper der REST-Anforderung definieren. Das Rendern einer inline definierten Karte wird genutzt, wenn Sie eine Kartenansicht als Bild erhalten möchten. Geben Sie dazu die Darstellung (z. B. gif), die Abmessungen des Rasters und eine als Mittelpunkt und Zoom, als Mittelpunkt und Maßstab oder als Begrenzungsrecht dargestellte Ansicht an. Optional können Sie das Gebietsschema und die Auflösung (DPI) angeben und Autorisierungsinformationen (Sicherheit) bereitstellen.

Die JSON-Textkörperdarstellung ist im GeoJSON-Format. Weitere Informationen über GeoJSON finden Sie unter geojson.org/geojson-spec.html.

Diese nach Priorität geordneten Regeln bestimmen, wie die Rendering-Ansicht erstellt wird:

  • Wenn der Mittelpunkt und Zoom angegeben sind, werden alle anderen Parameter der Ansicht ignoriert. (Sie müssen für Mittelpunkt und Zoom die Parameter c und z in der Anforderung angeben.)
  • Wenn der Mittelpunkt und der Maßstab angegeben sind, werden alle anderen Parameter der Ansicht ignoriert. (Sie müssen für Mittelpunkt und Maßstab die Parameter c und s in der Anforderung angeben.)
  • Wenn bbox angegeben ist, wird das Begrenzungsrechteck verwendet, um die Ansicht zu definieren. (Sie müssen für das Begrenzungsrechteck den Parameter b in der Anforderung angeben.)
  • Wenn keine dieser Voraussetzungen erfüllt ist, wird der HTTP-Code „404 (Nicht gefunden)“ zurückgegeben.

ACL-Autorisierungsfluss

Um ein Bild einer Karte zurückzugeben, benötigt der Benutzer (oder alle Rollen, denen er angehört) wie folgt die Ausführungsberechtigung für die benannte Karte:

  • „EXECUTE“ für den Entitätstyp „Location Intelligence.Named Resources“

URL-Format von HTTP-POST-Anforderungen

Dieses Format wird für HTTP-POST-Anforderungen verwendet:


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}
			

Parameter

Weitere Informationen über die unten aufgeführten Parametertypen finden Sie unter URL-Anforderungsdatentypen.

Parameter Typ Erforderlich Beschreibung
image type Zeichenfolge ja Der Typ des zurückzugebenden Bildes (gif, png, jpg, bmp, jpeg oder tiff)
w=Breite Ganze Zahl ja Breite des Bildes in Pixeln
h=Höhe Ganze Zahl ja Höhe des Bildes in Pixeln
c=x, y, srs Doppel, Doppel, Zeichenfolge Nur erforderlich, wenn die Ansicht mithilfe von Mittelpunkt und Zoom oder Mittelpunkt und Maßstab definiert wird. Der Mittelpunkt der Ansicht in geografischen Koordinaten bestehend aus einer x,y-Position und dem srs-Name (räumliches Referenzsystem).
z=Zoomen Ganze Zahl, Zeichenfolge Nur erforderlich, wenn die Ansicht mithilfe von Mittelpunkt und Zoom definiert wird. Der Zoom oder die Entfernung durch die Ansicht in linearen Einheiten. Der Zoom wird durch eine Zeichenfolge mit einer Zahl gefolgt von einem oder mehreren Leerzeichen gefolgt von einer Abkürzung einer linearen Einheit (z. B. mi, km, m usw.) dargestellt.
s=Skalieren Ganze Zahl Nur erforderlich, wenn die Ansicht mithilfe von Mittelpunkt und Maßstab definiert wird. Die Kartenansicht wird auf den angegebenen Maßstab vergrößert. Der Maßstabswert dient dem Vergleich der Karte mit Entfernungswerten der realen Welt. Wenn z. B. ein Wert von 1.000 angegeben ist, beträgt der Kartenmaßstab 1:1.000 (1 Karteneinheit entspricht 1.000 Einheiten in der realen Welt).
b=x1, y1, x2, y2, srs Doppel, Doppel, Doppel, Doppel, Zeichenfolge Nur erforderlich, wenn die Ansicht mithilfe eines Begrenzungsrechtecks definiert wird. Das Begrenzungsrechteck, das die gesamte Ansicht in realen Weltkoordinaten mithilfe von gegenüberliegenden X,Y-Eckpositionen und dem srs-Namen (räumliches Referenzsystem) definiert.
r=Auflösung Ganze Zahl no Die DPI-Auflösung der Karte als ganze Zahl. DPI misst die Auflösung der Kartenbilder in Punkten pro Zoll (die Anzahl der einzelnen Punkte, die im Bereich von einem linearen Zoll angeordnet werden können). Ist dieser Wert nicht angegeben, wird der Serverstandard verwendet.
bc=Hintergrundfarbe Zeichenfolge no Die für das Kartenbild zu verwendende Hintergrundfarbe im RRGGBB-Format. Ist dieser Wert nicht angegeben, ist die Hintergrundfarbe transparent.
Anmerkung: Im Gegensatz zur SOAP-API darf kein # der hexadezimalen Farbe vorausgehen.
bo=Hintergrundopazität Double no

Die Opazität der Hintergrundfarbe. Wenn die Attribute „background“ und „backgroundOpacity“ angegeben sind, werden diese Werte zum Zeichnen des Hintergrundes verwendet. Wenn „background“ nicht verwendet wird, ist der Hintergrund komplett transparent ungeachtet des Attributs „backgroundOpacity“. Wenn „background“ verwendet, aber keine Opazität angegeben wird, ist der Hintergrund vollständig undurchsichtig.

Gibt zurück:

Gibt ein Bild der Karte im angegebenen Format zurück.

Beispiel

In der einfachsten Form kann die Render-Karte einen einzelnen benannten Layer definieren und das Bild zurückgeben. Rendern Sie in diesem Fall die Karte als PNG mit einer Abmessung von 400 × 400 Pixeln. Die Kartenansicht wird durch das Begrenzungsrechteck in EPSG 27700 definiert. Die Karte wird mithilfe eines einzelnen Layers im JSON-Textkörper definiert.


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

			

Die folgenden Beispiele zeigen, wie unterschiedliche JSON-Kartenbeschreibungen definiert werden:

Beschreibung Beispiel
Zentrieren und Zoomen mit mehreren Layern Beispiel
Begrenzungsrechteck mit einem einzelnen Layer Beispiel
Zentrieren und Skalieren mit mehreren Layern Beispiel
Einstellen der Layer-Renderbarkeit Beispiel
Karte mit Torten-Layer-Overlay Beispiel
Bereichsdesign mit gleicher Anzahl und MapBasic-Stilen Beispiel
Feature-Layer mit bi-quantilem Bereichsdesign Beispiel
Layer mit Staffelbalken Beispiel
Liniendiagramm-Layer Beispiel
Linienverknüpfungs-Layer mit metrischem Ausdruck Beispiel
Rendern einer Karte mithilfe einer Feature-Dienstantwort Beispiel

Rendern einer Karte mit transparentblauem Hintergrund:

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