Workflow: Verwenden von ArcGIS Spatial Data Server for the Java Platform zum Bereitstellen von Datenbankdaten

Komplexität: Einsteiger Datenanforderung: Eigene Daten verwenden

Sie können ArcGIS Spatial Data Server for the Java Platform einrichten und Daten aus der vorhandenen Datenbank veröffentlichen, indem Sie das in diesem Thema vorgestellte Beispiel nachvollziehen.

In diesem Beispiel wird eine Anwendung zum Erfassen demografischer Informationen zu Hochschul-Alumni für eine bestimmte Hochschule erstellt. Die Hochschule kann mit den erafssten Informationen Werbung bei potenziellen Studenten machen oder diesen bei der Planung ihres Bildungsweges helfen: Welche Fakultäten und Hauptfächer bieten die höchste Rentabilität (Kosten der Ausbildung im Vergleich mit dem voraussichtlichen Gehalt nach dem Abschluss)?

Eine Region-Feature-Class im PostGIS-Geometriespeicherformat in einer PostgreSQL-Datenbank wird als editierbarer Feature-Service auf dem Spatial Data Server veröffentlicht. Die Region-Feature-Class zeigt Postleitzahlzonen an, um grob darzustellen, wo die Alumni aktuell leben.

Bereitstellen eines Spatial Data Server

Sie müssen ArcGIS Spatial Data Server for Java, den JDBC-Provider, einen Datenbankmanagementsystem-Client (DBMS) und einen Java-Anwendungsserver installieren.

Danach konfigurieren Sie die Datenquelle.

Installieren von ArcGIS Spatial Data Server for Java

Befolgen Sie die Anweisungen im Installationshandbuch im Lieferumfang der Software, um ArcGIS Spatial Data Server for Java zu installieren. Dieses Handbuch enthält Informationen zu den Systemanforderungen sowie zur Autorisierung und Installation der Software.

HinweisHinweis:

Sie müssen ArcGIS Spatial Data Server auf einem öffentlichen Server (außerhalb Ihrer Firewall) installieren, damit die Bearbeitung durch Ihre veröffentlichten Services auf ArcGIS.com möglich ist.

Installieren von JDBC-Providern und Einrichten eines Java-Anwendungsservers

Laden Sie den unterstützten JDBC-Treiber für Ihr DBMS und einen Anwendungs- oder Webserver herunter, und installieren Sie diese.

In diesem Workflow werden die JDBC-Datei von PostgreSQL und Tomcat installiert.

Schritte:
  1. Laden Sie den PostgreSQL-JDBC-Treiber von http://jdbc.postgresql.org/download.html herunter, und speichern Sie ihn auf dem Server, auf dem ArcGIS Spatial Data Server und Tomcat installiert sind.
  2. Laden Sie Tomcat von der Apache Software Foundation-Website herunter.
  3. Installieren Sie Tomcat auf dem Server.
  4. Kopieren Sie den PostgreSQL-JDBC-Treiber in das Tomcat-Verzeichnis "lib".

Konfigurieren der Datenquelle

Sie müssen die Datenquelle mit dem Web- oder Anwendungsserver konfigurieren.

Bearbeiten Sie bei diesem Workflow die Tomcat-Datei "context.xml", um die Datenquelle zu konfigurieren.

Schritte:
  1. Öffnen Sie die Datei "context.xml" im Verzeichnis "conf", in dem Tomcat installiert ist.
  2. Bearbeiten Sie den Abschnitt <Ressource name> der Datei, indem Sie die Informationen Ihres PostgreSQL-Datenbank-Clusters angeben.

    In diesem Beispiel lautet der Datenquellenname "postgres", der Datenbank-Cluster kommuniziert über den Standardport 5432 und die Datenbank ist "gisdata". Die Verbindung wird mit der Login-Rolle "alumapp" hergestellt.

    <Resource name="jdbc/postgres" auth="Container"
                  type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
                  url="jdbc:postgresql://127.0.0.1:5432/gisdata"
                  username="alumapp" password="ruL00king" maxActive="20" maxIdle="10" 
                  maxWait="-1"/>

  3. Speichern Sie die Datei "context.xml".

Vorbereiten der Konten

Da die als Feature-Service veröffentlichten Daten bearbeitet werden, müssen Sie dem Benutzer, der eine Verbindung mit den Daten herstellt und diese veröffentlicht, Berechtigungen erteilen. Außerdem veröffentlichen Sie auf ArcGIS Online, deshalb müssen Sie ein ArcGIS Online-Konto erstellen.

