[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PostGIS DB: wie einrichten?



Hallo zusammen

Habe mir wie folgt eine Datenbank angelegt:
su postgres
# psql starten
psql

-- User und Datenbank erstellen
CREATE USER testdb WITH PASSWORD 'passwort';
-- USER testdb anlegen mit Passwort
CREATE DATABASE testdb OWNER testdb ENCODING 'UTF8';
-- Datenbank testdb anlegen mit Besitzer testdb

-- psql verlassen mit \q
\q

# PostGIS-Erweiterungen aktivieren
createlang plpgsql testdb
cd /usr/share/postgresql-8.3-postgis
psql -f lwpostgis.sql -d testdb
psql -f spatial_ref_sys.sql -d testdb

Die Tabellen habe ich allerdings vor den PostGIS-Erweiterungen eingerichtet. 
Wusste nicht, dass man die speziell aktivieren muss. Scheinbar klappt die 
Aktivierung aber nicht. Die sql-Skripts liegen allerdings druch ohne 
Fehlermeldungen. Folgende Abfrage liefert:
SELECT daten.datenid, daten.zeitpunkt, daten.zeitpunkt-letzter.zeitpunkt AS 
letzterpunktvor, daten.punkt, distance(daten.punkt, letzter.punkt) FROM 
rohdaten daten LEFT JOIN rohdaten letzter ON daten.datenid-1=letzter.datenid 
WHERE daten.protokollid=21 ORDER BY daten.zeitpunkt;

jedoch:
FEHLER:  Funktion distance(point, point) existiert nicht
LINE 1: ...etzter.zeitpunkt AS letzterpunktvor, daten.punkt, distance(d...
                                                             ^
HINT:  Keine Funktion stimmt mit dem angegebenen Namen und den Argumenttypen 
überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen.

Die Tabelle wurde wie folgt definiert:
CREATE TABLE rohdaten (
  datenid SERIAL PRIMARY KEY NOT NULL,
  protokollid INTEGER NOT NULL REFERENCES protokoll,
  zeitpunkt TIMESTAMP NOT NULL,
  punkt POINT,
  qualitaetid SMALLINT NOT NULL REFERENCES qualitaet,
  numsat SMALLINT NOT NULL,
  hdop REAL NOT NULL,
  altitude REAL,
  seperation REAL
);

Wo finde ich die PostGIS Funktionen und wie installiere ich die?

Gruss
Thomas


Reply to: