Überlegungen bei der Kartenerstellung

Damit eine Karte im Web verfügbar ist, müssen Sie eine Karte in ArcMap erstellen, sie auf der ArcGIS-Server-Site veröffentlichen und dann den resultierenden Karten-Service in einer Client-Anwendung verwenden. Für einen Großteil der Vorgänge, die Sie mit Karten-Services ausführen können, ist in der ursprünglichen Erstellungsphase etwas Vorbereitung erforderlich. Dieses Thema umfasst Fragen in Bezug auf das Erstellen einer Karte, die Sie auf Ihrer Site veröffentlichen möchten.

Allgemeine Tipps

Die folgenden Tipps sind wichtig für alle Kartendokumente, die auf der ArcGIS for Server-Site veröffentlicht werden:

Kann die Karte für eine hohe Performance gecacht werden?

Wenn die Karte Daten enthält, die sich mit großer Wahrscheinlichkeit nicht ändern, sollten Sie das Cachen der Karte für eine hohe Performance in Betracht ziehen. Wenn Sie die Karte cachen, erstellen Sie einen Satz von vorab gerenderten Kartenbildern auf bestimmten Maßstabsebenen. Das tatsächliche Caching erfolgt, nachdem Sie die Karte als Service veröffentlicht haben. Wenn Sie jedoch wissen, dass Sie die Karte cachen werden, beeinflusst dies den Kartenerstellungsprozess. Sie möchten die Karte so erstellen, dass sie bei allen Maßstäben, die Sie cachen werden, gut aussieht. Sie können alle kartografischen Werkzeuge ohne Auswirkung auf die Performance verwenden, da die gecachten Kacheln nur Bilder der Daten sind; das tatsächliche Rendering und die Label-Engines werden nach dem Erstellen des Cache nicht verwendet.

Wenn Sie die Karte nicht cachen können, beeinträchtigen das Rendering und die Label-Engines die Performance des Karten-Service. Weitere Informationen finden Sie unter Was ist Karten-Caching?.

Performance-Tipps für nicht gecachte Karten

Sie sollten immer dann einen Karten-Cache erstellen, wenn es angemessen ist. Wenn Sie jedoch große Mengen von Daten haben, die sich häufig ändern, können Sie möglicherweise keinen Karten-Cache erstellen und beibehalten. In diesem Fall können Sie anhand der folgenden Tipps die Performance der Karte verbessern. Während das Kartendokument veröffentlicht wird, haben Sie die Möglichkeit, die Karte mit dem Service-Editor zu analysieren. Auf diese Weise können Sie schnell Methoden identifizieren, mit denen Sie die Performance des Kartendokuments verbessern können.

Verbessern der Darstellungs-Performance von Karten-Services

Wenn Clients Anforderungen an den ArcGIS-Server senden, um einen Karten-Service anzuzeigen, wird die Antwort vom Server normalerweise vom Browser gecacht und für einen bestimmten Zeitraum wiederverwendet. Dieses Verhalten unterstützt den ArcGIS-Server dabei, die bestmögliche Darstellungs-Performance für Ihren Karten-Service zu erzielen. Abhängig davon, wie der Karten-Service und die ihm zugeordneten Daten in Anwendungen verwendet werden, können Sie die Länge des Zeitraums anpassen, den der Browser eine Antwort in seinem Cache verwendet. Dies können Sie erreichen, indem Sie eine Eigenschaft mit dem Namen cacheControlMaxAge zur JavaScript Object Notation (JSON) des Service hinzufügen.

Verwendung der cacheControlMaxAge-Eigenschaft

ArcGIS-Server-Karten-Service-Antworten enthalten ein Entitätstag (ETag) und einen Cache-Control-Header. Der ETag-Header-Wert ist eine eindeutige Kennung der Antwort. Der Cache-Control-Header verfügt über einen max-age-Wert, der Informationen zum Browser bezüglich des maximalen Zeitraums, den eine Antwort aus dem Browser-Cache wiederverwendet werden kann. Dieser Wert wird von der Eigenschaft cacheControlMaxAge festgelegt.

