Lernprogramm: KML-Service veröffentlichen

Komplexität: Fortgeschritten Erforderliche Daten: Eigene Daten verwenden

Sie können KML dynamisch über das Internet bereitstellen, indem Sie einen ArcGIS Server-Karten-Service mit aktivierter KML-Funktion veröffentlichen. Dieser Vorgang ermöglicht es dem Client, eine Verbindung mit dem Karten-Service herzustellen und KML-Daten für einen bestimmten geographischen Bereich anzufordern. Die KML kann entweder mithilfe der REST-Operationen "Karte generieren", "KML generieren" und "Abfrage", über den Link Anzeigen in: Google Earth im ArcGIS Services-Verzeichnis oder über ein KML-Netzwerk-Link-Dokument bereit gestellt werden, das eine ordnungsgemäß konfigurierte URL zum Service einbettet.

Dieses Lernprogramm führt Sie durch den Prozess der Erstellung eines KML-Service mit extrudierten 3D-Features. Sie erstellen zunächst mithilfe von ArcGlobe eine Layer-Datei mit einigen 3D-Extrusionseigenschaften. Anschließend fügen Sie den Layer in ArcMap hinzu, um die Layer-Symbologie festzulegen und beschreibenden Text zu konfigurieren, der mit den Features in den KML-Daten verknüpft ist. Danach veröffentlichen Sie die Karte als Service und aktivieren dabei die KML-Funktion. Schließlich erstellen Sie auf dem Server einen KML-Netzwerk-Link, damit andere Benutzer mühelos auf die KML-Daten zugreifen können.

Vorbereiten der Daten in ArcGlobe und ArcMap

Zum Veröffentlichen von Feature-Classes mit 3D-Attributen, z. B. Z-Versätze, oder für die Extrusion basierend auf Attributen müssen Sie zuerst die Eigenschaften des Feature-Class-Layers in ArcGlobe bearbeiten und als Layer-Datei speichern und dann die Layer-Datei einem ArcMap-Dokument hinzufügen. In den unten stehenden Schritten wird dargestellt, wie Sie die Extrusion in ArcGlobe anwenden und eine entsprechende Layer-Datei speichern, die Sie später in ArcMap verwenden können.

