Получить полигоны из нескольких таблиц

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
SergeyM
Интересующийся
Сообщения: 40
Зарегистрирован: 15 июн 2010, 10:34
Репутация: 0

Получить полигоны из нескольких таблиц

Сообщение SergeyM » 15 мар 2012, 23:07

подскажите новичку

есть у меня две таблицы с гео-данными (SpatiLite)

1. streets (улицы) - мультилинии, линии

Код: Выделить всё

id - 
name - название улицы
type - тип
rajon - район города
2. houses (дома) - полигоны

Код: Выделить всё

id
id_street - связка с streets.id
name - номер дома
Для streets для большинства указан район (не указан вроде только для тех улиц которые проходят сразу через несколько районов)
Я хочу для каждого района найти связанные с ним улицы, привязанные к этим улицам дома и очертить район по домам, чтобы получить полигон района.
Затем всем домам, которые попали внутрь полигона, проставить район.

Для очерчивания я так понял можно использовать меню Вектор->Геобработка->Выпуклые оболочки.
Но не пойму как перед этим выбрать все дома связанные с улицами с конкретным районом

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Получить полигоны из нескольких таблиц

Сообщение Voltron » 16 мар 2012, 11:26

Свяжите таблицы (по id - id_street, если правильно понял вашу схему). Затем просто сделайте выборку по имени района

SergeyM
Интересующийся
Сообщения: 40
Зарегистрирован: 15 июн 2010, 10:34
Репутация: 0

Re: Получить полигоны из нескольких таблиц

Сообщение SergeyM » 16 мар 2012, 11:39

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

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Получить полигоны из нескольких таблиц

Сообщение Voltron » 16 мар 2012, 12:24

Можно связать запросом и результат запроса добавить в качестве слоя. Например, так может модуль DB Manager

SergeyM
Интересующийся
Сообщения: 40
Зарегистрирован: 15 июн 2010, 10:34
Репутация: 0

Re: Получить полигоны из нескольких таблиц

Сообщение SergeyM » 16 мар 2012, 13:40

Voltron писал(а):Можно связать запросом и результат запроса добавить в качестве слоя. Например, так может модуль DB Manager
Получилось с помощью DB Manager. Спасибо, классный плагин.
С помощью Вектор->Геобработка->Выпуклые оболочки - районы заехали друг на друга (см. вложение) - это только править через Геобработка->(Пересечение, Объединение) и допиливать вручную, или как-то можно автоматом сразу сформировать правильно?
Вложения
map.png
map.png (346.54 КБ) 5190 просмотров

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Получить полигоны из нескольких таблиц

Сообщение Voltron » 16 мар 2012, 14:48

Судя по сриншоту, атоматически врядли получится. Часть зданий попадет не в тот район. Видимо, только ручками

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Получить полигоны из нескольких таблиц

Сообщение yellow-sky » 16 мар 2012, 16:09

И районы судя по всему не выпуклые. Для начального получения границы инструмент подойдет, но дальше в любом случае придется редактировать вручную.

Ответить

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

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

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