Страница 1 из 1

sql запрос

Добавлено: 10 май 2012, 14:44
ROMANIVI4
Помогите пожалуйста составить запрос. Есть два шейпа: полигоны и линии. Полигоны имеет атрибуты: ID, N. Линии имеет атрибуты: ID, N. Нужно выбрать места, где линии которые перекриваютсья с полигонами имеют разный параметр N, а не один и тот же.

Re: sql запрос

Добавлено: 10 май 2012, 15:54
Александр Мурый
Чтобы сделать запрос к атрибутам шейп-файла, надо, чтобы нужные объекты находились в одном слое, так?

1. Перегоняем линии в полигоны: "Вектор --> Обработка геометрии --> Преобразовать линии в полигоны"
2. Делаем пересечение исходных полигонов с полигонами из линий: "Вектор --> Геообработка --> Пересечение"

Открываем атрибут. таблицу полученного слоя пересечения, она должна выглядеть так:
attr.png
attr.png (5.34 КБ) 5014 просмотров
В окне таблицы атрибутов жмём кнопку "Расширенный поиск", вводим запрос:
select.png
select.png (14.04 КБ) 5014 просмотров
Найденная нужная строка выделится, можно увеличить до нужного полигона с "N не равным N_2" (здесь ярко-жёлтый), даже сохранить как отдельный шейп :)
select_poly.png
select_poly.png (11.52 КБ) 5014 просмотров

Re: sql запрос

Добавлено: 10 май 2012, 16:47
ROMANIVI4
amuriy большое спасибо за помощь и объяснение! Работает, даже без перегонки линии в полигоны.

Re: sql запрос

Добавлено: 11 май 2012, 08:20
ROMANIVI4
а еще скажите пожалуйста, каким образом в QGIS можно выполнять запрос, который оперирует несколькими слоями, а не одним?

Re: sql запрос

Добавлено: 11 май 2012, 08:26
Александр Мурый
Насколько я понимаю, для этого надо использовать пространственные базы данных -- SpatiaLite или PostGIS.