Schritte:
  1. Starten Sie ArcGlobe und fügen Sie eine Feature-Class hinzu.
  2. Klicken Sie im Inhaltsverzeichnis mit der rechten Maustaste auf den Layer, und wählen Sie Eigenschaften.
  3. Klicken Sie auf die Registerkarte Globus-Extrusion.
  4. Aktivieren Sie die Kontrollkästchen Features im Layer extrudieren und Keine Unterseiten extrudierter Polygone zeichnen. Wählen Sie für die Anwendung der Extrusion die Option wird zur Basishöhe jedes Features hinzugefügt.
    Registerkarte "Globus-Extrusion" in ArcGlobe
  5. Legen Sie einen Extrusionswert oder -ausdruck fest. Hierdurch wird festgelegt, wie stark die Funktionen in der Karte "hervortreten". Sie können den Ausdruck-Generator öffnen (durch Klicken auf die Taschenrechner-Schaltfläche), wenn Sie Hilfe bei der Erstellung des Ausdrucks benötigen. In diesem Fall werden die Polygon-Features extrudiert, indem der Wert des POP04_SQMI-Attributs mit 250 multipliziert wird (ein beliebiger nur für die Darstellung gewählter Wert) und dieser Wert der Basishöhe des Features hinzugefügt wird. Sie müssen möglicherweise ein wenig mit dem Ausdruck experimentieren, um die gewünschte Darstellung zu erhalten.
    Extrudierte Features in ArcGlobe
  6. Nachdem Sie die Extrusion für den Layer festgelegt haben und dieser dreidimensional erscheint, klicken Sie mit der rechten Maustaste auf den Layer, und wählen Sie Als Layer-Datei speichern. Speichern Sie die Datei auf der Festplatte an einem Speicherort, für den das ArcGIS Server-SOC-Konto Leseberechtigungen hat.
  7. Nachdem nun die 3D-Eigenschaften für die Daten bestimmt wurden, sollten im nächsten Schritt die 2D-Layer-Eigenschaften festgelegt werden. Öffnen Sie ArcMap, und klicken Sie auf Daten hinzufügen.
  8. Wechseln Sie zu der soeben aus ArcGlobe gespeicherten Layer-Datei (.lyr), und klicken Sie auf Hinzufügen. Der Layer wird in ArcMap nicht in 3D angezeigt, aber er wird in 3D angezeigt, wenn Sie die Karte in Google Earth oder ArcGIS Explorer anzeigen.
  9. Legen Sie die Layer-Eigenschaften fest, indem Sie mit der rechten Maustaste auf den Layer klicken und Eigenschaften im Kontextmenü auswählen.
  10. Klicken Sie auf die Registerkarte Allgemein, bearbeiten Sie die Maßstabsabhängigkeit des Layers, und geben Sie dann eine Beschreibung ein. Diese wird als KML-Layer-Beschreibung verwendet, die in KML-Clients angezeigt wird, und kann eine beliebige gültige HTML enthalten.
    Klicken Sie im ArcMap-Dialogfeld "Layer-Eigenschaften" auf die Registerkarte "Allgemein".
  11. Klicken Sie auf die Registerkarte Anzeige, und ändern Sie bei Bedarf die Transparenz des Layers. Bei einer leichten Transparenz kann der Benutzer auch die darunter liegende Karte sehen.
    Registerkarte "Anzeige" im ArcMap-Dialogfeld "Layer-Eigenschaften"
  12. Klicken Sie auf die Registerkarte Symbologie, und ändern Sie bei Bedarf die Rendering-Eigenschaften. Eine feine Verlaufsfüllung kann Ihnen helfen, benachbarte 3D-Features voneinander zu unterscheiden.
    Registerkarte "Symbologie" im ArcMap-Dialogfeld "Layer-Eigenschaften"
  13. Klicken Sie auf die Registerkarte Felder, und legen Sie die Felder fest, die über den Karten-Service zugänglich sein sollen. Sie können auch den KMLSnippet-Aliasnamen für jedes Feld in der Feature-Class verwenden. Die Werte des Feldes, das Sie ändern, um den KMLSnippet-Aliasnamen zu verwenden, werden unter dem jeweiligen Symbol der einzelnen Features im Inhaltsverzeichnis eines KML-Clients angezeigt. Die Werte des KMLSnippet-Aliasnamensfeldes können eine beliebige gültige HTML enthalten.
    Registerkarte "Felder" im ArcMap-Dialogfeld "Layer-Eigenschaften"
  14. Sie können auch etwaige Definitionsabfragen oder Verbindungen und Beziehungen festlegen, die auf die Daten angewendet werden sollen. Verwenden Sie hierfür die RegisterkartenDefinitionsabfrage bzw. Verbindungen & Beziehungen.
  15. Klicken Sie optional auf die Registerkarte Beschriftungen, und geben Sie die Beschriftung an, die Sie anwenden möchten. KML berücksichtigt Farbe, Größe und Beschriftungsausdrücke für Punkt-Features. KML unterstützt das Beschriften für Linien oder Polygone nicht.
  16. Klicken Sie auf die Registerkarte HTML-Popup, und aktivieren Sie das Kontrollkästchen Inhalt für diesen Layer mit HTML-Popup-Werkzeug anzeigen. Wählen Sie dann eine Formatierungsoption aus. Hierdurch wird die KML-Beschreibung für jedes Feature bestimmt, d. h. der Inhalt, der in der Informationssprechblase angezeigt wird, wenn Sie auf ein Feature klicken. Sie können die Beschreibung mithilfe von HTML, JavaScripts und Stylesheets originell gestalten, oder, wenn Sie nur experimentieren möchten, können Sie die Standardoption auswählen, um die HTML-Formatierung Als Tabelle mit sichtbaren Feldern anzuzeigen.
    Registerkarte "HTML-Popup" im ArcMap-Dialogfeld "Layer-Eigenschaften"
  17. Klicken Sie auf OK, um die Layer-Eigenschaften zu schließen, und speichern Sie dann das Kartendokument (.mxd), indem Sie auf Datei > Speichern klicken.

Veröffentlichen des KML-Service

