Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
winsent
Зарегистрирован: 13.03.2008 Сообщения: 3
|
Добавлено: Чт Мар 13, 2008 4:07 am Заголовок сообщения: SQL запрос (параллельные линии) |
|
|
Добрый день, возникла такая проблемма:
при объединении 2х таблиц возникли дубли линий, они не пересекаются, а находятся оч. рядом друг с другом.
Поэтому возникла необходимость выбрать линии которые находятся на определенном растоянии друг от друга.
По наивности пробывал с таким условием:
Код: |
distance ( CentroidX ( old.obj ) , CentroidY ( old.obj ) , CentroidX (new.obj ) , CentroidY ( new.obj ) , "m" ) < 00,1 |
непомогло.) И уже понял почему: Центроид и линия - понятия несовместимые. |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Чт Мар 13, 2008 10:46 am Заголовок сообщения: |
|
|
Строй буферную зону вокруг объекта нового слоя размером 0.01, проверяй на пересечение с объектом старого слоя. Запрос сам напишешь? |
|
Вернуться к началу |
|
|
winsent
Зарегистрирован: 13.03.2008 Сообщения: 3
|
Добавлено: Чт Мар 13, 2008 11:07 am Заголовок сообщения: |
|
|
Андрей Могильный писал(а): |
Строй буферную зону вокруг объекта нового слоя размером 0.01, проверяй на пересечение с объектом старого слоя. Запрос сам напишешь? |
Да, написал. Спасибо,Андрей.
Вот только подскажите еще такой момен, можно ли делать запрос на выборку из трех таблиц
Код: |
SELECT * FROM old, buff, new WHERE buff.Obj Intersects new.obj AND old.Dlina=new.Dlina_c |
Мне почему-то говорит, что неправильно задано условие объединения (WHERE) |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Чт Мар 13, 2008 9:40 pm Заголовок сообщения: |
|
|
Надо написать так:
SELECT * FROM buff, new WHERE buff.Obj Intersects new.obj AND new.Dlina_c IN (SELECT old.Dlina FROM old) _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
Василий Дорога
Зарегистрирован: 27.09.2018 Сообщения: 1
|
Добавлено: Чт Сен 27, 2018 11:43 am Заголовок сообщения: |
|
|
Добрый день, помогите новичку. Как написать sql запрос, чтобы построить буферную зону для участков. |
|
Вернуться к началу |
|
|
|