Hallo zusammen,
ich bin noch sehr unerfahren mit Datenbanken und arbeite mich erst seit kurzer Zeit ein und komme nun bei einem Problem nicht mehr weiter:
Für ein kleines GIS-Projekt habe ich nun einen quadratischen Buffer um vorhandene Punktkoordinaten erstellt (Statement N°1) und möchte weiter eine VIEW ertellen in welcher mir die Punkte der Arealstatistik Schweiz (ein “Punktgitter” wobei alle 100m in x- und y-Richtung ein Punkt liegt), welche innerhalb des entsprechenden Buffers sind, ausgespuckt werden (Statement N°2).
- Die VIEW wird ohne Fehlermeldung erstellt, jedoch sind, ausser den gewünschten Spaltennamen, keine Daten da.
Ich versuchte dann noch einfach eine Abfrage mit ST_CONTAINS zu erstellen (Statement N°3). Das Statement scheint korrekt zu sein und eigentlich das gleiche machen wie beim erstellen der VIEW (?), jedoch läuft die Abfrage nach 15min. immer noch.
Vielleicht spielt es auch noch eine Rolle, dass die Bufferquadrate sich teilweise überlappen?
Wenn mich da irgendwer aufklären kann, was ich falsch mache, bin ich sehr dankbar für eure Hilfe!
Liebe Grüsse,
Sevi
Statement N°1:
ALTER TABLE public.Koordinaten_fallen_2056
ADD COLUMN Buffer_100m geometry,
ADD COLUMN Buffer_200m geometry,
ADD COLUMN Fitting_rectangle_400m2 geometry,
ADD COLUMN Fitting_rectangle_1600m2 geometry;
UPDATE public.Koordinaten_fallen_2056
SET Buffer_100m = ST_BUFFER (geom,100);
UPDATE public.Koordinaten_fallen_2056
SET Buffer_200m = ST_BUFFER (geom,200);
UPDATE public.Koordinaten_fallen_2056
SET Fitting_rectangle_400m2 = ST_ENVELOPE (Buffer_100m);
UPDATE public.Koordinaten_fallen_2056
SET Fitting_rectangle_1600m2 = ST_ENVELOPE (Buffer_200m);
Statement N°2:
CREATE VIEW Fallenstandorte_mit_Arealstatistik AS
SELECT
public.Koordinaten_fallen_2056.survyear,
public.Koordinaten_fallen_2056.x,
public.Koordinaten_fallen_2056.y,
public.Koordinaten_fallen_2056.fitting_rectangle_400m2,
public.area_noas04_2056.as85r_72,
public.area_noas04_2056.as97r_72,
public.area_noas04_2056.as09_72
FROM
public.area_noas04_2056,
public.Koordinaten_fallen_2056
WHERE ST_CONTAINS (public.Koordinaten_fallen_2056.fitting_rectangle_400m2, public.area_noas04_2056.geom)
Statement N°3:SELECT ST_CONTAINS (public.Koordinaten_fallen_2056.fitting_rectangle_400m2, public.area_noas04_2056.geom) AS Arealstatistik,
public.Koordinaten_fallen_2056.fitting_rectangle_400m2,
public.area_noas04_2056.geom
FROM
public.area_noas04_2056,
public.Koordinaten_fallen_2056