sql запрос

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Аватара пользователя
ROMANIVI4
Интересующийся
Сообщения: 41
Зарегистрирован: 10 мар 2009, 18:22
Репутация: 0

sql запрос

Сообщение ROMANIVI4 » 10 май 2012, 14:44

Помогите пожалуйста составить запрос. Есть два шейпа: полигоны и линии. Полигоны имеет атрибуты: ID, N. Линии имеет атрибуты: ID, N. Нужно выбрать места, где линии которые перекриваютсья с полигонами имеют разный параметр N, а не один и тот же.
Вложения
11.JPG
11.JPG (16.34 КБ) 5020 просмотров

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: sql запрос

Сообщение Александр Мурый » 10 май 2012, 15:54

Чтобы сделать запрос к атрибутам шейп-файла, надо, чтобы нужные объекты находились в одном слое, так?

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

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

Аватара пользователя
ROMANIVI4
Интересующийся
Сообщения: 41
Зарегистрирован: 10 мар 2009, 18:22
Репутация: 0

Re: sql запрос

Сообщение ROMANIVI4 » 10 май 2012, 16:47

amuriy большое спасибо за помощь и объяснение! Работает, даже без перегонки линии в полигоны.

Аватара пользователя
ROMANIVI4
Интересующийся
Сообщения: 41
Зарегистрирован: 10 мар 2009, 18:22
Репутация: 0

Re: sql запрос

Сообщение ROMANIVI4 » 11 май 2012, 08:20

а еще скажите пожалуйста, каким образом в QGIS можно выполнять запрос, который оперирует несколькими слоями, а не одним?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: sql запрос

Сообщение Александр Мурый » 11 май 2012, 08:26

Насколько я понимаю, для этого надо использовать пространственные базы данных -- SpatiaLite или PostGIS.
Редактор материалов, модератор форума

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей