In ArcGIS Pro 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. Vergleichen und ü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.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf einen Layer oder eine Standalone-Tabelle, und klicken Sie auf Eigenschaften
- 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.
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.
Vorsicht:
Um den Beziehungen eindeutige IDs zuzuweisen, müssen die Layer, Tabellen und attributierten 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.
Wenn die Beziehung vor der Aktualisierung der Karteneigenschaften eingerichtet wird, müssen Sie ggf. Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern deaktivieren und wieder aktivieren, damit eindeutige IDs angezeigt werden.
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:
- Stellen Sie sicher, dass der Layer bzw. die Tabelle bereits in einer Beziehung verwendet wird.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf die Karte, und klicken Sie auf Eigenschaften
. Aktivieren Sie auf der Registerkarte Allgemein die Option Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern zulassen, und klicken Sie auf OK.
- 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.
Überprüfen von zugewiesenen IDs bei der Freigabe von Web-Layern
Bevor Sie einen Web-Layer freigeben, sollten Sie die IDs überprüfen, die den Layern und Standalone-Tabellen in der Karte zugewiesen sind. Informationen zum Überschreiben von Web-Layern finden Sie unter Vergleichen von IDs beim Überschreiben von Web-Layern.
- 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.
In diesem Beispiel wird ein Kartenbild-Layer für einen verknüpften Web-Feature-Layer freigegeben. Layer- und Tabellen-IDs werden den Sublayern zugewiesen. 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.
Vergleichen von IDs beim Überschreiben von Web-Layern
Bevor Sie einen Web-Layer überschreiben, vergleichen Sie die zugewiesenen IDs in der Karte mit den Sublayer-IDs des vorhandenen Web-Layers.
- Klicken Sie im Bereich Web-Layer überschreiben unter Freigabe abschließen auf Vergleichen
, um Abweichungen zwischen den IDs in der aktuellen Karte und dem vorhandenen Web-Layer, den Sie überschreiben, zu überprüfen.
Hinweis:
Wenn die Schaltfläche Vergleichen
deaktiviert ist, vergewissern Sie sich, dass die Option Zuweisung eindeutiger numerischer IDs für die Freigabe von Web-Layern zulassen im Dialogfeld Karteneigenschaften aktiviert ist.
Unter Inhalt wird eine Warnung angezeigt, wenn Abweichungen gefunden werden, wie z. B. nicht übereinstimmende ID-Paare und Layer-Namen zwischen der Karte und dem vorhandenen Web-Layer. Sie können mit der Maus auf das Warnsymbol
neben einer ID zeigen, um Informationen zur Warnung anzuzeigen. Mögliche Warnungen werden in der folgenden Tabelle beschrieben:
Warnung Erläuterung Vorgeschlagene Lösungen Die Layer-ID ist nicht in der Karte vorhanden.
Ein Layer mit der ID des vorhandenen Service-Sublayers wurde in der aktuellen Karte nicht gefunden.
Stellen Sie sicher, dass der Layer in der aktuellen Karte vorhanden ist, und ändern Sie die ihm zugewiesene ID so, dass sie der vorhandenen Service-Sublayer-ID entspricht.
Layer-Name für ID wurde geändert.
Ein Layer in der aktuellen Karte weist die gleiche ID auf wie ein vorhandener Service-Sublayer, hat jedoch einen anderen Namen.
Ändern Sie den Namen des Layers so, dass er mit dem Namen des vorhandenen Service-Sublayers übereinstimmt. Oder weisen Sie stattdessen eine eindeutige ID zu, wenn ein anderer Layer in der Karte die gleiche ID besitzt.
In diesem Beispiel wird eine Warnung angezeigt, da die Tabelle im vorhandenen Service die ID 2 aufweist, die Standalone-Tabelle in der Karte jedoch die ID 4 hat. Sie können bei Bedarf die Abweichungen beheben, indem Sie die zugewiesenen IDs oder Layer-Namen in der aktuellen Karte ändern.
- Klicken Sie zum Ändern einer ID unter Aktuelle Karte 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 Web-Layer überschreiben aktualisiert.
- Nachdem Sie sichergestellt haben, dass die gewünschten Layer-IDs in der Karte zugewiesen sind, können Sie auf Veröffentlichen klicken, wenn Sie sich sicher sind, dass Sie den Web-Layer überschreiben möchten.