QGIS + Postgis (представления views)

Ответить
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

QGIS + Postgis (представления views)

Сообщение madlih »

Я создал базу данных. В ней есть таблица "вершина", в которой находятся геометрическая колонка и связанная с ней атрибутивная таблица. При подключении к БД атрибутивная таблица не отображается. Рисунок ниже.
Изображение
Создал представление view которое содержит таблицу вершина и атрибутивную таблицу. При подключении не отображается в списке доступных таблиц. Если постоянно кликать по кнопке подключиться то представление там мелькает (смог запечатлеть на скрине, отмечено зеленым). И еще из таблицы "vershina" я удалил колонку geom_point вместо нее сделал geompoint, но в QGIS удаленная колонка отображается, что это такое (пересмотрел бд еще раз точно этого поля там нет, да и при попытке добавить geom_point в качестве слоя вылазит ошибка что нету такого поля).
Собсвтенно вопросы:
1) Как подключить представления? Возможно ли редактировать базовые таблицы через представления)
2) Почему отображается в спсике доступных удаленное поле?

Изображение

Заранее благодарен за помощь
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: QGIS + Postgis (представления views)

Сообщение Mavka »

Загляните в таблицу 'geometry_columns' и все станет ясно.
лангольеры под окном жрали время ом-ном-ном
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

Mavka писал(а):Загляните в таблицу 'geometry_columns' и все станет ясно.
спасибки большое))) жаль тут репы нет, от души благодарю
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

еще вопросик, есть пять таблиц сответствующих таблице геометрии точек, то есть есть таблица geom_columns и есть несколько видов точечных объектов : заглушка, вентиль, фитинг (изгиб), насосоные станции, тройники. Как можно сделать чтобы пользователь выбирал какой тип объекта и заполнял данные в соответствующую таблицу? Может вопрос не совсем понятный попробую объяснить с картинкой.
Изображение
То есть атрибутывная таблица например для заглушек будет состоять из baseobj, prostr_model, polygons, vershina, mestopolozh, koord, ist_koord, system koord и атрибутивной таблицы именно для заглушек - zaglushki.

Пробовал создать общий view, но тогда пользователю доступно редактирование всех точечных объектов то есть по сути одной точке будет соответсвовать несколько объектов, что совсем нехорошо.
Думал над созданием для каждого объекта своей вьюшки, но тогда при подключении к бд каждый вид объекта будет на отдельном слое. Хотя в этом тоже что то есть. Мне бы хотелось чтобы точечные объекты были в одном слое, но классифицировались по виду (по полю tip_elemeta_truboprovoda таблицы types_elements_truboprovod), такое конечно возможно если создать общую вьюху для всех объектов но опять же при редактировании атрибутов вылезут поля атрибутов для всех объектов а не для какого то одного. Вообщем голова совсем не варит. Курил англоязычные форумы там что то про динамические вьюхи говорили(там же говорили что их поддержки в QGIS нету), так и не понял ничего. Помогите чем сможете, очень прошу :oops:
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: QGIS + Postgis (представления views)

Сообщение Voltron »

А почему вы не хотите для каждого элемента отдельный слой сделать? Это же разные сущности, как я понял.
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

Как вариант пойдет мне нужно чтобы работало, с вьюхами этими застрял вконец читаю маны, модифицируемые вьюхи создаются только для view состоящей из одной таблицы(( замкнутый круг какой то
Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: QGIS + Postgis (представления views)

Сообщение Voltron »

madlih писал(а):модифицируемые вьюхи создаются только для view состоящей из одной таблицы(( замкнутый круг какой то
Это не совсем так. View, состоящий из нескольких таблиц, тоже может быть редактируемым. Нужно только создать триггеры/правила для обновления нужных таблиц.
PostgreSQL manual писал(а):You can get the effect of an updatable view by creating rules that rewrite inserts, etc. on the view into appropriate actions on other tables. For more information see CREATE RULE.
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

Voltron, спасибо попробую разобраться
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

Не подскажете еще , как мне сделать представление для линии (труб), вернее в каую таблицу засунуть геометрию линии. На ОСМД ру
osmd.ru писал(а): madlih: Вопрос собственно по таблицам "Пространственная модели", "Полигоны", "Вершины". На сайте Интари описания к ним не нашел, в субмоделях тоже но в общей схеме они есть. Собственно если правильно понимаю то эти таблицы относятся к полю "3д - образ" из "базовой таблицы объектов", только вот колонок пространственных данных типа geometry в них нету, да и все таки если эти таблицы должны содержать эти колонки то почему тогда нет таблицы "Линии" допустим осевые линии имеют тип полилинии. Вообщем помогите разобраться с неясностями.
Дмитрий Анатольевич : В целом эта часть модели устроена довольно примитивно.
"Пространственные модели" (перечислены в таблице с аналогичным названием) могут состоять из одного или нескольких "Полигонов" (перечисляются и связываются с "пространственной моделью" в таблице "Полигоны"), при этом каждый из них может быть полигоном или дыркой (согласно соответствующему признаку). Каждый "Полигон" это упорядоченный набор "Вершин" (перечисленных в соответствующей таблице). Вершины закоординированы благодаря связи с таблицей местоположений. Чтобы описать геометрию в виде "линии" достаточно создать один "Полигон" с набором вершин соответствующим последовательности вершин необходимой "Линии".
Вообщем я так и не понял куда сунуть геометрию типа "линия". Подскажите как можно решить такую проблемку

P.S картинка выше
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: QGIS + Postgis (представления views)

Сообщение Дмитрий Барышников »

ОСМД это перевод PODS который представляет собой непространственную БД. Для добавления пространственных данных можно создать свою таблицу и связать ее необходимой таблицей(ами) в ОСМД.
Еще посмотрите APDM.
P.S. Я бы вынес этот вопрос в отдельную тему ибо отношения к данной он не имеет.
madlih
Интересующийся
Сообщения: 31
Зарегистрирован: 25 окт 2010, 22:45
Репутация: 0

Re: QGIS + Postgis (представления views)

Сообщение madlih »

Хм зачем же тогда таблицы "полигоны" , "вершины". Вообщем засунул lines geometry в полигоны
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: QGIS + Postgis (представления views)

Сообщение Дмитрий Барышников »

Это такой "дурацкий" способ хранения ГИС данных в обычных таблицах.
Есть таблица точек (всех!) с отдельными полями для X,Y,Z, в таблице "полигоны" или "вершины" имеются ссылки на эту таблицу через ключи.
В общем это данные не для ГИС, а для "плоских" программ (однолинейных схем и мнемосхем). А как это тормозит если точек миллионы!
ОСМД имеет смысл только если кроме вашей программы из базы будут читать еще какие либо программы, которые поддерживают эту модель.
Ответить

Вернуться в «PostGIS/PostgreSQL»

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

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