Erteilen von Berechtigungen für den verbindenden Benutzer

In den nächsten Schritten geben Sie einen Benutzer zum Herstellen einer Verbindung bei der Registrierung der Datenquelle ein. Diesem Benutzer müssen Berechtigungen für die Datasets, die Sie auf dem Spatial Data Server veröffentlichen möchten, zugewiesen sein. Sollen Benutzer beispielsweise nur zu Auswahlzwecken auf die Daten in Ihrem Feature-Service zugreifen können, benötigt der für die Datenquelle angegebene Benutzer nur SELECT-Berechtigungen für die Datasets im Feature-Service.

In diesem Workflow-Beispiel lässt der Feature-Service Berechtigungen zum Auswählen, Hinzufügen und Aktualisieren zu. Dem Benutzer, der eine Verbindung mit der Datenquelle herstellt, müssen SELECT, INSERT- und UPDATE-Berechtigungen für die Feature-Class "Customers" erteilt werden. Da die Feature-Class das PostGIS-Geometriespeicherformat verwendet, müssen dem Benutzer zusätzlich Berechtigungen für die Tabellen "public.geometry_columns" und "public.spatial_ref_sys" zugewiesen werden.

Wie hier dargestellt, werden eine Login-Rolle der Datenbank und ein Schema, alumapp, erstellt. Der Login-Rolle werden die Berechtigungen SELECT, INSERT und UPDATE für die Regions-Feature-Class in der Datenbank sowie die Berechtigungen SELECT, INSERT, UPDATE und DELETE für die Tabelle "geometry_columns" und SELECT für die Tabelle "spatial_ref_sys" erteilt. Stellen Sie sicher, dass Sie mit der richtigen Datenbank verbunden sind, wenn Sie das Schema erstellen und die Berechtigungen erteilen.

CREATE ROLE alumapp LOGIN 
  ENCRYPTED PASSWORD 'ruL00king', 
  NOSUPERUSER CREATEDB INHERIT NOCREATEROLE;
  
CREATE SCHEMA alumapp AUTHORIZATION alumapp;

GRANT ALL ON SCHEMA alumapp TO alumapp;
GRANT USAGE ON SCHEMA alumapp TO authusers;

GRANT SELECT, INSERT, UPDATE, DELETE  
  ON TABLE public.geometry_columns 
  TO alumapp;

GRANT SELECT
  ON TABLE public.spatial_ref_sys
  TO alumapp;

GRANT SELECT, INSERT, UPDATE
  ON market1.regions
  TO alumapp;

Einrichten eines ArcGIS Online-Kontos

In diesem Beispiel wird der Service auf ArcGIS Online veröffentlicht, wo eine Anwendung erstellt wird.

Sie melden sich mit Ihrem Esri Global Account bei ArcGIS Online an. Sie können ein vorhandenes Esri Global Account auf ArcGIS Online registrieren oder ein Esri Global Account erstellen und es danach vom selben Ort aus registrieren. Rufen Sie http://www.arcgis.com/home/ auf, und klicken Sie auf Anmelden.

Wenn Sie Ihr Esri Global Account bereits auf ArcGIS Online registriert haben, müssen Sie sich jetzt nicht anmelden. Dieser Schritt folgt an späterer Stelle im Workflow, wenn der Service veröffentlicht wird.

Erstellen einer Administratorverbindung mit dem Spatial Data Server

Sie können Daten über eine bestimmte Verbindung auf dem Spatial Data Server veröffentlichen. Mit der Administratorverbindung können Sie den Server verwalten und Services veröffentlichen.

Da Sie möglicherweise auch den Spatial Data Server verwalten möchten, erstellen Sie über ArcGIS for Desktop eine Verbindung mit dem Spatial Data Server.