Nachdem Sie das Kartendokument fertig gestellt haben, müssen Sie es als ArcGIS Server-Karten-Service veröffentlichen. Der Karten-Service kann KML generieren, sofern seine KML-Funktion aktiviert ist. Standardmäßig ist die KML-Funktion aktiviert.

Die nachfolgenden Schritte zeigen, wie der Service im ArcMap-Fenster Katalog veröffentlicht wird. Wenn Sie Manager verwenden möchten, um den Service zu erstellen, führen Sie die entsprechenden Schritte unter Veröffentlichen einer GIS-Ressource auf dem Server in Manager aus.

Schritte:
  1. Wenn Sie in ArcMap fortfahren möchten, klicken Sie auf Fenster > Katalog.
  2. Navigieren Sie im Kataloginhaltsverzeichnis zu dem Kartendokument (.mxd), das Sie veröffentlichen möchten. Beachten Sie, dass Sie auch Karten-Service-Definitionen (.msd-Dateien) als KML verfügbar machen können.
  3. Klicken Sie mit der rechten Maustaste auf das Kartendokument, und wählen SieMit ArcGIS Server veröffentlichen.
  4. Geben Sie dem Service einen Namen, und wählen Sie den Ordner aus, in dem Sie den Service veröffentlichen möchten. Klicken Sie dann auf Weiter.
  5. Auf der zweiten Seite des Assistenten Mit ArcGIS Server veröffentlichen stellen Sie fest, dass die KML-Funktion aktiviert ist. Lassen Sie diese Funktion aktiviert, und klicken Sie auf Weiter.
  6. Überprüfen Sie auf der dritten Assistentenseite die Zusammenfassung der Erstellung, und klicken Sie auf Veröffentlichen.
  7. Der Service wurde veröffentlicht, und Sie können ihn in der Vorschau anzeigen, indem Sie den Knoten GIS-Server des Kataloginhaltsverzeichnisses erweitern und den Service in das ArcMap-Inhaltsverzeichnis ziehen.

Konfigurieren der Eigenschaften für den KML-Service

Nachdem Sie den KML-Service veröffentlicht haben, möchten Sie möglicherweise seine Standardeigenschaften bearbeiten. Führen Sie dazu die folgenden Schritte aus:

Schritte:
  1. Klicken Sie im Kataloginhaltsverzeichnis mit der rechten Maustaste auf den Service, und klicken Sie dann auf Beenden.
  2. Klicken Sie mit der rechten Maustaste auf den Service, und wählen Sie Service-Eigenschaften.
  3. Klicken Sie auf die Registerkarte Funktionen und dann auf KML (achten Sie darauf, das Kontrollkästchen nicht zu deaktivieren).
  4. Bearbeiten Sie die Eigenschaften im unteren Bereich.
    • Wählen Sie aus, wie die KML vom KML-Service zurückgegebenen KML-Daten eingeschränkt werden sollen. Mithilfe der Optionen unter KML-Kompatibilitätsmodus können Sie auswählen, dass nur gezielte Teile der Funktion eingeschlossen werden sollen, falls der Service in erster Linie mit Google Maps oder Google Mobile verwendet wird. Hierdurch kann die Leistung verbessert werden.
    • Wählen Sie, wie die vom KML-Service zurückgegebenen Features, der DPI-Wert der Ausgabe und die Größe der Bildausgabe beschränkt werden.
    • Mithilfe der Optionen unter NetworkLinkControl-Tag verwenden könne Sie einschränken, wie oft ein Service von einem Client angefordert werden kann.
  5. Klicken Sie auf "OK", um das Dialogfeld Service-Eigenschaften zu schließen.
  6. Klicken Sie im Kataloginhaltsverzeichnis mit der rechten Maustaste auf den Service, und wählen Sie Neu starten.

Erkunden der im Services-Verzeichnis von ArcGIS Server bereitgestellten REST-KML-Operationen

Jeder ArcGIS Server stellt standardmäßig ein Services-Verzeichnis zur Verfügung, mit dessen Hilfe Sie Services über REST erkunden bzw. mit ihnen arbeiten können. Sie können mit dem Services-Verzeichnis die Interaktion mit dem KML-Service üben.

