Benutzer-Werkzeuge

Webseiten-Werkzeuge


tombejo_gis_client

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tombejo_gis_client [2017/10/27 10:46]
f.rauch_girona.de [Anforderungen an Shape Files]
— (aktuell)
Zeile 1: Zeile 1:
-====== GIS Client für Tombejo: ====== 
- 
-Neben einer handelsüblichen Tombejo-Installation braucht der funktionierende GIS Client folgendes: 
- 
-===== Benötigt wird: ===== 
- 
-Einen Geoserver (z.b. 2.6.2), am besten Standalone 
- 
-Tombejo und Geoserver ([[http://​geoserver.org/​|http://​geoserver.org/​]]) ​ für unix und windows. 
- 
-Eine Datenbasis, bevorzugt POSTGRES, bevorzugt 9.4.0.1. mit POSTGIS plugin. Es gibt eine Zip Datei die die Installationsfiles für Windows enthält, und zwar unter ocw2.de:/​home/​frauch/​to_install.zip 
- 
-Selbstverständlich kann man beides auch bei uns hosten lassen: 
- 
-Geoserver: [[http://​52.50.27.115/​geoserver|http://​52.50.27.115/​geoserver]] 
- 
-PostGIS: [[http://​52.50.27.115/​phpPgAdmin-5.1/​|http://​52.50.27.115/​phpPgAdmin-5.1/​]] 
- 
-===== Installation:​ ===== 
- 
-Beim einrichten des Geoservers muss darauf geachtet werden, dass das JDK Version 7 oder größer ist 
- 
-Beim einrichten von POSTGRES wird im Installationsprozess das POSTGIS Plugin optional hinzugefügt. Hier muss darauf geachtet werden, dass die Bitrate mit der von Postgres übereinstimmt (normalerweise sollten es 64 bit sein). 
- 
-===== Einrichtung der Datenbank: ===== 
- 
-<font 10px:​normal/​Verdana;;#​000000;;​inherit>​Postgres Admin wird mit Pgadmin3 gestartet. Zuerst muss eine Datenbank angelegt werden, bei der unter extensions POSTGIS ausgewählt wird. Klappt das nicht hat das vermutlich was mit 32/64 bit zu tun.    Werden die Daten aus Shapefiles im importiert, so müssen jetzt alle shapefiles mit dem Plugin "​Postgis Shapefiles and DBF Loader"​ geladen werden. Wichtig ist (momentan noch), dass die Option "​Preserve case of column names" gesetzt wird, sonst kommt der gisclient damit nicht  zurecht, da diese vom Geoserver incl. case übernommen werden.</​font>​ 
- 
-Einfacher und moderner ist allerdings der Weg über das script shapefile2postgis. ​ Das Skript überträgt shapefiles in eine postgis Datenbank auf dem Server `postgresql.cqubs0xna6kf.eu-west-1.rds.amazonaws.com`. 
- 
-Dieses wird exemplarisch in der Konsole folgendermaßen aufgerufen: 
- 
-<​code>​ 
-php shapefile2postgis.php <​datenbankname>​ <​pfad/​zum/​ordner/​in/​dem/​die/​shapefiles/​liegen>​ <​projektion> ​ ! 
-</​code>​ 
- 
-also z.B. 
- 
-<​file>​ 
-php shapefile2postgis.php ahaus_neu /​home/​user/​ahaus EPGS:31466 ! 
-</​file>​ 
- 
-Das Ausrufezeichen am Ende sorgt dafür, dass die Statements direkt ausgeführt werden, lässt man dieses Weg, werden die Statements lediglich in die Ausgabe geschrieben. 
- 
-Die Datenbank muss vorher angelegt sein. Wichtig ist auch, dass die Datenbank PostGIS fähig ist: 
- 
-<​file>​ 
- ​CREATE EXTENSION postgis; 
-</​file>​ 
- 
-===== Aufbereiten der Layer in der Datenbank ===== 
- 
-Die Hintergrundlayer bedürfen keiner gesonderten Aufbereitung. Das Layer, dass die Gräber enthält, muss in '​graeber'​ umbenannt werden. ​ Es muss gewährleistet sein, dass folgende Felder in der Tabelle enthalten sind (hier ein insert script): 
- 
-<​file>​ 
-alter table graeber 
-    ADD COLUMN ​    abtl character varying(10);​ 
-alter table graeber 
-    ADD COLUMN ​    reihe character varying(10);​ 
-alter table graeber 
-    ADD COLUMN ​    ​stelle character varying(10);​ 
-alter table graeber 
-    ADD COLUMN ​    gname character varying(40);​ 
-alter table graeber 
-    ADD COLUMN ​    ​grabart character varying(10);​ 
-alter table graeber 
-    ADD COLUMN ​    ​nutzende character varying(10);​ 
-alter table graeber 
-    ADD COLUMN ​    ​kindex numeric(10,​0);​ 
-alter table graeber 
-    ADD COLUMN ​    ​gmzustand character varying(80);​ 
-alter table graeber 
-    ADD COLUMN ​    ​pfzustand character varying(80);​ 
-alter table graeber 
-    ADD COLUMN ​    ​stellebis character varying(10);​ 
-</​file>​ 
- 
-Am einfachsten ist es, wenn man einfach alle anderen Felder außer geom und id löscht, und dann das script ausführt. Manchmal will man aber auch Werte behalten, dann bietet es sich an, die Felder umzubenennen. Zum Beispiel: 
- 
-<​file>​ 
-alter table graeber rename column geo_id TO kindex; 
-alter table graeber rename column abteilung TO abtl; 
-</​file>​ 
- 
-Zu guter Letzt muss noch ein unique index für den kindex gesetzt werden: 
- 
-<code sql> 
- ALTER TABLE graeber ADD CONSTRAINT unique_kindex UNIQUE (kindex); 
-</​code>​ 
- 
-===== Einrichtung des Geoservers ===== 
- 
-Alle Angaben sind als Beispiel zu verstehen 
- 
-=== Datenbankzugriff === 
- 
-Erstelle Workspace:​\\ 
-\\ 
-Name: Ahaus_neu\\ 
-Namensraum URI: Ahaus_neu\\ 
-\\ 
-Neue Datenquelle:​\\ 
-\\ 
-Name der Datenquelle:​ Ahaus_neu\\ 
-Beschreibung:​ Ahaus neu\\ 
-\\ 
-Database: ahaus_neu 
- 
-host: postgresql.cqubs0xna6kf.eu-west-1.rds.amazonaws.com (oder localhost, je nachdem ob der zentrale oder ein eigener Datenbankserver verwendet wird)\\ 
-user: postgres(ql)\\ 
-passwd: postgres(ql) 
- 
-=== Layers === 
- 
-\\ 
-Nun alle Layer, also graeber und alle anderen, publizieren,​ einmal //Compute from native bounds // \\ 
-anklicken, damit die Koordinaten in der Projektion EPSG:4326 berechnet werden. Die Namen der Layer sollten mit Kleinbuchstaben beginnen. \\ 
-\\ 
-Gruppenlayer hinzufügen:​ Ahaus_neu_gesamt 
- 
-Im Gruppenlayer werden alle nicht-Gräber Layer zusammengefasst,​ der Name MUSS der name des Workspaces + "​_gesamt"​ sein. 
- 
-Darauf achten, welche Stile verwendet werden für welches Layer, ruhig auch später damit noch herumexperimentieren bis man etwas gutes gefunden hat. 
- 
-===== Apache Proxy einrichten ===== 
- 
-Damit es nicht zu Cross-Domain-Konflikten kommt, muss der Apache direkt auf den Geoserver weiterleiten. Dafür muss in die apache2.conf folgendes eingetragen werden: 
- 
-# AJP13 Proxy \\ 
-<​IfModule mod_proxy.c>​ \\ 
-<​IfModule mod_proxy_ajp.c>​ \\ 
-Include „conf/​extra/​httpd-ajp.conf“ \\ 
-</​IfModule>​ \\ 
-</​IfModule>​ \\ 
-\\ 
-ProxyPass /geoserver [[http://​localhost:​8080/​geoserver|http://​localhost:​8080/​geoserver]] \\ 
-ProxyPassReverse /geoserver [[http://​localhost:​8080/​geoserver|http://​localhost:​8080/​geoserver]] 
- 
-Außerdem ​ müssen folgende Zeilen auskommentiert werden: 
- 
-<​sub>​LoadModule proxy_module modules/​mod_proxy.so\\ 
-</​sub>​ 
- 
-<​sub>​LoadModule proxy_connect_module modules/​mod_proxy_connect.so\\ 
-</​sub>​ 
- 
-<​sub>​LoadModule proxy_http_module modules/​mod_proxy_http.so</​sub>​ 
- 
-===== Aufbereitung der Daten ===== 
- 
-Sollte es zu Problemen oder Inkonsistenzen kommen, kann man foglende SQL Statements ausprobieren:​ 
- 
-<code sql>​UPDATE graeber SET kindex = NULL WHERE kindex = 0 
-</​code>​ 
- 
-\\ 
-So lange das hier ausführen, bis es nichts mehr gibt (Löscht doppelte Kindex Gräber): 
- 
-<code sql>​DELETE FROM graeber WHERE gid IN ( 
-SELECT 
-MAX(graeber.gid) 
-FROM 
-public.graeber 
-WHERE graeber.kindex IS NOT NULL 
-GROUP BY  graeber.kindex HAVING COUNT(*)>​1 
-) 
-</​code>​ 
- 
-===== Linux ===== 
- 
-Um einen lokalen Geoserver mit sh bin/​startup.sh ​ oder sudo -b sh /​usr/​share/​geoserver-2.8.3/​bin/​startup.sh zu starten muss vorher das eingegeben werden 
- 
-<code sql> 
-sudo bash -c "echo JAVA_HOME=*java-pfad*>>​ /​etc/​environment"​ 
- sudo bash -c "echo GEOSERVER_HOME=/​*geoserver-pfad*>>​ /​etc/​environment"​ 
-</​code>​ 
- 
-===== Postgis, weiteres ===== 
- 
-Möchte man das graeber layer nicht importieren sondern ganz neu anlegen, muss man analog zu diesem Beispiel verfahren. Hier wird das '​items'​ layer angelegt, das für das hinterlegen von Brunnen oder anderen Friedhofsgegenständen vonnöten ist. 
- 
-SELECT AddGeometryColumn ('​public','​my_spatial_table','​geom',​4326,'​POINT',​2);​ 
- 
-[[http://​postgis.net/​docs/​AddGeometryColumn.html|http://​postgis.net/​docs/​AddGeometryColumn.html]] 
- 
-und gleich der ganze table: 
- 
-<​code>​ 
-CREATE TABLE items ( 
-    id integer NOT NULL, 
-    geom geometry(Point,​4326),​ 
-    clazz character varying(10) 
-); 
-</​code>​ 
- 
-''​ALTER TABLE items OWNER TO postgresql; ALTER TABLE ONLY items     ADD CONSTRAINT items_pkey PRIMARY KEY (id);''​ 
- 
-===== Tombejo ===== 
- 
-Damit GIS in Tombejo läuft:\\ 
-\\ 
-1. Geoserver muss in settings eingetragen sein: //<​Tombejo-Pfad>/​includes/​settings/​settings.inc.php // (gis_geoserver=http://​52.50.27.115/​geoserver)\\ 
-2. GIS muss in Einwerten eingestellt sein (gisws)\\ 
-2. Geoserver Authentifizierungsdaten muss in Einwerten eingetragen sein (standard: admin/​passwd)\\ 
-3. GIS Workspace muss in jeweiligem Friedhof eingestellt sein (Programmdaten/​Friedhof) 
- 
-===== Projektionen ===== 
- 
-Die Shapefiles kommen in verschiedenen Projektionen,​ die in der Datenbank alle auf EPSG:4326 projiziert werden. 
- 
-Sinnvolles Tool um Projektionenzu finden: [[http://​projfinder.com/​|http://​projfinder.com/​]] 
- 
-Ahaus_neu : EPSG:​32632\\ 
-Brakel : EPSG:31467 
- 
-Darmstadt, Buckow: EPSG:4326 
- 
-===== Anforderungen an Shape Files ===== 
- 
-Wir brauchen: ​ Mehrere Layer, alle Layer im Shapefile format. Insbesondere ein Layer, dass alles Grabstellen enthält, idealerweise als Polygone. Die Zusammenstellung anderer Layer dient alleine der grafischen Darstellung und hat sonst keine Auswirkung auf die Benutzung des Programms. Üblich sind hier Layer für Wege, Rasenflächen,​ Bepflanzungen und Gebäude, das kann aber durchaus varriieren. ​ Idealerweise wird als Koordinatenreferenzsystem EPSG:4326 verwendet, es sind aber auch andere Koordinatenreferenzsysteme möglich, diese werden dann von uns in EPSG:4326 konvertiert. 
  
tombejo_gis_client.1509093989.txt.gz · Zuletzt geändert: 2017/10/27 10:46 von f.rauch_girona.de