Skip To Content

ExportWebMap-Spezifikation

Wenn Sie eine Karte mit dem Geoverarbeitungsservice PrintingTools drucken möchten, der in ArcGIS Server enthalten ist, müssen Sie eine JavaScript Object Notation (JSON)-Repräsentation der Karte, einschließlich der zugehörigen Layer- und Ausdehnungsinformationen, bereitstellen. Die JSON muss der Esri ExportWebMap-Spezifikation entsprechend strukturiert sein.

Wenn Sie die ArcGIS-Web-APIs verwenden, müssen Sie die Konstruktion der JSON nicht berücksichtigen; diese Aufgabe wird von den APIs übernommen. Dieses Thema ist jedoch zu Referenzzwecken enthalten, falls Sie die JSON-Darstellung selbst konstruieren müssen. Dies kann der Fall sein, wenn Sie den PrintingTools-Service direkt aufrufen müssen oder dessen Quell-Geoverarbeitungswerkzeug "Webkarte exportieren" über eine andere Anwendung ausführen möchten.

Hinweis:

Aus Gründen der Klarheit und Lesbarkeit werden JSON-Beispiele in diesem Thema formatiert dargestellt. In der Praxis sollten Sie über die Druckservices allerdings unformatierte JSON übergeben.

Neu in 10.9

  • Ein neues Element zum Ändern der Hintergrundfarbe der Karte wurde zu mapOptions hinzugefügt.

Neu in 10.8.1

  • Die folgenden beiden Renderer werden jetzt in Druckservices unterstützt, die aus ArcGIS Pro veröffentlicht werden.
    • Punktdichte
    • Bivariat

Die Webkarte besteht aus fünf Objekten der obersten Ebene:


{
  "mapOptions": {},
  "operationalLayers": [],
  "baseMap": [],
  "exportOptions": {},
  "layoutOptions": {}
}

mapOptions

Das Objekt mapOptions ist erforderlich und definiert Kartenanzeigeeigenschaften.

Syntax:Beispiel

"mapOptions": {
  "extent": {
    "xmin": <xmin>,
    "ymin": <ymin>,
    "xmax": <xmax>,
    "ymax": <ymax>,
    "spatialReference": {<spatialReference>}
  },
  "scale": <mapScale>,
  "rotation": <mapRotation>,
  "spatialReference": {<spatialReference>},
  "time": [
    <timeInstant> | <startTime>,<endTime>
  ],
  "background": {
    "color": [R, G, B, A]
  }
}

"mapOptions": {
  "extent": {
    "xmin": -12933906.537,
    "ymin": 3993856.886,
    "xmax": -12933371.998,
    "ymax": 3994375.189,
    "spatialReference": {
      "wkid": 102100
    }
  },
  "scale": 1234.5,
  "rotation": -45,
  "spatialReference": {
    "wkid": 102100
  },
  "time": [
    1199145600000,
    1230768000000
  ],
  "background": {
    "color": [51, 227, 200, 255]
  }
}

Beschreibung

  • extent (erforderlich): Eine erforderliche Eigenschaft, die die Ausdehnung der Karte definiert. Der Raumbezug des Ausdehnungsobjekts ist optional. Wenn er nicht bereitgestellt wird, wird davon ausgegangen, dass er im Raumbezug der Karte enthalten ist. Wenn das Seitenverhältnis der Kartenausdehnung sich von der Größe der Karte auf der Ausgabeseite oder von exportOptions:outputSize unterscheidet, kann die Ausgabekarte mehr Features aufweisen.
  • scale (optional): Der Kartenmaßstab, bei dem die Karte exportiert werden soll. Diese Eigenschaft ist optional, wird jedoch zur Erzielung optimaler Ergebnisse empfohlen. Die Maßstabeigenschaft ist besonders nützlich, wenn für die Kartenservices auf dieser Webkarte maßstabsabhängige Layer oder Bezugsmaßstäbe festgelegt wurden. Da die Karte, die Sie in der Webanwendung anzeigen, kleiner sein kann als die Ausgabekarte (z. B. 8,5 x 11 Zoll bzw. A4-Format), weist die Ausgabekarte einen anderen Maßstab auf und es könnten Unterschiede bei den Features und/oder Symbolen der Webanwendung im Vergleich zur Ausgabekarte sichtbar werden.

    Wenn ein Maßstab verwendet wird, hat dieser Vorrang vor der Ausdehnung, die Ausgabekarte wird jedoch mit dem angeforderten Maßstab gezeichnet und auf dem Mittelpunkt der Ausdehnung zentriert.

  • rotation (optional): Diese Eigenschaft stellt die Gradzahl dar, um die der Datenrahmen gedreht wird, von Norden aus gegen den Uhrzeigersinn gemessen. Um den Datenrahmen im Uhrzeigersinn zu drehen, verwenden Sie einen negativen Wert.
  • spatialReference (optional): Der Raumbezug der Karte. Folgende Reihenfolge wird bevorzugt, wenn die Eigenschaft spatialReference fehlt:
    1. mapOptions.extent.spatialReference
    2. baseMap.baseMapLayers.spatialReference
    3. Raumbezug der Kartenvorlage
  • time (optional): Wenn ein zeitbezogener Layer vorhanden ist und dieser zu einer bestimmten Zeit gezeichnet werden soll, geben Sie diese Eigenschaft an. Diese Liste kann eine oder mehrere Elemente beinhalten. Fügen Sie zwei Elemente (startTime gefolgt von endTime) hinzu, um eine Zeitausdehnung darzustellen, oder nur ein Zeitelement, um einen Zeitpunkt darzustellen. Uhrzeiten werden immer in UTC angegeben.
  • background (optional): Sie können die Hintergrundfarbe der Karte ändern. Wenn ein Layout mehrere Karten enthält, wird die Farbe für die Karte übernommen, die mit dem Kartenrahmen WEBMAP_MAP_FRAME verknüpft ist.