Schritte:
  1. Starten Sie ArcMap, und öffnen Sie das Fenster Katalog.
  2. Erweitern Sie im Kataloginhaltsverzeichnis den Knoten GIS-Server.
  3. Doppelklicken Sie auf ArcGIS-Server hinzufügen.
  4. Wählen Sie GIS-Server verwalten aus, und klicken Sie auf Weiter.
  5. Geben Sie in das Textfeld Server-URL die Verwaltungs-URL des Spatial Data Server ein.

    In diesem Beispiel lautet die URL http://pub5:8080/arcgis/admin.

  6. Wählen Sie aus der Dropdown-Liste Servertyp den Eintrag Spatial Data Server aus.
  7. Wenn Sie diese Verbindung verwenden, um Service-Definitionen zu erstellen und zu speichern, können Sie auswählen, wo die Service-Definitionsdateien auf dem Datenträger bereitgestellt werden. Standardmäßig werden sie in einem Ordner auf dem lokalen Computer bereitgestellt.
  8. Klicken Sie auf Fertig stellen, um die Verbindung zu erstellen.

    Die neue Verbindung wird unter dem Knoten GIS-Server aufgeführt.

Veröffentlichen eines Feature-Service

Sie stellen als Benutzer, für den Sie die Datenquelle konfiguriert haben, von ArcGIS for Desktop eine Verbindung mit der Datenbank her. Danach erstellen Sie eine Karte mit den Daten, die der Service enthalten soll, ordnen eine Datenquelle zu und veröffentlichen sie.

Herstellen einer Verbindung mit der Datenbank von ArcGIS for Desktop

Sie stellen eine Verbindung mit der Datenbank her, damit Sie auf die darin befindlichen Daten zugreifen können. Um eine Verbindung mit einer Datenbank herzustellen, müssen Sie den Datenbank-Client auf dem Computer installieren, auf dem ArcGIS installiert ist.

Bei diesem Workflow müssen Sie die PostgreSQL-Clientdateien im Ordner "bin" speichern, in dem ArcGIS for Desktop installiert ist.

Schritte:
  1. Laden Sie die 32-Bit-Clientbibliotheksdateien von PostgreSQL für Windows vom Esri Customer Care Portal herunter.
  2. Speichern Sie die Dateien im Ordner "bin" von ArcGIS for Desktop.

Nachdem sich die PostgreSQL Client Libraries im Ordner "bin" von ArcGIS for Desktop befinden, können Sie eine Verbindung von ArcMap mit der Datenbank herstellen.

Stellen Sie von ArcMap eine Verbindung mit der Datenbank her, damit Sie die Tabelle "Regions" Ihrer Karte hinzufügen können.

Schritte:
  1. Erweitern Sie im Kataloginhaltsverzeichnis den Knoten Datenbankverbindung.
  2. Doppelklicken Sie auf Datenbankverbindung hinzufügen.
  3. Geben Sie im Textfeld Instanz den Namen des PostgreSQL-Servers ein.
  4. Geben Sie im Textfeld Datenbank den Namen der Datenbank, gisdata, ein.
  5. Wählen Sie aus der Dropdown-Liste Typ den Eintrag Datenbankauthentifizierung aus.
  6. Geben Sie alumapp im Textfeld Benutzername ein.
  7. Geben Sie das Kennwort für das Login "alumapp" im Feld Kennwort ein.
  8. Lassen Sie die Option Benutzername und Kennwort speichern aktiviert, und klicken Sie auf OK.

Erstellen einer Karte

Fügen Sie ArcMap die Regions-Tabelle hinzu, indem Sie sie von der Datenbankverbindung zum Kartenfenster ziehen.

Wenn ArcMap keinen Raumbezug oder keine geeignete ObjectID-Spalte (eine Spalte mit ganzer Zahl ungleich NULL) erkennen kann, werden Sie dazu aufgefordert, diese Informationen anzugeben.

HinweisHinweis:

Sie können keine Daten ohne Raumbezug veröffentlichen.

Versehen Sie die Features mit einfachen Symbolen, die im Service angezeigt werden sollen, nachdem die Tabelle im ArcMap-Inhaltsverzeichnis angezeigt wird. Informationen zum Ändern der Symbologie finden Sie in der ArcGIS-Hilfe.

Nehmen Sie danach ggf. erforderliche Konfigurationsänderungen für die Eigenschaften, die Sie im Service bereitstellen möchten, im Kartendokument vor. Beispielsweise möchten Sie wahrscheinlich angeben, welche Felder durch den Service sichtbar gemacht werden sollen, sowie Aliasnamen für die sichtbaren Felder und Schreibschutz für einige Felder festlegen. In diesem Beispiel empfiehlt es sich außerdem, ein HTML-Popup-Menü für die Benutzer einzurichten, damit diese die benötigten Informationen zum Verarbeiten ihrer Anfrage angeben können. Eine Liste der möglichen Eigenschaften finden Sie unter Kurzer Überblick über die Erstellung von Feature-Services für ArcGIS Spatial Data Server.

