Страница 1 из 1
Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 06 апр 2009, 11:31
Игорь Черниенко
gvsig и cosmo ни в какую не отображают представления postgis - воспринимают геометрические поля как атрибутивные. Это так и было задумано?
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 06 апр 2009, 12:08
KolesovDmitry
На всякий случай хочу уточнить: а у вас в geometry_columns прописана информация о созданных представлениях?
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 07 апр 2009, 11:51
Игорь Черниенко
А, понял в чем дело. Нет, не прописаны. А как прописать? И почему тогда эти поля квантрум видит?
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 07 апр 2009, 12:15
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.
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 07 апр 2009, 13:24
Игорь Черниенко
Большое спасибо!
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 08 апр 2009, 11:48
Игорь Черниенко
не-а, гвсиг как не видела, так и не видит, космо видит и отображает, но совершенно коряво! может с проекциями конфликт (указанными в запросе и по умолчанию в виде)?
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 08 апр 2009, 12:19
KolesovDmitry
Игорь Черниенко писал(а):не-а, гвсиг как не видела, так и не видит, космо видит и отображает, но совершенно коряво! может с проекциями конфликт (указанными в запросе и по умолчанию в виде)?
Хочу уточнить, правильно ли я понимаю:
- 1) Есть таблица с геометрией t
2) Есть представление v, созданное на основе t
3) В geometry_columns информация о представлении v один-в-один совпадает с записью, описывающей таблицу t
При этом:
- Когда открывается в gvSIG таблица t - все в порядке, а представление v попросту не видно.
Когда открывается в Kosmo таблица t - все в порядке, а представление v показывается "коряво" (кстати, что значит - коряво?)
В qGIS и таблица, и представление выглядят совершенно идентично.
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 08 апр 2009, 21:44
Игорь Черниенко
Нет, запись в geomertry_column для v не совпадает с записью для t - геометрические поля называются по-разному, в виде геометрическое поле перепроектировано. gvSig представление видит, но воспринимает геометрическое поле как атрибутивное (будь представление прописано в geometry_columns или нет). В cosmo прописанное в geometry_columns представление видно, но отображается оно не в той проекции, которая задана в нем, а вообще непонятно в какой.
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 09 апр 2009, 10:39
KolesovDmitry
Игорь Черниенко писал(а):Нет, запись в geomertry_column для v не совпадает с записью для t - геометрические поля называются по-разному, в виде геометрическое поле перепроектировано. gvSig представление видит, но воспринимает геометрическое поле как атрибутивное (будь представление прописано в geometry_columns или нет). В cosmo прописанное в geometry_columns представление видно, но отображается оно не в той проекции, которая задана в нем, а вообще непонятно в какой.
Слишком много неизвестых в задаче, поэтому давайте сначала выделим место, в котором начинаются сбои. Другими словами, попробуйте создать представление без перепроецирования, т.е. попросту на основе табличных данных и посмотрите, будет ли работать в gvSIG и Kosmo. А уже посмотрев на результаты, будем решать, что, где и как.
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 13 апр 2009, 15:24
andykor
проблема решается если в таблице создать поле "serial primary key', например gid.
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 13 апр 2009, 23:26
Игорь Черниенко
Спасибо за совет. АйДи с таким типом в таблицах есть :о)
Re: Отображение данных PostGIS в gvSIG и KOSMO
Добавлено: 14 апр 2009, 09:39
andykor
тогда наверно данные битые, следует проверить.
Мой алгоритм решения такой проблемы следующий:
1. Создать новую таблицу, где есть serial primary key
2. Добавление геополей функцией SELECT AddGeometryColumn('x_t','the_geom',28409,'MULTIPOLYGON',2); -как пример.
gvSIG "любит" все мульти.
3. Из psql загнать одну запись в таблицу из старой.
4. Проверить
Если gvSIG видит, значит надо править данные.