Howto:setup wfst with geoserver

From MapbenderWiki

Jump to: navigation, search

Diese Seite soll anhand eines Beispiels die Einrichtung eines WFS-T mit PostgreSQL/PostGIS, Geoserver und Mapbender demonstrieren

Importieren von Testdaten in PostGIS


  • Tabelle anlegen
CREATE TABLE test_points (gid serial PRIMARY KEY);
  • Gemetriespalte hinzufügen
SELECT AddGeometryColumn ('<NULL>', 'test_points', 'the_geom', 4326, 'POINT', 2);
  • Attribut hinzufügen
ALTER TABLE test_points ADD COLUMN test_attr varchar;

  • Einfügen von Testdaten, hier Punkte (hier werden noch nebenbei die Punkte von 31467 nach 4326 umgewandelt)
INSERT INTO test_points VALUES ( 1, transform(geomfromtext('POINT(3546000 5840000)',31467),4326));
INSERT INTO test_points VALUES ( 2, transform(geomfromtext('POINT(3577000 5797000)',31467),4326), 'attr1');
INSERT INTO test_points VALUES ( 3, transform(geomfromtext('POINT(3425000 5846000)',31467),4326), 'attr2');
  • Rechte vergeben
GRANT ALL ON TABLE geometry_columns to <user>;
GRANT ALL ON TABLE spatial_ref_sys to <user>;
GRANT ALL ON TABLE test_points to <user>;
GRANT ALL ON TABLE test_points_gid_seq to <user>;
  • falls mal was schiefgeht:
SELECT DropGeometryTable ( 'test_points' );

Anmerkung: Bei Linien darf man nicht den Datentyp Linestring verwenden, weil Mapbender damit nicht klarkommt. Man kann aber stattdessen Multilinestring nehmen.

Geoserver

Doings:

  • http://localhost:8080/geoserver/welcome.do aufrufen
  • Konfiguration-> sofern noch nicht eingeloggt, gelangt man automatisch zum LOGIN
  • Defaultwerte sind Benutzername: admin und Paßwort: geoserver; diese können unter Konfiguration->Server->Paßwort geändert werden
  • eventuell noch einmal Konfiguration (falls man nicht schon am Anfang eingeloggt ist)
  • Daten
  • DataStores
feature_dataset_id
  • Neu
    • Postgis
    • Feature Datensatz ID vergeben z.B. „datenbank1“. Über diesen Namen wird die Datenbank später auffindbar sein.
    • NEU
    • Felder ausfüllen
    • Ausführen, Übernehmen, Speichern
Feature-Dataset-Editor
  • Daten
    • FeatureTypes
    • Neu
feature_type_name
    • Erzeuge einen neuen FeatureType aus einem vorhandenen Datastore
    • datenbank1:::test_points (zuvor gewählter Datenbankname und der Name der angelegten Tabelle in Postgis)
    • Style auswählen:
    • SRS wählen, eventuell Suchen
    • Überschrift wählen
    • BoundingBox berechnen (Ergebnis wird in immer in lon/lat ausgegeben)
    • alles sonstige so lassen
    • Ausführen, Übernehmen, Speichern
  • mehr unter:

http://docs.codehaus.org/display/GEOSDOC/User+Tutorial+Shapefile

Mapbender


  • gui_digitize kopieren (und die neue gui zum Testen verwenden)
  • WFS laden
  • WFS konfigurieren
  • WFS aussuchen
  • Daten aussuchen
    • Hier wird der Name des Feature-Types angegeben: z.B:“namensraum1:Tabelle1“ (Namensraum wurde beim Anlegen des Datenstores im Geoserver gesetzt)
  • Beispiel:
    • Abstract: test_abstract
    • Label: test_label
    • Label_id: a
    • Button: OK
    • Button_id: b
    • Style
body{
font-family:Verdana,Arial,sans-serif;
font-size: 12px;
line-height:2;
}
.a{
font-weight:bold;
}
.b{
font-family:Verdana,Arial,sans-serif;
font-size: 12px;
width:40px;
}
.d{
color:#808080;
}
    • Buffer: 1
    • ResultStyle:
.even{
color:blue;
font-family:Verdana,Arial,sans-serif;
font-size: 11px;
}
.uneven{
color:red;
font-family:Verdana,Arial,sans-serif;
font-size: 11px;
}

WZ-Graphics: nicht angehakt

wfs_config_table

(Zunächst am besten nur Dienste benutzen, die im selben EPSG liegen. Das macht die Sache einfacher.)

  • Set WFS
  • nur die benötigten Layer einschalten, Save
  • Fertig!
  • Gui ausprobieren
Personal tools