operationalLayers

Die Liste operationalLayers enthält alle operationalen Layer, die auf der Karte angezeigt werden sollen. Die Reihenfolge des Arrays definiert die Reihenfolge der Layer auf der Karte. Der Typ der einzelnen Layer wird anhand der URL-Ressourcenantwort definiert. Wenn die Ressource nicht von der URL bestimmt werden kann, wird der Typ anhand der Typeigenschaft definiert. Ein WMS-Layer erfordert beispielsweise die Angabe "type": "wms". Es gibt einige Eigenschaften, die für alle Typen von operationalen Layern gelten, während andere für den jeweiligen Typ des operationalen Layers spezifisch sind.

Bei gesicherten Layern geben Sie das Token in einer Layer-Definition an. Ein Benutzername und ein Kennwort werden nicht als Teil der URL unterstützt.

Hinweis:

Verwenden Sie für einen Kartenservice, Feature-Service oder Image-Service eine URL, die auf den REST-Endpunkt des Service verweist. SOAP-Endpunkte werden nicht unterstützt.

Syntax für operationale Layer

"operationalLayers": [
  {
    "id": "<webmapOperationalLayerId>",
    "url": "<url1>",
    "token": "<tokenString1>",
    "title": "<title1>",
    "opacity": <opacity1>,
    "visibility": <true | false>,
    "minScale": <minScale1>,
    "maxScale": <maxScale1>
  }
]

Beschreibung

Hinweis:

Die unten beschriebenen Eigenschaften gelten für alle Typen von operationalen Layern (wie Kartenservice-Layer, clientseitige Grafiken, KML-Layer usw.). Aus diesem Grund werden sie in diesem Abschnitt möglicherweise nicht für jeden Typ von operationalen Layern aufgeführt.

  • id (optional): Eine Zeichenfolge, die einen operationalen Layer eindeutig identifiziert. Diese wird meist für Legenden benötigt.
  • url: Der Endpunkt eines Service. Er wird für "featureCollection" nicht benötigt.
  • token (optional): Ein Token für den Zugriff auf einen gesicherten Service.
  • title (optional): Der Name eines operationalen Layers. Wenn er in der Legende angezeigt wird, sollte die Legende des Layouts dies unterstützten.
  • visibility (optional): Der Standardwert ist true.
  • opacity (optional): Wertbereiche von 0 bis 1 (Standard), wobei 1 undurchsichtig und 0 vollständig transparent bedeutet.
  • minScale (optional): Der Layer wird nicht dargestellt, wenn er über diesen Maßstab hinaus verkleinert wird.
  • maxScale (optional): Der Layer wird nicht dargestellt, wenn er über diesen Maßstab hinaus vergrößert wird.

Syntax für einen Kartenservice-LayerBeispiel

"operationalLayers": [
  {
    "url": "<url1>",
    "title": "<title1>",
    "opacity": <opacity2>,
    "gdbVersion": "<gdbVersion>",
    "visibleLayers": [
      <layerId1>,
      <layerId2>
    ],
    "layers": [
      {
        "id": <sublayerId1>,
        "name": <name>,
        "layerDefinition": {
          "definitionExpression": "<definitionExpression>",
          "layerTimeOptions": {
            "useTime": <true | false>,
            "timeDataCumulative": <true | false>,
            "timeOffset": <timeOffset1>,
            "timeOffsetUnits": "<esriTimeUnits>"
          },
          "drawingInfo": {
            "renderer": {<renderer>},
            "transparency": <transparency>,
            "scaleSymbols": <true | false>,
            "showLabels": <true | false>,
            "labelingInfo": {<labelingInfo>},
          },
          "source": {<layerSource>},
          "gdbVersion": "<Geodatabase version name>"
        }
      }
    ]
  }
]

"operationalLayers": [
  {
    "url": "https://servicesbeta.esri.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer",
    "title": "Homeland security operations",
    "opacity": 0.8,
    "visibleLayers": [
      0,
      1
    ]
  }
]

Beschreibung

  • visibleLayers (optional): Array von Sublayer-IDs, die innerhalb des Kartenservice-Layers sichtbar gemacht werden sollten. Wenn diese Eigenschaft nicht angegeben wird, wird der operationale Layer mit den Standard-Sichtbarkeitsstatus der einzelnen Sublayer angezeigt. Sie müssen die ID des Gruppen-Layers nicht angeben. Beachten Sie, dass layers Vorrang vor visibleLayers haben, wenn ein Kartenservice dynamische Layer unterstützt. Verwenden Sie für Kartenservices nicht dynamicLayers, es wird nur layerDefinition in der Eigenschaft layers unterstützt.
  • layers (optional): Liste der zu exportierenden Layer. Bei Kartenservices, die dynamische Layer verwenden, werden alle im Array layers festgelegten Layer exportiert, während visibleLayers ignoriert werden. Verwenden Sie bei der Definition des Namens für einen Layer die Eigenschaft name. Dies ist in der Regel erforderlich, wenn der Typ source des Layers dataLayer lautet.
  • drawingInfo (optional): Verwenden Sie diese Eigenschaft zum Überschreiben der Darstellungseigenschaften eines Sublayers, beispielsweise den Renderer des Sublayers.
    • renderer (optional): Wenn diese Eigenschaft angegeben ist, wird der ursprüngliche Renderer des Sublayers überschrieben.
  • source (optional): Stellt die Quelle eines Layers dar, der dem Kartenservice pro Anforderung dynamisch hinzugefügt wird. Weitere Informationen zur Definition der Quelle finden Sie unter ArcGIS-REST-API.
  • gdbVersion (optional): Geben Sie diese Eigenschaft an, wenn Features aus einer anderen Geodatabase-Version dargestellt werden sollen. Sie können diese Eigenschaft auf Ebene der operationalen Layer definieren, um alle Layer auf die angegebene Version umzustellen. Alternativ können Sie sie als Sublayer in einem Array für layers definieren, um die Geodatabase-Version für einen einzelnen Layer zu ändern.