Schritte:
  1. Navigieren Sie über einen Webbrowser zum ArcGIS Services-Verzeichnis mit der URL "http://<Name des ArcGIS Servers>/<Name der ArcGIS Server-Instanz>/rest/services". Beispiel: http://MyServer/ArcGIS/rest/services.
  2. Beachten Sie den Link Footprints anzeigen in: Google Earth, der Footprints aller Services anzeigt, die eine geographische Ausdehnung haben.
  3. Klicken Sie in Services-Verzeichnis auf den Link zum neu veröffentlichten Service.
  4. Klicken Sie auf den Link Anzeigen in: Google Earth, um ein KMZ-Dokument zu öffnen, das ein Boden-Overlay Ihres Service anzeigt. Falls der Service gecacht ist, wird ein Super-Overlay mit aktivierten KML-Regions angezeigt. Beachten Sie, dass dieser Link keine Vektoren zurückgibt.
  5. Klicken Sie im Services-Verzeichnis auf einen beliebigen Layer im Service.
  6. Klicken Sie unten auf der Seite auf den Link Abfrage. Hierdurch wird ein Formular geöffnet, in dem Sie viele Parameter für die Abfrage eines Layers angeben können. Die letzte Option betrifft das Format, in dem Sie die Antwort erhalten möchten. Wenn Sie hier KML wählen, wird ein KMZ-Dokument zurückgegeben, das die Ergebnisse der Abfrage enthält.
  7. Navigieren Sie im Services-Verzeichnis zurück zur Seite Ihres Service.
  8. Klicken Sie unten auf der Seite auf KML generieren. Dieser Link zeigt ein Webformular an, in dem Sie auswählen können, welche Layers im KML-Inhalt zurückzugeben werden. Sie können auch auswählen, dass Vektoren dynamisch vom Service zurückgegeben werden, indem Sie die Option Vektor-Layer als Vektoren und Raster-Layer als Bilder aktivieren.

Veröffentlichen eines Netzwerk-Links

Sie können die KML-Daten in einem leicht verwendbaren Format auf dem Server verfügbar machen, indem Sie einen KML-Netzwerk-Link veröffentlichen. Zu diesem Zweck veröffentlichen Sie den Netzwerk-Link in Manager. Anschließend können Sie den Netzwerk-Link in ArcGIS Explorer oder Google Earth hinzufügen.

Schritte:
  1. Melden Sie sich bei ArcGIS Server Manager an.
  2. Klicken Sie auf die Registerkarte Services und dann auf KML-Netzwerk-Links.
  3. Klicken Sie auf Netzwerk-Link erstellen.
  4. Geben Sie einen Namen und optional eine kurze und eine lange Beschreibung für die KML ein. Klicken Sie dann auf Weiter.
  5. Wählen Sie in der Dropdown-Liste Karten-Service den Karten-Service aus, den Sie gerade veröffentlicht haben. Wählen Sie auch aus, welche Layer Sie durch den KML-Netzwerk-Link verfügbar machen möchten.
  6. Wählen Sie die Option aus, mit der Vektor-Layer als Vektoren und Raster-Layer als Bilder gezeichnet werden. Die extrudierten Features sind Vektoren, deshalb müssen Sie diese Option auswählen. Andernfalls wird ein flaches gerastertes Bild angezeigt. Klicken Sie auf Weiter.
  7. Auf der letzten Seite des Assistenten können Sie bei Bedarf die Parameter Aktualisieren, Ansicht und Hostname anpassen. Darüber hinaus können Sie auswählen, dass das Standard-KML-Snippet-Verhalten unterdrückt werden soll, gemäß dem jedem Feature im Inhaltsverzeichnis die ersten beiden Zeilen der Beschreibung hinzugefügt werden. In diesem Lernprogramm spricht nichts dagegen, die Standardeinstellungen zu übernehmen.
  8. Klicken Sie auf Fertig stellen, um den KML-Netzwerk-Link zu erstellen. Wenn Sie in Manager zur Seite KML-Netzwerk-Links zurückkehren, sehen Sie die URL zu Ihrem neuen Netzwerk-Link (z. B.: http://myServer/ArcGIS/kml/networklink1.kmz). Klicken Sie auf diese URL oder geben Sie sie ein, um den KML-Netzwerk-Link in Google Earth oder ArcGIS Explorer hinzuzufügen.

7/10/2012