Ich versuche alle Straßen zu finden, die in den Anwendungsbereich fallen.ST_Contains. Finden Sie alle Straßen, die innerhalb des Bereichs liegen
, dass meine Anfrage:
select osm_id,
name,
from planet_osm_roads
where ST_Contains(ST_GeomFromEWKT('SRID=900913;POLYGON((4355764.028 6715445.513, 4364401.418 6715674.192, 4364248.577 6708736.416, 4354808.572 6709155.795, 4355764.028 6715445.513))'), way)
LIMIT 100;
oder dass:
select osm_id,
name,
from planet_osm_roads
where ST_Contains(ST_GeomFromText('LINESTRING(4355764.028 6715445.513, 4364401.418 6715674.192, 4364248.577 6708736.416, 4354808.572 6709155.795, 4355764.028 6715445.513)', 900913), way)
LIMIT 100;
Ich mache alles auf der lokalen Datenbank, die erforderlichen Daten.
Polygon so:
Das Abfrageergebnis ist leer. Sag mir, was schief gelaufen ist. Vielen Dank.
Welche SRID sind Ihre Daten? Sie scheinen 900913 in Ihrer Abfrage zu verwenden – e4c5
ST_SRID (Weg) in Abfrage gibt 900913 – sergpc
Das erste Beispiel zum Erstellen eines Polygon ist korrekt. LineStrings enthalten nur Punkte, die genau auf der Linie liegen, da sie definitionsgemäß keinen Bereich haben. –