Syntax für einen Feature-LayerBeispiel

"operationalLayers": [
  {
    "url": "<url1>",
    "title": "<title1>",
    "opacity": <opacity2>,
    "layerDefinition": {
      "drawingInfo": {
        "renderer": {<renderer1>}
      },
      "definitionExpression": "<definitionExpression1>",
      "objectIds": [
        <oid1>,
        <oid2>
      ],
      "timeInfo": {  //optional
        "trackIdField": "<trackIdFieldName>"
      },
      "geometry": {<geometry>},
      "geometryType": "<geometryType>",
      "spatialRel": "<spatialRel>",
      "relationParam": "<relationParam>",
      "gdbVersion": "<geodatabaseVersionName>",
      "source": {<layerSource>}
    },
    "selectionObjectIds": [
      <oid1>,
      <oid2>
    ],
    "selectionSymbol": {<symbol>}
  }
]

"operationalLayers": [
  {
    "url": "https://servicesbeta.esri.com/ArcGIS/rest/services/Hydrography/Watershed173811/FeatureServer/1",
    "title": "Watershed",
    "opacity": 1,
    "layerDefinition": {
      "drawingInfo": {
        "renderer": {<renderer>}
      },
      "definitionExpression": "Type = 1",
      "objectIds": [
        534,
        434
      ]
    },
    "selectionObjectIds": [
      434
    ],
    "selectionSymbol": {<symbol>}
  }
]

Beschreibung

  • url (erforderlich): Die URL des Layers. Diese Eigenschaft sollte mit /dynamicLayer enden, wenn ein Feature-Layer auf einem Layer aus einem Kartenservice basiert, der dynamische Layer verwendet.
  • drawingInfo (optional): Legt den Renderer für diesen Layer fest.
    • Für das Rendering mit einem Zeit-Renderer geben Sie neben dem Renderer die Eigenschaften latestObservationRenderer, trackLinesRenderer und observationAger an.
    • observationAger (optional): Der Zeit-Renderer unterstützt zwei Typen für observationAger: rampAger und classBreaksAger. Für jede beliebige Anforderung kann ein Layer entweder rampAger oder classBreaksAger enthalten, jedoch nicht beide Typen.
  • definitionExpression (optional): Eine SQL-Anweisung, die die Darstellung von Features einschränkt.
  • objectIds (optional): Schränkt die darzustellenden Features auf Grundlage von Objekt-IDs ein.
  • timeInfo (optional):
    • trackIdField: Das Feld, das ein oder mehrere angegebene Objekte, die beobachtet werden, eindeutig darstellt. Wenn dieses Feld den Wert NULL hat oder fehlt, wird nur die aktuelle Beobachtung mit dem latestObservationRenderer dargestellt.
  • geometry (optional): Schränkt darzustellende Features nach einer Geometrie ein.
  • geometryType (optional): Diese Eigenschaft ist erforderlich, wenn eine Geometrie angegeben wird.
  • spatialRel (optional): Die räumliche Beziehung, die während der Abfrage auf die Eingabegeometrie angewendet wird.
  • relationParam (optional): Die Funktion für räumliche Beziehung kann während der Abfrage angewendet werden. Ein Beispiel für diese Funktion für räumliche Beziehung ist FFFTTT***.
  • selectionObjectIds (optional): Hebt die Features mit den angegebenen Objekt-IDs mit dem bereitgestellten Symbol hervor; selectionSymbol muss festgelegt werden.
  • selectionSymbol (optional): Features werden mit diesem Symbol hervorgehoben. Dies ist erforderlich, wenn selectionObjectIds angegeben wird.
  • gdbVersion (optional): Gibt den Namen einer Geodatabase-Version an, wenn Sie eine andere Version verwenden als die, auf die der Karten- oder Feature-Service verweist.
  • source (optional): Diese Eigenschaft ist nur dann erforderlich, wenn ein Feature-Layer auf einem Kartenservice basiert, der dynamische Layer verwendet.

Syntax für einen Image-Service-LayerBeispiel

"operationalLayers": [
  {
    "url": "<url1>",
    "title": "<title1>",
    "opacity": <opacity2>,
    "noData": <noDataValue>,
    "format": "<jpgpng | png | png8 | png24 | png32 | jpg | bmp | gif | tiff >",
    "interpolation": "<RSP_BilinearInterpolation | RSP_CubicConvolution | RSP_Majority | RSP_NearestNeighbor>",
    "compressionQuality": <compress>,
    "bandIds": [
      <bandId1>,
      <bandId2>
    ],
    "mosaicRule": "<mosaicRule>",
    "renderingRule": "<renderingRule>",
    "noDataInterpretation": "<esriNoDataMatchAny | esriNoDataMatchAll>"
  }
]

"operationalLayers": [
  {
    "url": "https://ais3/ArcGIS/rest/services/QB16/ImageServer",
    "title": "Satellite image from 1990",
    "opacity": 0.8,
    "bandIds": [
      0,
      1,
      2
    ]
  }
]

Beschreibung

Hinweis:

Weitere Informationen zu Image-Service-Layern finden Sie unter ArcGIS-REST-API.

Syntax für einen WMS-Service-Layer

"operationalLayers": [
  {
    "url": "<url1>",
    "title": "<title1>",
    "type": "wms",
    "opacity": <opacity1>,
    "version": "<wmsServerVersion>",
    "format": "<jpg | png8 | png24 | png32>",
    "transparentBackground": <true | false>,
    "layers": [
      {"name": "<layerName1>"},
      {"name": "<layerName2>"}
    ],
    "visibleLayers": [
      "<layerName1>",
      "<layerName2>"
    ],
    "styles": [
      "<style1>",
      "<style2>"
    ]
  }
]

Beschreibung

  • type (erforderlich): Für WMS-Layer muss dies als wms angegeben werden.
  • format (optional): Das vom Server angeforderte Bildformat.
  • transparentBackground (optional): Wenn der Wert auf true festgelegt ist, wird der Hintergrund transparent dargestellt, vorausgesetzt, das angeforderte Bildformat unterstützt eine transparente Farbe. (JPEG ist ein Beispiel für ein Bildformat, das keine transparente Farbe unterstützt.) Der Standardwert lautet false.
  • visibleLayers (optional): Array von Sublayer-Namen, die innerhalb des WMS-Service-Layers sichtbar gemacht werden sollen. Die Reihenfolge ist ebenfalls wichtig; sie muss den Anforderungen des WMS-Service entsprechen. Wenn es nicht angegeben wird, werden alle Layer des WMS-Service sichtbar gemacht.
  • layers (optional): Array von Sublayer-Namen, die der Karte hinzugefügt werden sollen. Wenn es nicht angegeben wird, werden alle Layer eines WMS-Service der Karte hinzugefügt.
  • styles (optional): Verwenden Sie diese Eigenschaft, um den standardmäßigen Darstellungs-Style eines Sublayers zu überschreiben. Stellen Sie beim Festlegen dieser Eigenschaft sicher, dass die Anzahl und die Reihenfolge der Styles mit dem Array visibleLayers übereinstimmen. Wenn der Style eines bestimmten Sublayers nicht geändert werden soll, können Sie eine leere Zeichenfolge übergeben, beispielsweise "styles": ["highways","","population"].
  • version (optional): Die WMS-Version, zu der Sie eine Verbindung herstellen möchten. Standardmäßig wird die aktuelle Version vom angegebenen WMS-Service unterstützt.

Syntax für einen KML-LayerBeispiel

"operationalLayers": [
  {
    "type": "kml",
    "url": "<url1>",
    "title": "<title1>",
    "showLabels": "<true | false>",
    "visibleFolders": [
      <folderId1>,
      <folderId2>
    ]
  }
]

"operationalLayers": [
  {
    "type": "kml",
    "url": "https://myMachine/.../vermont.kmz",
    "title": "Vermont weather stations",
    "opacity": 0.75,
    "showLabels": true,
    "visibleFolders": [
      0,
      1,
      2
    ]
  }
]

Beschreibung

  • type (erforderlich): Für diese Art von Layer muss der Typ kml sein.
  • url (erforderlich): Die URL zu einer KMZ-Datei.
  • showLabels (optional): Standardmäßig handelt es sich hierbei um false.
  • visibleFolders: Array an numerischen IDs von Ordnern, die sichtbar gemacht werden.

Syntax für einen clientseitigen Image-Service-LayerBeispiel

"operationalLayers": [
  {
    "type": "image",
    "title": "<title1>",
    "opacity": <opacity2>,
    "extent": {
      "xmin": <xmin>,
      "ymin": <ymin>,
      "xmax": <xmax>,
      "ymax": <ymax>,
      "spatialReference": {<spatialReference>}
    },
    "url": "<url1>",
    "imageData": "<base64EncodedImageData>"
  }
]

"operationalLayers": [
  {
    "type": "image",
    "title": "heat map",
    "opacity": 0.75,
    "extent": {
      "xmin": -12933906.537,
      "ymin": 3993856.886,
      "xmax": -12933371.998,
      "ymax": 3994375.189,
      "spatialReference": {
        "wkid": 102100
      }
    },
    "url": "https://myMachine/anImage.png",
    "imageData": "iVBORw0KGg....",
  }
]

Beschreibung

  • type (erforderlich): Für diese Art von Layer muss type imagesein.
  • extent (erforderlich): Das kleinste umgebende Rechteck, in das das Bild passt.
  • url (optional): Die URL zu einem Bild, das dargestellt werden soll. Dies ist nur dann erforderlich, wenn imageData nicht übergeben wird.
  • imageData (optional): Das als base64 codierte Bild. Dies ist erforderlich, wenn die url-Eigenschaft nicht übergeben wird.

Syntax für clientseitige GrafikenBeispiel

"operationalLayers": [
  {
    "featureCollection": {
      "layers": [
        {
          "layerDefinition": {
            "name": "<layerName>",
            "geometryType": "<esriGeometryType>",
            "drawingInfo": {<drawingInfo>},
            "objectIdField": "<objectIdFieldName>",  //optional
            "fields": [  //optional
              {
                "name": "<fieldName>",
                "type": "<esriFieldType>",
                "alias": "<fieldAliasName>"
              }
            ]
          },
          "featureSet": {
            "features": [
              {
                "geometry": {<geometry>},
                "attributes": {  //optional
                  "<fieldName>": "<value>"
                },
                "symbol": {<symbol>}  //overrides symbol defined in the renderer
		            }
            ]
          }
        }
      ]
    }
  }
]

"operationalLayers": [
  {
    "id": "map_graphics",
    "featureCollection": {
      "layers": [
        {
          "layerDefinition": {
            "name": "pointLayer",
            "geometryType": "esriGeometryPoint",
            "drawingInfo": {
              "renderer": {
                "type": "simple",
                "symbol": {
                  "type": "esriSMS",
                  "style": "esriSMSCircle",
                  "color": [
                    76,
                    115,
                    0,
                    255
                  ],
                  "size": 20,
                  "outline": {
                    "color": [
                      255,
                      0,
                      0,
                      255
                    ],
                    "width": 1
                  }
                }
              }
            }
          },
          "featureSet": {
            "features": [
              {
                "geometry": {
                  "x": -10253568.722284,
                  "y": 5463514.62565701,
                  "spatialReference": {
                    "wkid": 102100
                  }
                }
              },
              {
                "geometry": {
                  "x": -13267022.125398,
                  "y": 5463514.62565701,
                  "spatialReference": {
                    "wkid": 102100
                  }
                },
                "symbol": {
                  "color": [
                    255,
                    138,
                    255,
                    191
                  ],
                  "size": 12,
                  "type": "esriSMS",
                  "style": "esriSMSSquare"
                }
              }
            ]
          }
        }
      ]
    }
  }
]

Beschreibung

  • layers (erforderlich): Sammlung von Layern. Ein Layer verfügt über zwei Eigenschaften: layerDefinition und featureSet.
  • layerDefinition (erforderlich): Enthält Eigenschaften, die einen Layer definieren: name, geometryType, drawingInfo, objectIdField und fields.
  • name (optional): Name des Layers.
  • geometryType (erforderlich): Für einen Text-Layer muss geometryType esriGeometryPoint ein.
  • drawingInfo (optional): Wenn drawingInfo fehlt, werden Grafiken mithilfe von Symbolen symbolisiert.
  • objectIdField (optional): Name des Feldes, das Objekt-IDs enthält.
  • fields (optional): Sammlung von Feldern.
  • featureSet (erforderlich): Feature-Container.
  • features (erforderlich): Sammlung von Features.
  • geometry (erforderlich): Geometrie, die das Feature oder die Grafik definiert.
  • attributes (optional): Sammlung von Feature-Attributen.
  • symbol (optional): Wenn diese Eigenschaft angegeben wird, überschreibt dieses Symbol das im Renderer definierte Symbol.

Syntax für Dateien mit kommagetrennten Werten (CSV) nach URLBeispiel

"operationalLayers": [
  {
    {
      "type": "CSV",
      "url": "<url>",
      "layerDefinition": {
        "drawingInfo": {
          "renderer": {<renderer>}
        }
      },
      "locationInfo": {
        "latitudeFieldName": "<latitudeFieldName>",
        "longitudeFieldName": "<longitudeFieldName>"
      }
    }
  }
]

"operationalLayers": [
  {
    "type": "CSV",
    "url": "https://servicesbeta.esri.com/demos/exp/data/earthquakes.csv",
    "id": "Earthquakes",
    "title": "Earthquakes",
    "visibility": true,
    "opacity": 1,
    "layerDefinition": {
      "drawingInfo": {
        "renderer": {
          "symbol": {
            "height": 15,
            "type": "esriPMS",
            "url": "https://static.arcgis.com/images/Symbols/Basic/RedSphere.png",
            "width": 15
          },
          "type": "simple"
        },
        "transparency": 0
      }
    },
    "locationInfo": {
      "latitudeFieldName": "lat",
      "longitudeFieldName": "lon"
    }
  }
]

Beschreibung

  • latitudeFieldName (erforderlich): Der Name des Feldes, das die Y-Koordinate enthält.
  • longitudeFieldName (erforderlich): Der Name des Feldes, das die X-Koordinate enthält.

Weitere Eigenschaften

Hinweis:

Weitere Informationen zu den folgenden Eigenschaften finden Sie unter ArcGIS REST API.

  • source
  • renderer
  • symbol
  • textSymbol
  • labelingInfo
  • geometry
  • geometryType
  • spatialRel
  • relationParam

Syntax für die Definition von drawingInfo für einen Zeit-RendererBeispiel
Hinweis:

Zeit-Renderer werden von über ArcGIS Pro veröffentlichte Druck-Services nicht unterstützt.


"drawingInfo": {
  "observationAger": {<symbolAger>},
  "latestObservationRenderer": {<renderer>},
  "trackLinesRenderer": {<renderer>},
  "renderer": {<renderer>}
}

