In ArcGIS AllSource können Sie eine Karte mit mehreren Layern (und Standalone-Tabellen) als Web-Layer oder -Service freigeben. Wenn Sie einen Web-Feature-Layer, Kartenbild-Layer, Web-Kachel-Layer oder Kartenservice freigeben, werden die Layer Ihrer Karte zu Service-Sublayern. Jeder Sublayer wird durch eine eindeutige numerische ID identifiziert, über die Sie mit dem Sublayer arbeiten oder ihn in einer Webkarte bzw. Webanwendung referenzieren können. Beispielsweise können Sie einen Service-Sublayer per URL referenzieren: https://<service-url>/<layerID>.
Standardmäßig wird jedem freigegebenen Layer automatisch eine ID zugewiesen, die auf der Darstellungsreihenfolge im Bereich Inhalt basiert. Für den ersten Layer wird der Wert 0 verwendet. Wenn Sie eine Layer-Auswahl aus Ihrer Karte freigeben, basieren die IDs auf der Reihenfolge der ausgewählten Layer. Dies trifft auch auf etwaige Gruppen-Layer zu, in denen die Layer enthalten sind. Durch das Hinzufügen, Entfernen oder Neuanordnen der Layer ändern sich ihre IDs entsprechend.
Sie können manuell Layer-IDs zuweisen, die statisch sind und bei Änderungen an der Karte unverändert bleiben. Sie können die manuelle Zuweisung über die Einstellung Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern zulassen im Dialogfeld Karteneigenschaften aktivieren. Nach der Aktivierung dieser Einstellung werden die IDs für die einzelnen Layer im Dialogfeld Layer-Eigenschaften sichtbar. Dort können Sie sie vor der Veröffentlichung anpassen.
Hinweis:
Wenn Sie die Layer-IDs nicht manuell zuweisen, kann beim Freigeben von Web-Layern gegebenenfalls der Analyzer-Fehler 00374 auftreten.
Es empfiehlt sich, die manuelle Zuweisung von Layer-IDs vor der Veröffentlichung vorzunehmen, wenn Sie vorhaben, den Web-Layer oder -Service zu einem späteren Zeitpunkt zu überschreiben. Andernfalls ändern sich möglicherweise die IDs von Service-Sublayern, wenn der Web-Layer oder -Service überschrieben wird. Dies führt wiederum dazu, dass Verbindungen in Webanwendungen, die einen Service-Sublayer referenzieren, unterbrochen werden. Durch das manuelle Zuweisen von IDs zu Layern der Karte entfällt die Notwendigkeit, die Referenzen von Service-Sublayern in Webanwendungen zu aktualisieren, wenn Änderungen an den Karteninhalten vorgenommen werden. Überprüfen Sie vor dem Überschreiben die zugewiesenen Layer-IDs, und stellen Sie sicher, dass sie den vorhandenen Service-Sublayer-IDs entsprechen.
Weitere Informationen zum Überschreiben von Web-Layern und -Services finden Sie unter Überschreiben eines Web-Feature-Layers, Überschreiben eines Kartenbild-Layers und Überschreiben eines Kartenservice.
Erstellen von Layern und Standalone-Tabellen mit statischen IDs
Gehen Sie wie folgt vor, um Layer und Standalone-Tabellen mit statischen IDs zu erstellen:
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf die Karte, und klicken Sie auf Eigenschaften .
- Aktivieren Sie im Dialogfeld Karteneigenschaften auf der Registerkarte Allgemein die Option Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern zulassen, und klicken Sie auf OK.
Jedem Layer und jeder Standalone-Tabelle in der Karte werden sequenzielle IDs zugewiesen.
- Weisen Sie optional Layern und Standalone-Tabellen in der Karte benutzerdefinierte IDs zu.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf einen Layer oder eine Standalone-Tabelle, und klicken Sie auf Eigenschaften .
- Geben Sie im Dialogfeld Layer-Eigenschaften bzw. Eigenschaften der Standalone-Tabelle auf der Registerkarte Allgemein im Textfeld Layer-ID bzw. Tabellen-ID eine benutzerdefinierte ganzzahlige ID ein.
Tipp:
Gehen Sie beim Zuweisen von IDs planmäßig vor, indem Sie beispielsweise für die sequenzielle Layer-Nummerierung ein Vielfaches von 10 verwenden (10, 20, 30 usw.). Auf diese Weise ist es möglich, zu einem späteren Zeitpunkt weitere Layer hinzuzufügen. Beispielsweise können Sie zwischen den vorhandenen Layern weitere Layer hinzufügen und diesen IDs zuweisen, die zwischen den Vielfachen von 10 liegen (15, 25, 35 usw.).
- Wiederholen Sie ggf. die vorherigen beiden Schritte für jeden Layer oder jede Standalone-Tabelle.
- Geben Sie die Karte als Web-Feature-Layer, Kartenbild-Layer oder Kartenservice frei.
Die Layer und Standalone-Tabellen der Karte weisen statische IDs auf, sodass Client-Anwendungen nicht aktualisiert werden müssen, wenn der Web-Layer oder -Service zu einem späteren Zeitpunkt überschrieben wird.
Überprüfen von zugewiesenen IDs bei der Freigabe von Web-Layern
Bevor Sie einen Web-Layer freigeben oder überschreiben, sollten Sie die IDs überprüfen, die den Layern und Standalone-Tabellen in der Karte zugewiesen sind.
- Klicken Sie im Bereich Als Web-Layer freigeben auf die Registerkarte Inhalt.
Die neuen Web-Layer und Sublayer mit zugewiesenen IDs werden im Bereich angezeigt. Überprüfen Sie die ID für jeden Sublayer. Vergewissern Sie sich beim Überschreiben eines Web-Layers, dass die IDs der einzelnen Layer bzw. Standalone-Tabellen mit den vorhandenen Service-Sublayer-IDs übereinstimmen.
Hinweis:
Wenn zugewiesene IDs im Bereich nicht angezeigt werden, vergewissern Sie sich, dass die Option Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern zulassen im Dialogfeld Karteneigenschaften aktiviert ist.
Für Vektorkachel-Layer werden keine IDs angezeigt, da sie nicht durch eine Service-Sublayer-URL referenziert werden können. Auch für Webszenen-Layer werden keine IDs angezeigt, da diese nur einen Sublayer aufweisen, der immer auf 0 gesetzt ist.
- Klicken Sie zum Ändern einer ID auf die Zahl neben dem Layer oder der Standalone-Tabelle.
Daraufhin wird das Dialogfeld Layer-Eigenschaften bzw. Eigenschaften der Standalone-Tabelle angezeigt.
- Geben Sie auf der Registerkarte Allgemein in das Textfeld Layer-ID bzw. Tabellen-ID eine benutzerdefinierte ganzzahlige ID ein, und klicken Sie auf OK.
Die zugewiesene ID wird im Bereich Als Web-Layer freigeben aktualisiert.
Zuweisen von eindeutigen IDs zu Beziehungen
Wenn ein Layer (oder eine Tabelle) Teil einer Beziehung ist und als Service-Sublayer freigegeben wird, muss die Beziehung zwischen den einzelnen Feature-Classes und der Tabelle durch verschiedene eindeutige IDs auf Service-Ebene repräsentiert werden. Dadurch wird verhindert, dass Karten- oder Feature-Services die IDs ändern, nachdem Änderungen an der Karte oder Geodatabase vorgenommen wurden.
Um den Beziehungen eindeutige IDs zuzuweisen, müssen die Layer, Tabellen und attribuierten Beziehungsklassen (sofern zutreffend) zur Karte hinzugefügt werden. Wenn der Service nicht in der Karte vorhanden sind, kann er keine Beziehung zwischen den Layern und Tabellen anzeigen.
Verwenden Sie die Registerkarte Beziehungen in den Eigenschaften des Layers oder der Tabelle, um eindeutige IDs zu überprüfen und zuzuweisen. Führen Sie die folgenden Schritte aus:
- Führen Sie die Schritte 1 und 2 unter Erstellen von Layern und Standalone-Tabellen mit statischen IDs aus, um sicherzustellen, dass die Zuweisung eindeutiger IDs für Ihre Karte zulässig ist.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Layer oder die Tabelle, und klicken Sie auf Eigenschaften.
- Erweitern Sie die Beziehung im Dialogfeld Layer-Eigenschaften bzw. Eigenschaften der Standalone-Tabelle auf der Registerkarte Beziehungen.
- Erweitern Sie den Abschnitt IDs zum Freigeben von Web-Layern in eine Beziehung setzen, um alle Beziehungen anzuzeigen, und geben Sie eine benutzerdefinierte ganzzahlige ID in das Textfeld Beziehungs-ID ein.