Zoomen Sie auf die Anfangsausdehnung, mit der der Service geöffnet werden soll. Achten Sie darauf, dass in der Anfangsausdehnung nicht mehr als die bei der Veröffentlichung des Service angegebene, maximale Anzahl von Features zurückgegeben wird. Standardmäßig sind dies 1.000 Features. Speichern Sie die Karte.

Zuordnen der Datenquelle und Veröffentlichen eines editierbaren Feature-Service

Geben Sie nun, nachdem die Karte fertig ist, die Daten durch Veröffentlichung als Feature-Service frei.

Während der Veröffentlichung ordnen Sie die Datenquelle bei der Veröffentlichung zu.

TippTipp:

Alternativ können Sie die Datenquelle über die REST-Adminansicht zuordnen. Weitere Informationen dazu finden Sie unter Datenquellenzuordnung über die REST-Adminansicht für ArcGIS Spatial Data Server for Java.

Schritte:
  1. Wählen Sie im ArcMap-Dokument im Hauptmenü Datei > Freigeben als > Service aus.
  2. In the Share As Service window, there are three options.
    • To immediately publish your data, choose Publish a service and click Next.
    • To save a service definition file to be published later, choose Save a service definition file and click Next.
    • To replace an existing service, choose Overwrite an existing service and click Next. To replace a service, the original service must be stopped first.
  3. Wählen Sie den Admin-Spatial Data Server aus der Verbindungs-Dropdownliste aus.
  4. Geben Sie alumni_data in das Textfeld Service-Name ein, und klicken Sie auf Fortfahren.
  5. Klicken Sie im Service-Editor auf Feature-Zugriff.
  6. Lassen Sie alle vier Operationen aktiviert. Der verbindende Benutzer kann Daten durch den Feature-Service abfragen, erstellen, aktualisieren und löschen.
  7. Klicken Sie auf Freigabe.

    Das Dialogfeld ArcGIS Online-Anmeldung wird geöffnet.

  8. Geben Sie den Benutzernamen und das Kennwort für das Esri Global Account ein, und klicken Sie auf OK, um sich anzumelden und das Zeichen im Dialogfeld zu schließen.
  9. Aktivieren Sie im Fenster ArcGIS Online des Service-Editor das entsprechende Kästchen für die Benutzer, die auf den Inhalt zugreifen sollen.
    • Wenn nur Sie aktuell auf den Service zugreifen müssen, aktivieren Sie Eigene Inhalte.
    • Wenn Sie möchten, dass alle Benutzer mit Zugriff auf ArcGIS Online den Service anzeigen können, aktivieren Sie das Kontrollkästchen Jeder (öffentlich).
    • Es werden alle Gruppen aufgeführt, denen Sie als Mitglied angehören. Wenn Sie allen diesen Gruppen Zugriff auf den Service erteilen möchten, aktivieren Sie Mitglieder dieser Gruppen und danach alle gewünschten Gruppen.

    Sie können mehr als eine Option aktivieren. Beispielsweise können Sie den Service Ihrem eigenen Inhalt zuordnen und Zugriff für bestimmte ArcGIS Online-Gruppen erteilen.

  10. Klicken Sie auf Analysieren.

    Wenn Sie die Datenquelle noch nicht zugeordnet haben, erhalten Sie eine Fehlermeldung, dass die Datenquelle des Layers nicht zugeordnet wurde. Erst nachdem dieser Fehler und alle anderen Fehler behoben wurden, ist die Veröffentlichung erfolgreich.

  11. Klicken Sie mit der rechten Maustaste auf Fehler, um sie zu beheben.

    Das Kontextmenü enthält Links zu Werkzeugen, mit denen Sie das Problem beheben können.

  12. Um den Datenquellenfehler zu beheben, befolgen Sie die Anweisungen im Hilfelink des Fehlers.
  13. Korrigieren Sie ggf. andere Fehler, die zurückgegeben werden, bevor Sie fortfahren.
  14. Wenn Sie sehen möchten, wie die Feature-Class im Service dargestellt wird, klicken Sie auf Vorschau.
  15. Klicken Sie auf Veröffentlichen.
  16. Klicken Sie nach der Veröffentlichung auf OK, um das Dialogfeld zu schließen.

Anzeigen der Services