"drawingInfo": {
  "observationAger": {
    "alphaRange": [
      0,
      255
    ]
  },
  "latestObservationRenderer": {
    "type": "simple",
    "symbol": {
      "type": "esriPMS",
      "url": "https://help.arcgis.com/.../hurr_100_icon.png",
      "contentType": "image/png",
      "width": 30,
      "height": 30
    }
  },
  "trackLinesRenderer": {
    "type": "simple",
    "symbol": {
      "type": "esriSLS",
      "style": "esriSLSSolid",
      "width": 1,
      "color": [
        0,
        0,
        0,
        255
      ]
    }
  },
  "renderer": {
    "type": "simple",
    "symbol": {
      "type": "esriSMS",
      "style": "esriSMSCircle",
      "size": 24,
      "outline": {
        "color": [
          255,
          255,
          255,
          255
        ],
        "width": 1
      }
    }
  }
}

Syntax für die Definition von symbolAger


//rampAger
{
  "colorRange": [
    {<color>}, //for oldest events
    {<color>}  //for newest events
  ],
  "alphaRange": [
    <alpha>, //for oldest events
    <alpha>  //for newest events
  ],
  "sizeRange": [
    <size>, //for oldest events
    <size>  //for newest events
  ]
}

//classBreaksAger
{
  "timeUnits": "<esriTimeUnits>",
  "agerClassBreakInfos": [{<agerClassBreakInfo>},...]
}

Syntax für die Definition von agerClassBreakInfo


{
  "oldestAge": <age>,
  "color": {<color>},
  "alpha": <alpha>,
  "size": <size>
}

Beschreibung

  • Der Zeit-Renderer wird nur von Feature-Layern, nicht von clientseitigen Grafik-Layern oder dynamischen Kartenservice-Layern unterstützt.
  • Alpha ist ein Ganzzahlwert im Bereich von 0 bis 255.

Geoverarbeitungsergebnis

Es gibt zwei Methoden zum Einbeziehen eines Geoverarbeitungsergebnisses:

  1. Wenn ein Geoverarbeitungsergebnis als Feature-Set zurückgegeben und als Grafik auf dem Client dargestellt wird, senden Sie das Ergebnis als Feature-Erfassung.
  2. Wenn das Ergebnis vom Ergebnis-Kartenservice eines Auftrags dargestellt wird, fügen Sie einen neuen Kartenservice-Layer in operationalLayers hinzu, und legen Sie die URL-Eigenschaft so fest, dass sie auf den Endpunkt des Ergebnisses verweist. Beispiel:
    • Geoverarbeitungsergebnis aus 10.1 oder einer höheren Version: https://gisserver.domain.com:6080/arcgis/rest/services/GPJobMapServiceName/MapServer/jobs/job_id
    • Geoverarbeitungsergebnis aus 10.0 und früheren Versionen: https://gisserver.domain.com/arcgis/rest/services/GPServiceName/GPServer/GPTaskName/jobs/job_id/results/out_param_name

Beispiel: Geoverarbeitungsergebnis als operationaler Layer, der vom Ergebnis-Kartenservice eines Auftrags dargestellt wird.


"operationalLayers": [
  {
    "url": "https://gisserver.domain.com:6080/arcgis/rest/services/Buffer/MapServer/jobs/j9aa6c36d59f44829a0daeadb2d0ff87b",
    "title": "Geoprocessing Result"
  }
]

baseMap

Die Karte enthält eine baseMap, die einen Titel und eine baseMapLayers-Eigenschaft aufweist, die eine geordnete baseMapLayers-Liste enthält. Jeder baseMapLayer muss sich im gleichen Raumbezug und Kachelschema befinden. Wenn eine baseMap vorhanden ist, definiert sie den Raumbezug der Karte.

Syntax für baseMapBeispiel

"baseMap": {
  "title": "<title>",
  "baseMapLayers": [
    {
      "url": "<url1>",
      "opacity": <opacity1>
    },
    {
      "url": "<url2>",
      "opacity": <opacity2>
    }
  ]
}

"baseMap": {
  "title": "Shared Imagery Basemap",
  "baseMapLayers":  [
    {
      "url": "https://services.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer",
    },
    {
      "url": "https://services.arcgisonline.com/ArcGIS/rest/services/CSP_Imagery_World_2D/MapServer",
    }
  ]
}

Syntax für Vektorkachel-Layer als baseMapLayerBeispiel
Hinweis:

Vektorkachel-Layer werden nur von über ArcGIS Pro veröffentlichte Druck-Services unterstützt.


"baseMap": {
  "title": "<title>",
  "baseMapLayers": [
    {
      "id": "<id1>",
      "type": "VectorTileLayer",
      "layerType": "VectorTileLayer",
      "title": "<title1>",
      "styleUrl": "<Url1>"
      "visibility": <true | false>,
      "opacity": <opacity1>
    }
  ]
}

"baseMap": {
  "title": "VectorTileLayer as BaseMap",
  "baseMapLayers": [
    {
      "id": "VectorTile_1933",
      "type": "VectorTileLayer",
      "layerType": "VectorTileLayer",
      "title": "World_Basemap",
      "styleUrl": "https://basemaps.arcgis.com/b2/arcgis/rest/services/World_Basemap/VectorTileServer/resources/styles/root.json",
      "visibility": true,
      "opacity": 1
    }
  ]
}

Syntax für Bing Maps als basemapLayerBeispiel

"baseMap": {
  "title": "<title>",
  "baseMapLayers":  [
    {
      "id": "<id1>",
      "type": "<BingMapsRoad | BingMapsAerial | BingMapsHybrid>",
      "culture": "<Bing Maps supported culture>",
      "key": "<bing_key>" //optional
    }
  ]
}

