Отображение данных PostGIS в gvSIG и KOSMO

Ответить
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

gvsig и cosmo ни в какую не отображают представления postgis - воспринимают геометрические поля как атрибутивные. Это так и было задумано?
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение KolesovDmitry »

На всякий случай хочу уточнить: а у вас в geometry_columns прописана информация о созданных представлениях?
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

А, понял в чем дело. Нет, не прописаны. А как прописать? И почему тогда эти поля квантрум видит?
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение KolesovDmitry »

Игорь Черниенко писал(а):Нет, не прописаны. А как прописать?
Проще всего попросту скопировать. Например, есть представление goroda_view, тогда смотрим, что в geometry_columns написано про исходную таблицу и вставляем эти значения:

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

INSERT INTO geometry_columns 
	(f_table_catalog,f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type)
values 
	('','public', 'goroda_view', 'the_geom', 2, 4326, 'MULTIPOLYGON');
Можно заглянуть сюда, там как раз рассматривается создание представления в PostgreSQL и особенности, связанные с PostGIS.
А почему квантум видит - скорее всего, он просматривает все таблицы и ищет в них поля геометрического типа. не полагаясь на geometry_columns.
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

Большое спасибо!
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

не-а, гвсиг как не видела, так и не видит, космо видит и отображает, но совершенно коряво! может с проекциями конфликт (указанными в запросе и по умолчанию в виде)?
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение KolesovDmitry »

Игорь Черниенко писал(а):не-а, гвсиг как не видела, так и не видит, космо видит и отображает, но совершенно коряво! может с проекциями конфликт (указанными в запросе и по умолчанию в виде)?
Хочу уточнить, правильно ли я понимаю:
  • 1) Есть таблица с геометрией t
    2) Есть представление v, созданное на основе t
    3) В geometry_columns информация о представлении v один-в-один совпадает с записью, описывающей таблицу t
При этом:
  • Когда открывается в gvSIG таблица t - все в порядке, а представление v попросту не видно.
    Когда открывается в Kosmo таблица t - все в порядке, а представление v показывается "коряво" (кстати, что значит - коряво?)
    В qGIS и таблица, и представление выглядят совершенно идентично.
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

Нет, запись в geomertry_column для v не совпадает с записью для t - геометрические поля называются по-разному, в виде геометрическое поле перепроектировано. gvSig представление видит, но воспринимает геометрическое поле как атрибутивное (будь представление прописано в geometry_columns или нет). В cosmo прописанное в geometry_columns представление видно, но отображается оно не в той проекции, которая задана в нем, а вообще непонятно в какой.
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение KolesovDmitry »

Игорь Черниенко писал(а):Нет, запись в geomertry_column для v не совпадает с записью для t - геометрические поля называются по-разному, в виде геометрическое поле перепроектировано. gvSig представление видит, но воспринимает геометрическое поле как атрибутивное (будь представление прописано в geometry_columns или нет). В cosmo прописанное в geometry_columns представление видно, но отображается оно не в той проекции, которая задана в нем, а вообще непонятно в какой.
Слишком много неизвестых в задаче, поэтому давайте сначала выделим место, в котором начинаются сбои. Другими словами, попробуйте создать представление без перепроецирования, т.е. попросту на основе табличных данных и посмотрите, будет ли работать в gvSIG и Kosmo. А уже посмотрев на результаты, будем решать, что, где и как.
andykor
Новоприбывший
Сообщения: 4
Зарегистрирован: 14 окт 2008, 14:38
Репутация: 0

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение andykor »

проблема решается если в таблице создать поле "serial primary key', например gid.
Аватара пользователя
Игорь Черниенко
Активный участник
Сообщения: 137
Зарегистрирован: 28 мар 2009, 01:05
Репутация: 11
Откуда: Хабаровск, Южно-Сахалинск

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение Игорь Черниенко »

Спасибо за совет. АйДи с таким типом в таблицах есть :о)
andykor
Новоприбывший
Сообщения: 4
Зарегистрирован: 14 окт 2008, 14:38
Репутация: 0

Re: Отображение данных PostGIS в gvSIG и KOSMO

Сообщение andykor »

тогда наверно данные битые, следует проверить.
Мой алгоритм решения такой проблемы следующий:
1. Создать новую таблицу, где есть serial primary key
2. Добавление геополей функцией SELECT AddGeometryColumn('x_t','the_geom',28409,'MULTIPOLYGON',2); -как пример.
gvSIG "любит" все мульти.
3. Из psql загнать одну запись в таблицу из старой.
4. Проверить
Если gvSIG видит, значит надо править данные.
Ответить

Вернуться в «gvSIG, KOSMO, uDig»

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

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