Mehr als ein Ergebnis bei einer Abfrage mit st_makepoint

Probleme, Fragen die mit der Installation und Anwendung der PostGIS-Erweiterung zu tun haben.
Antworten
kampfkeks18
Neuer Benutzer
Beiträge: 1
Registriert: Mi 29. Mär 2017, 01:23

Mehr als ein Ergebnis bei einer Abfrage mit st_makepoint

Beitrag von kampfkeks18 » Mi 29. Mär 2017, 01:30

Hallo,
ich benutze eine Datenbank auf Basis einer Shapefile.
Wenn ich dieses Query ausführe, bekomme ich mehr als ein Ergebnis, wobei nur das zweite Ergebnis das richtige ist. Die beiden anderen sind direkt benachbarte Gebiete, dabei sollte natürlich nur das Ergebnis kommen, welches auch wirklich in dem Bereich liegt.
Grundlage für meine Funktionen ist https://github.com/garaud/pyris

Beispiel:

Code: Alles auswählen

SELECT
iris ,nom_com ,depcom ,nom_iris ,dcomiris ,typ_iris 
FROM geoiris 
WHERE geom && st_makepoint(4.808744, 45.980649);

iris |     nom_com     | depcom |    nom_iris     | dcomiris  | typ_iris 
------+-----------------+--------+-----------------+-----------+----------
 0000 | ARS-SUR-FORMANS | 01021  | ARS-SUR-FORMANS | 010210000 | Z
 0000 | MISERIEUX       | 01250  | MISERIEUX       | 012500000 | Z
 0000 | SAINTE-EUPHEMIE | 01353  | SAINTE-EUPHEMIE | 013530000 | Z
(3 rows)
Es gibt natürlich mehr als diese zwei Nachbarn, deshalb meine Frage: Warum wird mir nicht nur das Ergebnis gezeigt in dem die Koordinate liegt?

Grüße

Gisman
Erfahrener Benutzer
Beiträge: 1086
Registriert: Fr 20. Jan 2006, 15:30
Wohnort: Pfalz
Kontaktdaten:

Re: Mehr als ein Ergebnis bei einer Abfrage mit st_makepoint

Beitrag von Gisman » Mo 3. Apr 2017, 16:21

Wenn ich die Doku richtig deute, verschneidest du mit dem Operator nur die Boundingboxen der Geometrien und nicht die Geometrien selbst. die könnensich überschneiden, ohne das sich Geometrien überschneiden. Deshalb kann dein Punkt in mehreren Boundingboxen liegen. Versuche mal st_intersects oder st_within

Gruß Uwe

Antworten