"baseMap": {
  "title": "Bing Maps",
  "baseMapLayers":  [
    {
      "id": "BingMap",
      "visibility": true,
      "type": "BingMapsRoad",
      "culture": "fr-ca"
    }
  ]
}

Syntax für OpenStreetMap als basemapLayerBeispiel

"baseMap": {
  "title": "<title>",
  "baseMapLayers":  [
    {
      "type": "OpenStreetMap",
      "url": "<url>",  //optional
      "credits": "<credits>"  //optional
    }
  ]
}

"baseMap": {
  "title": "OpenCycle Map",
  "baseMapLayers":  [
    {
      "type": "OpenStreetMap",
      "url": "https://a.tile.opencyclemap.org/cycle"
    }
  ]
}

Beschreibung

  • url (optional): Bei fehlender Angabe wird standardmäßig openstreetmap.org verwendet.
  • credits (optional): Eine Erwähnung aller an der Erstellung des Layers beteiligten Personen. Der Wert dieser Eigenschaft wird ignoriert, wenn url nicht angegeben wird. Stattdessen werden die Credits für den standardmäßigen OpenStreetMap-Service verwendet.

Syntax für WebTiledLayer als basemapLayerBeispiel

"baseMap": {
  "title": "<title>",
  "baseMapLayers":  [
    {
      "type": "WebTiledLayer",
      "urlTemplate": "<urlTemplate1>",
      "subDomains": [  //optional
        <subDomain1>,
        <subDomain2>
      ],
      "tileInfo": {},  //optional
      "credits": "<credits>"  //optional
    }
  ]
}

"baseMap": {
  "title": "MapQuest",
  "baseMapLayers":  [
    {
      "type": "WebTiledLayer",
      "urlTemplate": "https://{subDomain}.mqcdn.com/tiles/1.0.0/vx/map/{level}/{col}/{row}.jpg,
      "subDomains": [
        "mtile01", 
        "mtile02", 
        "mtile03", 
        "mtile04"
      ]
    }
  ]
}

Beschreibung

  • urlTemplate (erforderlich): Die URL-Vorlage zum Abrufen der Kacheln Die URL-Vorlage folgt dem Muster https://some.domain.com/{level}/{col}/{row}/, wobei level einer Zoomstufe entspricht und col und row für eine Kachelspalte bzw. -reihe stehen.
  • subDomains (optional): Es wird eine der angegebenen subDomains verwendet, um den Platzhalter {subDomain} in der Eigenschaft urlTemplate zu ersetzen und eine Kachelanforderungs-URL zu bilden.
  • tileInfo (optional): Definiert die Kachelinformationen für den Layer, einschließlich Detaillierungsebenen, Zeilen, Spalten, Ursprung und Raumbezug. Wenn keine tileInfo angegeben ist, wird davon ausgegangen, dass sich der Layer im Web Mercator mit dem Web Mercator-Kachelschema befindet. Weitere Informationen zu tileInfo finden Sie unter ArcGIS REST API.
  • credits (optional): Eine Erwähnung aller an der Erstellung des Layers beteiligten Personen.

Syntax für WMTS als basemapLayer

"baseMap": {
  "title": "<title>",
  "baseMapLayers":  [
    {
      "type": "wmts",
      "url": "<url1>",
      "layer": "<layerName>", //optional
      "style": "<style>", //optional
      "format": "<imageFormat>", //optional
      "tileMatrixSet": "<tileMatrixSet>"  //optional
    }
  ]
}

exportOptions

Dieses Objekt gibt die Einstellungen für die Ausgabekarte an.

SyntaxBeispiel

"exportOptions": {
  "dpi": <dpi>,
  "outputSize":  [
    <width>,
    <height>
  ]
}

"exportOptions": {
  "dpi": 300,
  "outputSize":  [
    500,
    500
  ]
}

Beschreibung

  • dpi (optional): Die Auflösung in dpi (Dots per Inch, Punkte pro Zoll). Die Standardeinstellung ist 96 dpi.
  • outputSize (optional): Die Größe der Karte in Pixel. Die Größe muss definiert werden, wenn eine leere Zeichenfolge oder MAP_ONLY (ohne Anführungszeichen) als Wert an den layout_template-Parameter übergeben wird. Wenn für den Parameter layout_template nicht MAP_ONLY oder eine leere Zeichenfolge angegeben ist, hat layout_template Vorrang vor der Eigenschaft outputSize.

layoutOptions

Mit dieser Eigenschaft werden die Einstellungen für verschiedene verfügbare Seitenlayoutelemente definiert. Sie ist nur erforderlich, wenn eine verfügbare Vorlage ausgewählt wird. Seitenlayoutelemente beinhalten Titel, Copyright-Text, Maßstabsleiste, Name des Autors und benutzerdefinierte Textelemente.

Hinweis:

Diese Option ersetzt nur die Eigenschaften vorhandener Elemente. Wenn ein Element nicht in der ausgewählten Layout-Vorlage vorhanden ist, werden die zugehörigen Eigenschaften ignoriert. Wenn eine Layout-Vorlage beispielsweise kein Copyright-Textelement enthält, wird dem Layout auch dann kein neues Copyright-Textelement hinzugefügt, wenn das copyrightText-Element in den layoutOptions angegeben ist.

Alle Eigenschaften dieses Objekts sind optional. Wenn ein Wert einer Eigenschaft angegeben wird, wird das entsprechende Seitenlayoutelement ersetzt, andernfalls wird das vorhandene Element unverändert übernommen.