Sie können Informationen zum Service über das ArcGIS Spatial Data Services-Verzeichnis anzeigen. Da Sie den Service auf ArcGIS Online veröffentlicht haben, können Sie den Service von dort auf einer Karte anzeigen.

Aufrufen des Service über das ArcGIS Spatial Data Services-Verzeichnis

Im ArcGIS Spatial Data Services-Verzeichnis werden alle Services aufgeführt, die auf einem bestimmten Spatial Data Server veröffentlicht wurden. Von hier aus können Sie die Service-Definition als JSON-Datei exportieren, SQL-Abfragen schreiben, um eine Feature-Class auszuwählen oder Features in eine Feature-Class einzufügen, oder den Service in ArcGIS.com öffnen.

Die URL für das ArcGIS Spatial Data Services-Verzeichnis lautet http://<Servername>/<Name des Spatial Data Server>/rest/services. In diesem Beispiel lautet die URL somit http://pub5:8080/arcgis/rest/services. Beide Services werden aufgeführt.

Verwenden von ArcGIS Online

Nachdem Sie nun die Feature-Classes auf dem Spatial Data Server veröffentlicht haben, können Sie sie über ArcGIS Online anzeigen.

Schritte:
  1. Öffnen Sie einen Webbrowser, und rufen Sie die ArcGIS Online-Website unter http://www.arcgis.com/home/index.html auf.
  2. Klicken Sie auf Anmelden.
  3. Geben Sie den Benutzernamen und das Kennwort für das Esri Global Account ein, und klicken Sie auf Anmelden.
  4. Klicken Sie auf Eigene Inhalte.
  5. Fügen Sie den Service "alumni_data" hinzu.
    1. Klicken Sie auf Element hinzufügen.
    2. Wählen Sie in der Dropdown-Liste Das Element ist den Eintrag ArcGIS Server Web-Service aus.
    3. Geben Sie die URL zum Service ein.

      In diesem Beispiel lautet die URL http://pub5/arcgis/rest/services/alumni_data.svc.

    4. Geben Sie im Textfeld Titel einen Titel für den Service ein.
    5. Geben Sie im Textfeld Tags Tags zum Identifizieren des Service ein.
    6. Klicken Sie auf Element hinzufügen.

Webanwendung erstellen

Erstellen Sie zuerst auf ArcGIS.com eine Karte mit dem Service und einer weltweiten Grundkarte. Erstellen Sie dann mit einer Anwendungsvorlage von ArcGIS.com eine Webanwendung.

Erstellen einer Karte auf ArcGIS.com

Fügen Sie den Service "alumni_data" einer Grundkarte auf ArcGIS.com hinzu, und speichern Sie die Karte zur Verwendung in Ihrer Anwendung.

Schritte:
  1. Klicken Sie im Abschnitt Eigene Inhalte von ArcGIS.com auf Karte erstellen.
  2. Klicken Sie auf Grundkarte, und wählen Sie eine der Grundkarten aus.
  3. Klicken Sie auf Hinzufügen > Layer hinzufügen.
  4. Wählen Sie in der Dropdown-Liste In den Eintrag Eigene Inhalte aus.
  5. Wählen Sie den Service "alumni_data" aus, und klicken Sie auf Hinzufügen von Layern abgeschlossen.
  6. Passen Sie ggf. die Ausdehnung der Karte an.
  7. Speichern Sie die Karte.
    1. Geben Sie einen Titel, Tags und eine Zusammenfassung für die Karte ein.
    2. Wählen Sie den Ordner aus, in dem die Karte gespeichert werden soll.
    3. Klicken Sie auf Karte speichern.
  8. Geben Sie die Karte entweder öffentlich oder für bestimmte Gruppen frei.
  9. Notieren Sie sich die ID der Karte. Sie benötigen sie bei der Erstellung einer Webanwendung.

Erstellen einer Webanwendung aus einer Vorlage

Da in der Anwendung die Bearbeitung zulässig sein muss, verwenden Sie die Vorlage zur Bearbeitung einer Webanwendung.

Schritte:
  1. Laden Sie die Vorlage zur Bearbeitung einer Webanwendung herunter.
  2. Speichern Sie die heruntergeladene ZIP-Datei im Ordner inetpub\wwwroot auf dem IIS-Server.
  3. Extrahieren Sie die Dateien.
  4. Befolgen Sie die Anweisungen in der Datei "readme.html", um die Anwendung einzurichten.
9/12/2013