Kachel-Layer, die in Ihrem Portal veröffentlicht und gehostet werden, unterstützen die schnelle Visualisierung großer Datasets mithilfe einer Sammlung vorab gezeichneter Kartenbilder bzw. Kacheln. Gehostete Kacheln stellen geographischen Kontext für operationale Layer zur Verfügung. Sie können z. B. Kacheln von Straßen der Umgebung einschließen, um eine visuelle Referenz für die Straßenschilder im Feature-Layer bereitzustellen.
Sie können einen Kachel-Layer veröffentlichen, der mit einer der folgenden Methoden in Ihrem Portal gehostet werden soll:
- Erstellen Sie Kacheln aus einem vorhandenen gehosteten Feature-Layer.
- Definieren Sie eine Karte in ArcGIS Pro, und erlauben Sie Ihrem Portal, die Kacheln zu erstellen.
- Erstellen Sie ein Kachelpaket in ArcGIS Pro, laden Sie es hoch, und veröffentlichen Sie Ihr Portal.
- Definieren Sie eine Karte in ArcMap, und veröffentlichen Sie sie als Kachel-Layer in Ihrem Portal.
- Erstellen Sie ein Kachelpaket, geben Sie es in ArcMap frei, und veröffentlichen Sie es in Ihrem Portal.
- Definieren Sie eine Service-Definitionsdatei in ArcMap, laden Sie sie hoch, und erlauben Sie Ihrem Portal, die Kacheln zu erstellen.
Sie können für Ihre Kacheln automatisch bei der Veröffentlichung oder danach manuell einen Cache erstellen. Weitere Informationen finden Sie unter Empfehlungen für Kachel-Caches.
Um einen gehosteten Kachel-Layer zu veröffentlichen, müssen Sie Mitglied einer der folgenden Rollen in Ihrem Portal sein:
- Standard-Publisher-Rolle
- Eine benutzerdefinierte Rolle, der Berechtigungen zum Erstellen von Inhalten und zum Veröffentlichen gehosteter Kachel-Layer zugewiesen sind.
Veröffentlichen über einen gehosteten Feature-Layer
Sie können einen gehosteten Kachel-Layer in Ihrem Portal aus einem vorhandenen gehosteten Feature-Layer veröffentlichen, den Sie besitzen. Dies ist ein nützlicher Workflow, um große Datasets zu visualisieren, da gecachte Kacheln schneller als dynamisch gerenderte Features dargestellt werden.
Hinweis:
- Bearbeitungen an räumlichen Attributen, die an dem gehosteten Feature-Layer vorgenommen werden, werden nicht automatisch auf den gehosteten Kachel-Layer angewendet. Sie müssen den gehosteten Kachel-Layer erneut aus dem aktualisierten gehosteten Feature-Layer veröffentlichen.
- Für den gehosteten Feature-Layer bestehen Beschränkungen hinsichtlich des Stylings, die sich möglicherweise hinderlich auf die Veröffentlichung eines gehosteten Kachel-Layers auswirken könnten.
- Die Veröffentlichung eines gehosteten Kachel-Layers aus einem Multipatch- oder gehosteten Punktwolken-Feature-Layer ist nicht möglich.
Führen Sie die folgenden Schritte aus, um einen gehosteten Kachel-Layer aus einem gehosteten Feature-Layer zu veröffentlichen:
- Melden Sie sich beim Portal an, und klicken Sie auf Inhalt > Eigene Inhalte.
- Führen Sie zum Veröffentlichen eine der folgenden Aktionen aus:
- Klicken Sie auf den gehosteten Feature-Layer, der veröffentlicht werden soll, und klicken Sie auf Veröffentlichen.
- Klicken Sie auf Erstellen > Kachel-Layer, und wählen Sie einen Feature-Layer aus, der als Kacheln veröffentlicht werden soll.
- Geben Sie einen Titel, Tags und eine Zusammenfassung für den gehosteten Kachel-Layer ein.
- Wenn Ihr Portal-Administrator Inhaltskategorien konfiguriert hat, klicken Sie auf Kategorie zuweisen, und wählen Sie bis zu 20 Kategorien aus, damit andere Ihr Element finden können. Sie können auch das Feld Kategorien filtern verwenden, um die Liste der Kategorien einzugrenzen.
Kategorien sind ab ArcGIS Enterprise 10.6.1 verfügbar.
- Wählen Sie den Ordner aus, in dem der gehostete Kachel-Layer gespeichert wird.
- Ändern Sie optional die Ausdehnung, mit der der Layer angezeigt wird, indem Sie an den Endpunkten des Sichtbarkeitsbereichs ziehen.
Vorsicht:
Die Portal-Website schlägt einen Maßstabsbereich vor, den Sie jedoch ändern können. Beachten Sie jedoch, dass die Einbeziehung großer Maßstäbe in den Maßstabsbereich die auf dem Hosting-Server des Portals verbrauchten Ressourcen stark erhöhen kann. Erstellen Sie keine Kacheln, die über die Genauigkeit Ihrer Daten hinausgehen.
- Klicken Sie auf OK.
Der gehostete Kachel-Layer wird erstellt, und seine Elementseite wird angezeigt.
Definieren und Veröffentlichen einer Karte in ArcGIS Pro
Über eine Karte in ArcGIS Pro können Sie einen Kachel-Layer veröffentlichen, der in Ihrem Portal gehostet werden soll.
Hinweis:
Wenn auf die Layer in ArcGIS Pro Definitionsabfragen angewendet werden, wendet ArcGIS die Definitionsabfragen auf den veröffentlichten gehosteten Kachel-Layer an. Es werden jedoch alle Daten in ArcGIS Enterprise kopiert. Wenn eine Teilmenge der Daten veröffentlichen möchten, müssen Sie die Teilmenge in eine andere Feature-Class exportieren und diese veröffentlichen.
Beachten Sie, dass Webbrowser einige der komplexeren kartografischen Symbole, die Sie ursprünglich beim Erstellen der Karte verwendet haben, nicht anzeigen können. Die meisten Symboltypen sind verfügbar, in einigen Fällen werden die Symbole beim Veröffentlichen jedoch möglicherweise herabgesetzt. Lesen Sie in der Hilfe zu ArcGIS Server unter Erstellen von Feature-Services nach, welche Symbole unterstützt werden, und nehmen Sie vor dem Veröffentlichen alle erforderlichen Änderungen an der Kartensymbolisierung vor.
- Starten Sie ArcGIS Pro, und öffnen Sie das Projekt, das die Karte enthält, die Sie veröffentlichen möchten.
- Stellen Sie sicher, dass die Portalverbindung aktiviert ist, und melden Sie sich mit einem Konto bei Ihrer Organisation an, das über Berechtigungen zum Erstellen von Inhalten und Veröffentlichen von gehosteten Kachel-Layern verfügt.
- Sie haben folgende Möglichkeiten, einen Kachel-Layer zu veröffentlichen:
- Wählen Sie die Layer im Bereich Inhalt aus. Klicken Sie mit der rechten Maustaste auf die Auswahl, klicken Sie danach auf Als Web-Layer freigeben.
Klicken Sie zum Veröffentlichen aller Layer in der Karte auf Web-Layer in der Gruppe Freigeben als auf der Registerkarte Freigabe, und klicken Sie dann auf Web-Layer veröffentlichen.
Tipp:
Wenn die Menüoption Als Web-Layer freigeben nicht aktiv ist, kann dies eine der folgenden Ursachen haben:
- Dem Konto, mit dem Sie sich angemeldet haben, sind keine Berechtigungen zum Veröffentlichen gehosteter Layer zugewiesen.
- Ihr Portal ist nicht mit einem Hosting-Server konfiguriert, der zum Hosten von Web-Layern erforderlich ist.
- Sie versuchen, einen Multipatch-Layer zu veröffentlichen. Dieser Vorgang wird nicht unterstützt.
- Geben Sie einen Namen für den Kachel-Layer ein. Der Layer wird standardmäßig unter Eigene Inhalte gespeichert. Sie können in einem Unterordner unter Eigene Inhalte speichern, indem Sie den Ordnernamen eingeben oder zu einem vorhandenen Ordner navigieren.
- Wählen Sie Alle Daten kopieren aus.
- Wählen Sie Kachel als Layer-Typ aus.
Dadurch werden andere Layer-Typ-Optionen deaktiviert, da beim Kopieren von Daten nur jeweils eine Option ausgewählt sein kann.
- Stellen Sie eine Zusammenfassung und Tags für den Titel-Layer bereit.
- Legen Sie fest, wer Zugriff auf den gehosteten Kachel-Layer haben soll. Alle Layer, die Sie veröffentlichen, werden automatisch für Ihren persönlichen Workspace in Ihrer Organisation (Eigene Inhalte) freigegeben. Andere Benutzer können erst auf Ihre Inhalte zugreifen, wenn Sie sie mindestens für einen der folgenden Benutzer freigeben:
- Der Name Ihres Portals: Durch Auswahl dieser Option kann der Layer für alle authentifizierten Benutzer im Portal freigegeben werden.
- Alle: Durch Auswahl dieser Option wird der Layer für jeden verfügbar gemacht, der Zugriff auf Ihr Portal hat.
- Gruppen: Sie können den Layer für Mitglieder von Gruppen freigeben, denen Sie angehören.
- Klicken Sie auf Konfiguration und dann auf die Schaltfläche Web-Layer-Eigenschaften konfigurieren, um die Cache-Einstellungen festzulegen.
- Wählen Sie ein Kachelschema aus.
- Ändern Sie die Größe des Balkens Detaillierungsebenen, um den minimalen und maximalen Maßstab für den Kachel-Layer anzugeben.
Die geschätzte Größe des resultierenden Cache ändert sich, wenn Sie den minimalen und maximalen Maßstab ändern.
- Legen Sie fest, wann und wo der Kachel-Cache erstellt werden soll.
- Wählen Sie Automatisch auf dem Server cachen, wenn die Kacheln beim Veröffentlichen des Layers auf dem Hosting-Server des Portals erstellt werden sollen.
- Wenn der Cache auf dem Hosting-Server des Portals erstellt und gespeichert werden soll, sie ihn jedoch nach dem Veröffentlichen selbst erstellen möchten, wählen Sie Manuell auf dem Server cachen aus, öffnen Sie den Kachel-Layer auf der Portal-Website, nachdem der Layer veröffentlicht wurde, und erstellen Sie den Cache manuell.
- Wählen Sie Lokal cachen aus, und geben Sie einen Speicherort auf dem ArcGIS Pro-Computer an, um ein vorübergehendes Kachelpaket zu speichern, wenn der Cache auf dem ArcGIS Pro-Computer erstellt und gepackt werden soll. Das Kachelpaket wird zum Entpacken automatisch auf den Hosting-Server des Portals hochgeladen und der Cache wird dort gespeichert.
- Um Benutzern das Herunterladen von Karten-Kacheln für die Offline-Verwendung zu ermöglichen, aktivieren Sie das Kontrollkästchen Für Clients das Exportieren von Cache-Kacheln zulassen.
- Wenn Sie das Kontrollkästchen Für Clients das Exportieren von Cache-Kacheln zulassen aktiviert haben, verwenden Sie das Feld Export beschränken auf, um die maximale Anzahl von Kacheln festzulegen, die Clients gleichzeitig offline nehmen können.
- Klicken Sie auf die Registerkarte Inhalt, um zu bestätigen, dass der Kachel-Layer die gewünschten Daten-Layer enthält.
- Klicken Sie auf Analysieren, um eine Überprüfung auf Fehler oder Probleme durchzuführen.
Alle erkannten Probleme werden auf der Registerkarte Meldungen aufgelistet. Wenn Sie mit der rechten Maustaste auf die einzelnen Meldungen klicken, erhalten Sie weitere Informationen zu den Fehlern bzw. Warnungen und können auf die vorgeschlagenen Korrekturen klicken. Vor dem Veröffentlichen müssen die Fehler behoben werden. Sie können optional die Warnungen korrigieren, um die Performance und Darstellung des gehosteten Kachel-Layers zu verbessern.
- Sobald Sie die Fehler und optional auch etwaige Warnungen behoben haben, klicken Sie auf Veröffentlichen.
Hinweis:
Ihre Daten werden nun auf den Server kopiert. Die zur Veröffentlichung benötigte Zeit hängt von der Datengröße sowie der Bandbreite und Geschwindigkeit des Netzwerks ab.
Nach der Veröffentlichung können Sie auf Web-Layer verwalten klicken, um die Portal-Website zu öffnen.
Erstellen Sie ein Kachelpaket in ArcGIS Pro, und laden Sie es in Ihre Organisation hoch.
Verwenden Sie das Geoverarbeitungswerkzeug Kartenkachelpaket erstellen, um ein Kartenkachelpaket zu erstellen, das Paket zu Ihrer Organisation hinzuzufügen und ein Kachel-Layer zu veröffentlichen.
- Öffnen Sie das Projekt, das die Daten enthält, die Sie packen möchten.
- Öffnen Sie das Geoverarbeitungswerkzeug Kartenkachelpaket erstellen, und führen Sie es aus.
- Wenn die Erstellung des Kachelpakets abgeschlossen ist, melden Sie sich bei Ihrem Portal mit einem Konto an, das über Berechtigungen zum Erstellen von Inhalten und zum Veröffentlichen von gehosteten Kachel-Layern verfügt, und klicken Sie dann auf Inhalt > Eigene Inhalte.
- Fügen Sie das Kachelpaket mit Von meinem Computer hinzu.
- Aktivieren Sie das Kontrollkästchen Diese Datei als gehosteten Layer veröffentlichen.
- Geben Sie einen Titel ein.
- Wenn Ihr Portal-Administrator Inhaltskategorien konfiguriert hat, klicken Sie auf Kategorie zuweisen, und wählen Sie bis zu 20 Kategorien aus, damit andere Ihr Element finden können. Sie können auch das Feld Kategorien filtern verwenden, um die Liste der Kategorien einzugrenzen.
Kategorien sind ab ArcGIS Enterprise 10.6.1 verfügbar.
- Geben Sie durch Kommas getrennte Tag-Begriffe ein.
Tags sind Wörter oder kurze Wortgruppen, die das Element beschreiben und dazu beitragen, dass es besser gefunden wird. Länder Code wird als ein Tag, Länder, Code hingegen als zwei Tags betrachtet.
- Klicken Sie auf Element hinzufügen.
Die Kacheln werden entpackt und ein gehosteter Kachel-Layer wird in Ihrem Portal erstellt. Sie sollten die Kartenkacheln und das Kachelpaket in Eigene Inhalte sehen können.
Definieren und Veröffentlichen einer Karte in ArcMap
In ArcMap können Sie einen Kachel-Layer veröffentlichen, der in Ihrem Portal gehostet werden soll.
Hinweis:
Wenn auf die Layer in ArcMap Definitionsabfragen angewendet werden, wendet ArcGIS die Definitionsabfragen auf den veröffentlichten gehosteten Kachel-Layer an. Es werden jedoch alle Daten in ArcGIS Enterprise kopiert. Wenn eine Teilmenge der Daten veröffentlichen möchten, müssen Sie die Teilmenge in eine andere Feature-Class exportieren und diese veröffentlichen.
Stellen Sie sicher, dass ArcGIS Desktop mit Ihrem Portal verbunden ist, bevor Sie ArcMap starten.
- Starten Sie ArcMap, und öffnen Sie die Karte, die Sie veröffentlichen möchten.
- Melden Sie sich bei Ihrem Portal mit einem Konto an, dem Berechtigungen zum Erstellen von Inhalten und zum Veröffentlichen gehosteter Kachel-Layer zugewiesen sind.
- Klicken Sie auf Datei > Anmelden.
- Geben Sie Ihren Benutzernamen und Ihr Kennwort für Ihr Portal ein, und klicken Sie auf Anmelden.
- Klicken Sie auf Datei > Freigeben als > Service.
- Wählen Sie Service veröffentlichen, und klicken Sie auf Weiter.
Vorsicht:
Wenn Sie den Service stattdessen überschreiben möchten, wird die vorhandene Kartenkachel aus dem Portal gelöscht und ein neues Element mit demselben Namen erstellt. Das neue Element wird im Stammordner erstellt und ihm wird eine neue ID zugewiesen. Sie müssen die Freigabe neu konfigurieren und das Element bei Bedarf zurück in den Ordner verschieben, in dem es sich vor der erneuten Veröffentlichung befand.
- Wählen Sie in der Dropdown-Liste der Verbindungstypen den Eintrag Eigene gehostete Services aus. Geben Sie dann einen Namen für die Kacheln ein, und klicken Sie auf Weiter.
- Legen Sie die gewünschten Eigenschaften im Fenster Service-Editor fest. Hier können Sie auswählen, auf welche Weise Benutzer die Kacheln verwenden können, und Sie können ganz genau festlegen, wie die Kacheln Endbenutzern zur Verfügung gestellt werden.
Weitere Informationen dazu, wie Sie die Kacheln optimal für die Bereitstellung konfigurieren, finden Sie in der ArcGIS Server-Hilfe unter Optimieren und Konfigurieren von Services. Einige der in diesem Thema genannten Eigenschaften gelten nur für ArcGIS Server und nicht für die Arbeit mit gehosteten Kachel-Layern.
Tipp:
Wenn Sie den Service-Editor während dieser Sitzung schließen, werden Sie aufgefordert, Ihre Arbeit als Entwurf zu speichern. Dies ermöglicht Ihnen, Ihre Arbeit an der Service-Konfiguration später wieder aufzunehmen. Service-Entwürfe werden standardmäßig im Ordner Entwürfe der Verbindung mit "Eigene gehostete Karten" gespeichert. Weitere Informationen finden Sie in der ArcGIS Server-Hilfe unter Service-Entwürfe.
- Klicken Sie im linken Service-Editor-Bereich auf Funktionen, und aktivieren Sie Gekachelte Karte, um die Karte als Kachel-Layer verfügbar zu machen. Aktivieren Sie die Option Feature-Zugriff, um einen Feature-Layer mit Ihren Kacheln zu veröffentlichen, falls Sie Pop-ups für den Layer konfigurieren möchten, wenn Sie ihn Map Viewer hinzufügen.
Sie können auf das Unterelement Gekachelte Karte im linken Bereich des Service-Editors klicken, um erweiterte Eigenschaften zu den Funktionen veröffentlichter Kachel-Layer für Clients festzulegen.
- Klicken Sie auf das Element Caching, um Eigenschaften für den Kachel-Cache festzulegen. Ausführliche Informationen finden Sie in der ArcGIS Server-Hilfe unter Erstellen eines Karten-Cache. Beachten Sie jedoch, dass einige erweiterte Caching-Einstellungen nur bei direkten Veröffentlichungen in ArcGIS Server verfügbar sind.
- Klicken Sie im linken Service-Editor-Bereich auf Elementbeschreibung, und geben Sie eine Zusammenfassung und Tags für den Kachel-Layer ein. Diese Informationen müssen Sie vor dem Veröffentlichen eingeben. Weitere Informationen finden Sie im Abschnitt Elementbeschreibung der ArcGIS Server-Hilfe.
- Klicken Sie im linken Bereich von Service-Editor auf Freigeben, und legen Sie fest, für wen der gehostete Kachel-Layer freigegeben werden soll. Der gehostete Kachel-Layer ist standardmäßig privat, d. h. nur für Sie zugänglich. Er kann für alle Benutzer, alle Mitglieder Ihrer Organisation oder Mitglieder bestimmter Gruppen freigegeben werden.
- Klicken Sie im Service-Editor auf Analysieren .
Daraufhin wird die Karte geprüft, um festzustellen, ob sie veröffentlicht werden kann. Vor der Veröffentlichung müssen Sie alle Fehler im Fenster Vorbereiten beheben. Sie können optional die Warnungen und Informationsmeldungen korrigieren, um die Performance und Darstellung der veröffentlichten Kacheln zu verbessern. Weitere Informationen zum Beheben dieser Probleme finden Sie in der ArcGIS Server-Hilfe unter Analysieren der GIS-Ressource.
- Klicken Sie im Service-Editor optional auf Vorschau . Dies kann Ihnen eine Vorstellung davon geben, wie der Kachel-Layer im Internet angezeigt wird.
- Nachdem Sie die Fehler korrigiert und optional auch die Vorschläge aus Warnungen und Informationsmeldungen eingearbeitet haben, klicken Sie auf Veröffentlichen .
Hinweis:
Ihre Daten werden nun auf den Hosting-Server kopiert. Die zur Veröffentlichung benötigte Zeit hängt von der Datengröße sowie der Bandbreite und Geschwindigkeit der Netzwerkverbindung ab. Sie sollten auch etwas Zeit zum Generieren der Kacheln reservieren.
Sobald der Kachel-Layer in Ihrem Portal veröffentlicht und gehostet wurde, wird er beim Einblenden des Knotens Eigene gehostete Services im Fenster Katalog angezeigt.
Auf der Registerkarte Eigene Inhalte der Portal-Website wird der gehostete Kachel-Layer als zwei unabhängige Elemente aufgeführt: als Kacheln und als Service-Definition. Bei einer Service-Definition handelt es sich um eine ZIP-Datei, welche die Karte, deren Daten sowie Details zur Art der Veröffentlichung der Kacheln enthält. Eine Service-Definition kann auf jeden Computer mit ArcGIS Server übertragen und dort veröffentlicht werden.
Erstellen und Freigeben eines Kachelpakets in ArcMap und Veröffentlichen des Kachelpakets
Mit ArcMap können Sie Kacheln für ein Kartendokument erstellen und diese in einer Kachelpaketdatei (.tpk) speichern, die auf einfache Weise übertragen werden kann. Sie können ein Kachelpaket in ArcMap erstellen, in Ihrem Portal freigeben und es als gehosteten Kachel-Layer veröffentlichen.
Es gibt zwei Möglichkeiten, Kachelpakete aus ArcMap zu erstellen und freizugeben.
- Um eine kleine Datenmenge (weniger als 1 GB) zu packen und freizugeben, erstellen Sie das Kachelpaket direkt über die Karte, und geben Sie es frei. Wenn Sie das Paket auf der Portal-Website veröffentlichen, werden Elemente des Kartendokuments wie die Legende oder Textelemente beibehalten.
- Wenn Sie über mehr als 1 GB Daten verfügen, verwenden Sie die Geoverarbeitungswerkzeuge, um die Kacheln zu packen und freizugeben. Bei dieser Methode werden die Daten nur dann beibehalten, wenn Kacheln aus dem Kachelpaket veröffentlicht werden, wodurch die Performance der Kachelerstellung verbessert wird.
Tipp:
Sie müssen einen Feature-Layer mit dem gehosteten Kachel-Layer veröffentlichen, wenn Sie Pop-ups konfigurieren möchten.
Veröffentlichen kleiner Kachelpakete
Wenn das Kachelpaket, das Sie in ArcMap erstellen, kleiner ist als 1 GB, verwenden Sie zum Veröffentlichen den folgenden Workflow:
- Öffnen Sie Ihre Karte in ArcMap.
- Melden Sie sich bei Ihrem Portal mit einem Konto an, dem Berechtigungen zum Erstellen von Inhalten und zum Veröffentlichen gehosteter Kachel-Layer zugewiesen sind.
- Klicken Sie auf Anpassen > ArcMap-Optionen > Freigeben, und stellen Sie sicher, dass ArcGIS Runtime-Werkzeuge aktivieren aktiviert ist.
Dadurch wird die Menüoption aktiviert, die Sie im nächsten Schritt verwenden.
- Klicken Sie in ArcMap auf Datei > Freigeben als > Kachelpaket.
- Konfigurieren Sie alle Einstellungen in den folgenden Teilschritten. Sie können optional auch andere Einstellungen vornehmen.
- Wählen Sie auf der Registerkarte Kachelpaket die Option Paket in mein ArcGIS Portal-Konto hochladen aus.
- Wählen Sie auf der Registerkarte Kachelformat ArcGIS Online / Bing Maps / Google Maps als Kachelschema aus.
- Geben Sie auf der Registerkarte Elementbeschreibung die als erforderlich gekennzeichneten Elemente an.
- Auf der Registerkarte Freigeben können Sie das Paket für die Öffentlichkeit oder für bestimmte Gruppen freigeben.
- Klicken Sie auf Freigeben.
Möglicherweise werden Sie aufgefordert, die Karte zu speichern, bevor das Kachelpaket von ArcMap erstellt wird.
Die Erstellung eines Kachelpakets kann insbesondere dann einige Zeit in Anspruch nehmen, wenn Sie große Maßstäbe einbezogen haben.
- Nachdem das Kachelpaket erstellt wurde, melden Sie sich bei Ihrem Portal mit demselben Konto an, das Sie zum Erstellen des Kachelpakets in ArcMap verwendet haben, und klicken auf Inhalt > Eigene Inhalte.
- Klicken Sie auf das Kachelpaket, um dessen Elementdetailseite anzuzeigen.
- Klicken Sie auf Veröffentlichen.
- Geben Sie einen Titel und Tags ein, und klicken Sie auf Veröffentlichen.
Die Kacheln werden entpackt und ein gehosteter Kachel-Layer wird in Ihrem Portal erstellt. Der Layer sollte unter Eigene Inhalte angezeigt werden.
Veröffentlichen großer Kachelpakete
Um große Datenmengen zu erstellen und freizugeben, empfiehlt Esri, das Toolset Kachel-Cache anstelle des vorherigen Workflows zu verwenden. Diese Werkzeuge können mehrere Prozessorkerne nutzen, um die Performance der Erstellung und Veröffentlichung von Kacheln zu verbessern.
Führen Sie diese Werkzeuge in der folgenden Reihenfolge aus:
- Führen Sie Kachelschema für Kachel-Cache erstellen aus, um das Kachelungs-Raster und das Bildformat zu definieren.
- Führen Sie Kachel-Cache verwalten aus, um die Kacheln zu erstellen.
- Führen Sie Kachel-Cache exportieren aus, um das Kachelpaket zu erstellen.
- Führen Sie Paket freigeben (im Toolset Paket) aus, um die Kacheln in Ihr Portal hochzuladen.
- Nachdem das Kachelpaket erstellt wurde, melden Sie sich bei Ihrem Portal mit demselben Konto an, das Sie zum Erstellen des Kachelpakets in ArcMap verwendet haben, und klicken auf Inhalt > Eigene Inhalte.
- Klicken Sie auf das Kachelpaket, um dessen Elementdetailseite anzuzeigen.
- Klicken Sie auf Veröffentlichen.
- Geben Sie einen Titel und Tags ein.
- Wenn Ihr Portal-Administrator Inhaltskategorien konfiguriert hat, klicken Sie auf Kategorie zuweisen, und wählen Sie bis zu 20 Kategorien aus, damit andere Ihr Element finden können. Sie können auch das Feld Kategorien filtern verwenden, um die Liste der Kategorien einzugrenzen.
Kategorien sind ab ArcGIS Enterprise 10.6.1 verfügbar.
- Klicken Sie auf Veröffentlichen.
Die Kacheln werden entpackt und ein gehosteter Kachel-Layer wird in Ihrem Portal erstellt. Der Layer sollte unter Eigene Inhalte angezeigt werden.
Veröffentlichen aus einer Service-Definitionsdatei
Die Veröffentlichung von Kacheln und die Erstellung eines Cache kann viele Serverressourcen in Anspruch nehmen. Wenn Sie eine große Anzahl von Kachel-Layern veröffentlichen müssen, können Ihre Kartenautoren Service-Definitionsdateien (.sd) in ArcMap erstellen, die alle Informationen enthalten, die zum Veröffentlichen eines Kachel-Layers im Portal erforderlich sind. Anschließend können Sie ein Skript verwenden, um die Service-Definitionsdateien nach Geschäftsschluss in Ihr Portal hochzuladen und zu veröffentlichen. Die resultierenden Kachel-Layer werden auf dem Hosting-Server des Portals gehostet.
Erstellen einer Service-Definitionsdatei
Der Kartenautor sollte diese Schritte ausführen, um eine Service-Definitionsdatei mit den Daten und der Symbolisierung zu erstellen, die für einen vom Portal gehosteten Kachel-Layer erforderlich sind.
- Starten Sie ArcMap, und melden Sie sich beim Portal an.
- Erstellen und speichern Sie eine Karte.
Weitere Informationen zum Erstellen und Veröffentlichen einer Karte finden Sie in den Themen zu Kartenservices in der Hilfe zu ArcGIS Server.
- Klicken Sie auf Datei > Freigeben als > Service.
- Wählen Sie Service-Definitionsdatei speichern aus, und klicken Sie auf Weiter.
- Klicken Sie auf Verbindung auswählen, und wählen Sie den Eintrag Eigene gehostete Services aus der Dropdown-Liste aus.
- Geben Sie einen Namen für die Datei ein, und klicken Sie auf Weiter.
- Geben Sie an, in welchem Verzeichnis auf dem Client-Computer die Service-Definitionsdatei erstellt werden soll, und klicken Sie auf Weiter.
Der Service-Editor wird geöffnet.
- Klicken Sie im linken Service-Editor Bereich auf Caching.
- Wählen Sie ein Kachelschema aus.
- Wählen Sie die minimalen und maximalen Maßstäbe für die Kacheln und die Option Cache-Größe berechnen aus.
- Klicken Sie auf Cache manuell erstellen, nachdem der Service veröffentlicht wurde.
- Sie können auch auf Erweiterte Einstellungen klicken und zusätzliche Cache-Einstellungen für den Kachel-Cache festlegen.
- Klicken Sie im linken Service-Editor-Bereich auf Elementbeschreibung, und stellen Sie Informationen für den Kachel-Layer bereit.
Sie müssen mindestens eine Zusammenfassung und Tags eingeben, bevor Sie die Service-Definitionsdatei erstellen.
- Klicken Sie auf Analysieren , um sicherzustellen, dass keine Fehler vorliegen.
Sie müssen alle Fehler beheben, bevor Sie die Service-Definitionsdatei bereitstellen können. Sie können auch Korrekturen an zurückgegebenen Warnungen und Meldungen vornehmen.
- Sobald Sie die Fehler und optional auch etwaige Warnungen und Meldungen behoben haben, klicken Sie auf Bereitstellen .
Die Service-Definitionsdatei wird am angegebenen Speicherort gespeichert.
Laden und Veröffentlichen der Service-Definition
Nachdem Sie die Service-Definitionsdatei vom Autor erhalten haben, können Sie sie manuell in Ihr Portal hochladen und einen Kachel-Layer veröffentlichen oder ein Skript zum Hochladen und Veröffentlichen der Datei planen.
Manuelles Hochladen und Veröffentlichen
Melden Sie sich bei der Portal-Website an, um die Service-Definitionsdatei zu Ihrem Portal hinzuzufügen und dort zu veröffentlichen.
- Melden Sie sich als Mitglied mit Berechtigungen zum Erstellen von Inhalten und Veröffentlichen von gehosteten Kachel-Layern bei Ihrem Portal an, und klicken Sie auf Inhalt > Eigene Inhalte.
- Klicken Sie auf Element hinzufügen.
- Wählen Sie aus, dass die Datei vom Computer geladen werden soll.
- Klicken Sie auf die Schaltfläche "Durchsuchen", und wählen Sie die Service-Definitionsdatei aus.
- Aktivieren Sie Diese Datei als Feature-Service veröffentlichen.
- Wenn Ihr Portal-Administrator Inhaltskategorien konfiguriert hat, klicken Sie auf Kategorie zuweisen, und wählen Sie bis zu 20 Kategorien aus, damit andere Ihr Element finden können. Sie können auch das Feld Kategorien filtern verwenden, um die Liste der Kategorien einzugrenzen.
Kategorien sind ab ArcGIS Enterprise 10.6.1 verfügbar.
- Geben Sie durch Kommas getrennte Tag-Begriffe ein.
Tags sind Wörter oder kurze Wortgruppen, die das Element beschreiben und dazu beitragen, dass es besser gefunden wird. Länder Code wird als ein Tag, Länder, Code hingegen als zwei Tags betrachtet.
- Klicken Sie auf Element hinzufügen, um die Service-Definitionsdatei hinzuzufügen und den Kachel-Layer zu veröffentlichen.
Der Kachel-Layer wird auf dem Hosting-Server Ihres Portals veröffentlicht. Sowohl die Service-Definition als auch die Kacheln werden zu Eigene Inhalte hinzugefügt.
- Wenn die Veröffentlichung des Kachel-Layers abgeschlossen ist, können Sie die Kachelerstellung starten. Klicken Sie auf diesen Link, um die Kacheln zu erstellen.
Standardmäßig haben nur Sie selbst Zugriff auf die Service-Definitionsdatei und den gehosteten Kachel-Layer. Sie können die Datei und die Kacheln für andere Benutzer in Ihrer Organisation oder für bestimmte Gruppen freigeben.
Ausführen eines Skripts zum Hochladen und Veröffentlichen
Wenn Sie nach Geschäftsschluss eine Service-Definitionsdatei hochladen und veröffentlichen möchten, automatisieren Sie das folgende Skript, das auf Ihrem GIS Server-Computer ausgeführt werden soll:
- Kopieren Sie das folgende Skript in eine Textdatei, und speichern Sie die Datei mit der Erweiterung .py.
import os, sys, json, urllib, urllib2, httplib, urlparse, mimetools, mimetypes from cStringIO import StringIO # generates a new token from Portal def generate_token(baseurl, username, password): tokenUrl = urlparse.urljoin(baseurl, 'sharing/generateToken') postdata = { 'username': username, 'password': password, 'client': 'requestip', 'expiration': 60, 'f': 'json' } encoded_postdata = urllib.urlencode(postdata) opener = urllib2.build_opener() try: resp = opener.open(tokenUrl, data=encoded_postdata) except urllib2.HTTPError as e: raise Exception('Unable to connect to Portal, please check the url: {} {}'.format(e.code, e.reason)) resp_json = json.loads(resp.read()) if 'error' in resp_json: raise Exception('\n'.join(resp_json['error']['details'])) return resp_json['token'] sys.exit(1) # create proper multi-part POST request data def _encode_multipart_formdata(fields, files): boundary = mimetools.choose_boundary() buf = StringIO() for (key, value) in fields.iteritems(): buf.write('--%s\r\n' % boundary) buf.write('Content-Disposition: form-data; name="%s"' % key) buf.write('\r\n\r\n%s\r\n' % str(value)) for (key, filepath, filename) in files: buf.write('--%s\r\n' % boundary) buf.write('Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename)) buf.write('Content-Type: %s\r\n' % (mimetypes.guess_type(filename)[0] or 'application/octet-stream')) f = open(filepath, "rb") try: buf.write('\r\n' + f.read() + '\r\n') finally: f.close() buf.write('--' + boundary + '--\r\n\r\n') buf = buf.getvalue() return boundary, buf # send multi-part POST request def _postmultipart(host, selector, fields, files, ssl): boundary, body = _encode_multipart_formdata(fields, files) headers = { 'Content-Type': 'multipart/form-data; boundary={0}'.format(boundary) } if ssl: h = httplib.HTTPSConnection(host) else: h = httplib.HTTPConnection(host) h.request('POST', selector, body, headers) resp = h.getresponse() return resp.read() # first upload the SD file and create an item in Portal def addSDItem(baseurl, user, token, title, file, folder = ''): addUrl = 'sharing/rest/content/users/{}/{}addItem' if folder != '': addUrl = addUrl.format(user, folder + '/') else: addUrl = addUrl.format(user, '') url = urlparse.urljoin(baseurl, addUrl) files = [('file', file, os.path.split(file)[1])] fields = { 'token' : token, 'f' : 'json', 'type' : 'Service Definition', 'title' : title, 'tags' : 'sampletag', 'name': title, 'typeKeywords' : 'Data, Service Definition, ArcGIS, sd' } ssl = url.startswith('https://') parsed_url = urlparse.urlparse(url) print('Uploading {} to {}..'.format(file, baseurl)) resp = _postmultipart(parsed_url.netloc, str(parsed_url.path), fields, files, ssl) resp_json = json.loads(resp) if 'error' in resp_json: raise Exception('Unable to upload file {}: {}'.format(file, resp_json['error']['message'])) return resp_json['id'] # second publish the uploaded SD item as a new tiled service def publishTiles(baseurl, user, token, itemid): publishUrl = urlparse.urljoin(baseurl, 'sharing/rest/content/users/{}/publish'.format(user)) query_dict= { 'f' : 'json', 'token': token, 'itemid': itemid, 'buildInitialCache' : True, 'publishParameters' : { 'name' : 'cities' }, 'fileType': 'serviceDefinition' } query_string = urllib.urlencode(query_dict) print('Publishing tile service from item..') response = urllib.urlopen(publishUrl, query_string) resp_json = json.loads(response.read()) if 'error' in resp_json: raise Exception('Unable to publish item: {}'.format(resp_json['error']['message'])) # read input from command line when run as a standalone script if __name__ == '__main__': try: url = sys.argv[1] user = sys.argv[2] password = sys.argv[3] f = sys.argv[4] title = sys.argv[5] if not url.endswith('/'): url += '/' # make sure the url ends with / except: # if too few parameters are passed on command line, show usage help print('Usage: ') print(' publishServiceItem.py [portalUrl] [userName] [password] [sdFilePath] [titleOfServiceItem]') print('') print('portalUrl The secure url to the portal, e.g. https://portalmachine.example.com/arcgis/') print('userName The username of a user to publish the service.') print(' This user must have the required publishing privileges.') print('password The password of the user') print('sdFilePath Path to the .sd file containing the service definition') print(' E.g. c:\\temp\cachedService.sd') print('titleOfServiceItem The title to assign to the published item in the portal.') sys.exit(1) token = generate_token(url, user, password) id = addSDItem(url, user, token, title, f) publishTiles(url, user, token, id) print('Publishing complete. Tile generation has been started and may take a while to finish.')
- Erstellen Sie eine Batch-Datei oder ein Shell-Skript, die/das für die Ausführung des Python-Skripts festgelegt werden soll.
- Rufen Sie das Python-Skript in der Datei auf, und stellen Sie Optionen bereit, die für Ihre Site spezifisch sind.
Um beispielsweise das Skript publishServiceItem.py auszuführen, geben Sie die URL zu Ihrem Portal, den Benutzernamen, mit dem die Verbindung hergestellt werden soll, das Kennwort des Benutzers, den Pfad zu der Service-Definitionsdatei und einen Titel für den Service an, der erstellt werden soll. In diesem Beispiel lautet die Portal-URL https://portal.domain.com/arcgis/, der Benutzername und das Kennwort lauten pub1 und pub.1, der Pfad zu der Service-Definitionsdatei ist C:\maps\SDs\mymap.sd und der Service-Name lautet "studytiles".
publishServiceItem.py https://portal.domain.com/arcgis/ pub1 pub.1 C:\maps\SDs\mymap.sd studytiles
Tipp:
Alternativ können Sie das folgende vereinfachte Skript verwenden, um eine Service-Definitionsdatei in Ihr Portal hochzuladen, einen Kachel-Layer zu veröffentlichen und einen Cache zu erstellen. Sie müssen jedoch zusätzliche Python-Pakete wie PortalPy und Python Requests installieren, um dieses Skript auszuführen. PortalPy wird mit Portal for ArcGIS installiert. Weitere Informationen zum Installieren und Verwenden dieses Moduls finden Sie in der Portal for ArcGIS-Hilfe unter Skripterstellung für Verwaltungsaufgaben mit PortalPy.
import portalpy, requests, urlparse, sys, os # first upload the SD file and create an item in Portal def addSDItem(baseurl, user, token, title, file, folder = ''): addUrl = 'sharing/rest/content/users/{}/{}addItem' if folder != '': addUrl = addUrl.format(user, folder + '/') else: addUrl = addUrl.format(user, '') url = urlparse.urljoin(baseurl, addUrl) files = { 'file' : (os.path.split(file)[1], open(file, 'rb')) } fields = { 'token' : token, 'f' : 'json', 'type' : 'Service Definition', 'title' : title, 'tags' : 'sampletag', 'name': title, 'typeKeywords' : 'Data, Service Definition, ArcGIS, sd' } print('Uploading {} to {}..'.format(file, baseurl)) # send POST with upload request # verify=False turns off SSL cert validation, turn on for production environments with CA-signed certs resp = requests.post(url, data=fields, files=files, verify=False) resp_json = resp.json() if 'error' in resp_json: raise Exception('Unable to upload file {}: {}'.format(file, resp_json['error']['message'])) return resp_json['id'] # second publish the uploaded SD item as a new tiled service def publishTiles(baseurl, user, token, itemid): publishUrl = urlparse.urljoin(baseurl, 'sharing/rest/content/users/{}/publish'.format(user)) query_dict= { 'f' : 'json', 'token': token, 'itemid': itemid, 'buildInitialCache' : True, 'publishParameters' : "{ 'name' : 'cities' }", 'fileType': 'serviceDefinition' } print('Publishing tile service from item..') # send POST with publish request # verify=False turns off SSL cert validation, turn on for production environments with CA-signed certs response = requests.post(publishUrl, data=query_dict, verify=False) resp_json = response.json() if 'error' in resp_json: raise Exception('Unable to publish item: {}'.format(resp_json['error']['message'])) # read input from command line when run as a standalone script if __name__ == '__main__': try: url = sys.argv[1] user = sys.argv[2] password = sys.argv[3] f = sys.argv[4] title = sys.argv[5] if not url.endswith('/'): url += '/' # make sure the url ends with / except: # if too few parameters are passed on command line, show usage help print('Usage: ') print(' publishServiceItem.py [portalUrl] [userName] [password] [sdFilePath] [titleOfServiceItem]') print('') print('portalUrl The secure url to the portal, e.g. https://portalmachine.example.com/arcgis/') print('userName The username of a user to publish the service.') print(' This user must have the required publishing privileges.') print('password The password of the user') print('sdFilePath Path to the .sd file containing the service definition') print(' E.g. c:\\temp\cachedService.sd') print('titleOfServiceItem The title to assign to the published item in the portal.') sys.exit(1) portal = portalpy.Portal(url, user, password) token = portal.generate_token(user, password) id = addSDItem(url, user, token, title, f) publishTiles(url, user, token, id) print('Publishing complete. Tile generation has been started and may take a while to finish.')
- Legen Sie fest, dass das Skript bei niedriger Portal-Auslastung ausgeführt wird.
Weitere Informationen zum Planen eines Skripts finden Sie in der Hilfe zur ArcGIS-Geoverarbeitung unter Planen der Ausführung eines Python-Skriptes zu bestimmten Zeiten.