ExportWebMap-TextelementEntsprechender dynamischer Text in ArcGIS ProEntsprechender dynamischer Text in ArcMap
titleText<dyn type="layout" property="metadata" attribute="title" emptyStr=""/><dyn type="document" property="title" />
authorText<dyn type="layout" property="metadata" attribute="contactname" emptyStr=""/><dyn type="document" property="author" />
copyrightText<dyn type="layout" property="metadata" attribute="credits" emptyStr=""/><dyn type="document" property="credits" />
Hinweis:

Weitere Informationen zu dynamicText finden Sie in der ArcGIS-Hilfe.

SyntaxBeispiel

"layoutOptions": {
  "titleText": "<title>",
  "authorText": "<authorName>",
  "copyrightText": "<copyright>",
  "scaleBarOptions":  {
    "metricUnit": "<esriMeters | esriKilometers>" ,
    "metricLabel": "<metricUnitLabel>",
    "nonMetricUnit": "<esriFeet | esriYards | esriMiles | esriNauticalMiles>" ,
    "nonMetricLabel": "<nonMetricUnitLabel>"
  },
  "customTextElements": [
    {"<textElementName1>": "<value1>"},
    {"<textElementName2>": "<value2>"}
  ],
  "legendOptions": {
    "operationalLayers": [
      {
        "id": "<webmapOperationalLayerId>",
        "sublayerIds": [  //array of string or number
          <mapServerSublayerId1>,
          <mapServerSublayerId2>
        ]
      }
    ]
  }
}

"layoutOptions": {
  "titleText": "City Land Use Map",
  "authorText": "Print by: XYZ",
  "copyrightText": "© esri",
  "scaleBarOptions":  {
    "metricUnit": "esriKilometers",
    "metricLabel": "km",
    "nonMetricUnit": "esriMiles",
    "nonMetricLabel": "mi"
  }
  "customTextElements": [
    {"townshipName": "Town ABC"}
  ],
  "legendOptions": {
    "operationalLayers": [
      { //for dynamic mapservicelayer
        "id": "myMapserviceLayer",
        "subLayerIds": [ //array of integer
          0,
          1 
        ]
      },
      { //for WMS layer
        "id": "myWMSLayer",
        "subLayerIds": [ //array of string
          "layer1",
          "layer2" 
        ]
      },
      { //for FeatureLayer
        "id": "myFeatureLayer"
      }
    ]
  }
}

Beschreibung

  • titleText (optional): Der Text des Textelements für Kartentitel wird aktualisiert, wenn er im Layout vorhanden ist.
  • authorText (optional): Der Text des Autortextelements wird aktualisiert, wenn er im Layout vorhanden ist.
  • copyrightText (optional): Der Text des Copyright-Textelements wird aktualisiert, wenn er im Layout vorhanden ist.
  • scaleBarOptions (optional): Mit diesen Optionen wird eine Maßstabsleiste aktualisiert, sofern vorhanden.
    • metricUnit (optional): Stellt die Einheiten der Maßstabsleiste auf metrische Einheiten ein.
    • metricLabel (optional): Zeichenfolge, die angibt, wie Einheiten beschriftet werden, z. B. KM, Kilometer oder km. Wenn dies nicht festgelegt wird oder eine leere Zeichenfolge übergeben wird, wird der Textwert der Einheit verwendet.
    • nonMetricUnit (optional): Stellt die Einheiten der Maßstabsleiste auf nichtmetrische Einheiten ein.
    • nonMetricLabel (optional): Zeichenfolge, die angibt, wie Einheiten beschriftet werden, z. B. Meilen oder mi. Wenn dies nicht festgelegt wird oder eine leere Zeichenfolge übergeben wird, wird der Textwert der Einheit verwendet.
  • customTextElements (optional): Dies ist ein Array von Namenwertpaaren. Diese Eigenschaft muss verwendet werden, wenn Sie den Text eines Textelements (der kein dynamischer Text ist) im Seitenlayout aktualisieren möchten. Die Werte müssen Zeichenfolgen sein.
  • legendOptions (optional): Legt Eigenschaften eines Legendenelements im Layout fest. Beachten Sie, dass ein leeres Legendenelement im Layout (es enthält keinen Layer) vom Druck-Service entfernt wird.
    • operationalLayers (optional): Gibt die operationalen Layer an, deren Legenden dem Layout hinzugefügt werden.
      • id: Zeichenfolge, die die ID des Layers darstellt. Die ID muss eindeutig sein und mit der ID des Layers im operationalLayers-Element übereinstimmen, in dem der operationale Layer definiert wird.
      • subLayerIds (optional): Ein Array von Sublayern, deren Elementtypen "Zeichenfolge" oder "Long" sind und die kontextabhängig vom operationalen Layer-Typ sind. Beispielsweise muss es für einen Kartenservice-Layer eine Zahl, für einen WMS-Layer hingegen eine Zeichenfolge sein. Es wird empfohlen, die subLayerIds-Werte für operationale Layer festzulegen, die Sublayer aufweisen. Wenn sie bei Kartenservice- und WMS-Layern ausgelassen werden, werden dem Legendenelement im Layout Legenden aus allen Sublayern hinzugefügt. Für Feature- oder Grafik-Layer muss die sublayers-Eigenschaft nicht festgelegt werden.

Einschränkungen

Symbole auf Feature-Ebene, die in Notizen-Layern überschrieben werden, werden nicht unterstützt, wenn der Renderertyp "Klassenunterbrechung" oder "einfach" ist.