Wenn eine Anforderung wiederholt wird und das maximale Alter des Cache nicht überschritten wurde, verwendet der Browser die gecachte Antwort, ohne die Anforderung an den Server zu senden. Wenn das maximale Alter überschritten wurde, muss der Browser die Anforderung an den Server senden und einen IF-NONE-MATCH-Header mit zugeordnetem ETag-Wert festlegen, der der Antwort im Cache entspricht. Der ArcGIS-Server wertet die Anforderung aus und bestimmt anhand des ETag-Wertes, ob die Antwort sich geändert hat. Wenn sich die Antwort vom Server von der Kopie im Browser unterscheidet, sendet der Server eine vollständig neue Antwort an den Browser. Wenn die Antwort mit der Kopie im Browser identisch ist, benachrichtigt der Server den Browser, dass die Antwort im Cache weiter verwendet werden soll.

Definieren des Wertes der cacheControlMaxAge-Eigenschaft

Als ArcGIS-Server-Administrator können Sie die cacheControlMaxAge-Eigenschaft definieren, um anzugeben, wie lange ein Browser eine gecachte Antwort verwenden darf. Da der ArcGIS-Server nicht immer eine vollständige Antwort senden muss, kann der Browser-Cache effizienter verwendet werden, Ihre Anwendungen werden optimiert und es wird Netzwerkbandbreite gespart.

Der Standardwert für Karten-Services ist 0. Dies bedeutet, der Browser sendet eine Anforderung immer erneut und der ArcGIS-Server verarbeitet die Anforderung und sendet eine vollständige Antwort an den Browser, wenn sich der Inhalt geändert hat. Dieser Wert eignet sich für die meisten Anwendungen.

Für Karten-Services mit regelmäßig wechselnden Datasets oder regelmäßig wechselnder Symbologie empfiehlt sich ein Wert von etwa 5 Minuten (300 Sekunden). In Anwendungen mit Animationen oder Zeitdaten sollten Sie den Wert hochsetzen, um eine reibungslosere Animation in der Anwendung zu ermöglichen.

Gehen Sie wie folgt vor, um die cacheControlMaxAge-Eigenschaft zu Ihrem Service hinzuzufügen und ihren Standardwert anzugeben:

  1. Öffnen Sie ArcGIS Server Administrator Directory in einem Web-Browser, und melden Sie sich als Benutzer an, dem Administratorberechtigungen zugewiesen sind. Die URL hat das Format http://gisserver.domain.com:6080/arcgis/admin.
  2. Klicken Sie auf Services, und wählen Sie den Karten-Service, den Sie ändern möchten, aus der Liste Services aus. Wenn der Service nicht in der Liste angezeigt wird, befindet er sich möglicherweise in einem Verzeichnis unterhalb des Stammordners.
  3. Führen Sie auf der Seite Service - <Service-Name> (<Service-Typ>) einen Bildlauf bis zum unteren Rand aus, und klicken Sie auf Bearbeiten.
  4. Suchen Sie im Dialogfeld Service-Eigenschaften den Abschnitt "properties" des Service-JSON.
  5. Fügen Sie dem Abschnitt die cacheControlMaxAge-Eigenschaft hinzu und geben Sie den Wert (in Sekunden) für die Eigenschaft an, zum Beispiel:
    "properties": {
      "cacheControlMaxAge": "300",
    
  6. Klicken Sie auf Änderungen speichern.
  7. Stellen Sie auf der Seite Service - <Service-Name> (<Service-Typ>) sicher, dass die cacheControlMaxAge-Eigenschaft und der Wert, den Sie dafür angegeben haben, im Abschnitt Eigenschaften angezeigt wird.

Werden Sie diese Karte auf einem mobilen Gerät anzeigen?

Mit der Funktion Mobiler Datenzugriff können Sie den Inhalt eines Karten-Service zur Anzeige auf einem Tablet PC oder einem Windows Mobile-Gerät extrahieren. Wenn Sie wissen, dass die Karte auf einem mobilen Gerät angezeigt wird, gestalten Sie sie einfach. Sie sollten eine Generalisierung der Daten erwägen, z. B. die Polygonglättung und eine reduzierte Rasterauflösung für Hintergrund- oder Referenz-Layer. Auf diese Weise kann die Karte schneller gezeichnet werden.

Werden Sie eine Netzwerkanalyse mit dieser Karte auf dem Server ausführen?

Wenn Sie diese Karte für eine Netzwerkanalyse auf dem Server verwenden werden, müssen Sie einen Netzwerkanalyse-Layer einschließen, der auf ein Netzwerk-Dataset verweist. Wenn Sie den Karten-Service veröffentlichen, haben Sie die Möglichkeit, die Funktion Netzwerkanalyse zu aktivieren. Dadurch wird ein Web-Service zum Ausführen der Netzwerkanalyse-Tasks in der Karte erstellt.

5/16/2014