PostGIS: поиск строк, перекрывающих окно - PullRequest
0 голосов
/ 03 августа 2010

Я хочу указать поле (то есть 2 точки) и выбрать все линии линий, которые находятся внутри или пересекают поле.

SELECT * FROM pub_trail_segment WHERE st_force_2d(pub_trail_segment.geometry) && ST_SetSRID(ST_MakeBox2D(ST_GeomFromEWKT('SRID=4326;POINT(48.25077560316286 -124.46710205078124)'), ST_GeomFromEWKT('SRID=4326;POINT(50.4743709029765 -120.73239135742186)')), 4326);

Однако он возвращает 0 строк. Я пытался увеличить размер поля и перевести столбец геометрии в 2D, но не вижу, что мне не хватает.

Тестовые данные следующие - (формат DBTestCase, но вы поняли):

<pub_trail_segment id="1" pub_trail_id="1" geometry="SRID=4326;LINESTRING(-123.258275 7 49.3607281 123.666748, -123.2583172 49.3607195 120.302124)"/>   
<pub_trail_segment id="2" pub_trail_id="3" geometry="SRID=4326;LINESTRING(-123.2582757 49.3607281 123.666748, -123.2583172 49.3607195 120.302124, -123.3583172 49.3607195 120.402124)"/>
<pub_trail_segment id="3" pub_trail_id="1" geometry="SRID=4326;LINESTRING(-123.3582757 49.4607281 123.666748, -123.3583172 49.4607195 120.302124)"/>
<pub_trail_segment id="4" pub_trail_id="4" geometry="SRID=4326;LINESTRING(-123.3582757 50.4607281 123.666748, -123.3583172 50.4607195 120.302124)"/>

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 03 августа 2010

Я разобрался. У меня были широта и долгота вокруг неправильного пути.

...