Страница 1 из 2
несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 04 июн 2013, 14:43
Филиппов Владислав
Доброго всем дня.
У меня есть таблицы в PostGIS 2.0 с несколькими полями типа GEOMETRY. в geometry_columns они есть.
опубликованы в Geoserver 2.2 как слои.
сделано это как тут -
http://docs.geoserver.org/stable/en/use ... ry-columns
но сразу же после этого перестал работать GetFeatueInfo к этим слоям. кто знает, можно ли настроить сервер на несколько полей геометрии
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:11
Denis Rykov
А сам WMS слой нормально отображается? В любом случае можно сделать view с одним полем геометрии. Да, и что значит перестал работать, что приходит в ответ?
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:15
Филиппов Владислав
да, отображается как надо: точки точечными знакми, полигоны полигональными
у меня около 70 типов объектов, если ещё и вьюшки делать.... я "повешусь"
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:19
Denis Rykov
То есть каждой поле геометрии опубликовано как отдельный слой? И все-таки что приходит от сервера в ответ?
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:35
Филиппов Владислав
вот, постарался картинку сделать:

- Снимок.png (163.54 КБ) 10425 просмотров
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:49
Denis Rykov
Я не знаток геосервера, но снаружи у вас этот слой RoadDraingeSegment выглядит как один слой, но по факту содержит несколько полей геометрий?
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:52
Филиппов Владислав
да, это один слой с 3-мя полями геометрии.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 05:54
Denis Rykov
А в чем проблема опубликовать его как 3 разных слоя? Мне кажется у такого подхода гораздо больше профита, плюс думаю это избавит вас от проблемы с GetFeatureInfo.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:05
Филиппов Владислав
я ж говорю, у меня 68 типов (таблиц), которые выгружаются из базы MS SQL Server'а, в которой в свою очередь в поле гометрии могут храниться любые геометрические типы. Ранее, при выгрузке в мою PostGIS, это приходило как ST_GeometryCollection. Визуализаторов в SLD для такого типа нет, нужно ятобы геометрия явно была типизирована. в документации к Geoserver'у я увидел решение этой проблемы - разделённые поля геометрии. Экспорт из MS SQL Server'а был переделан для разделения полей, я написал визуализаторы и всё получилось. НО! получить информацию с такого слоя пока невозможно. Ещё, при публикации слоя, автоматом не получается определить его экстент, скорее всего геосервер находит первое поле с точечной геометрией, а там NULL и он пишет нудевой экстент. Хотя если использовать функцию SELECT ST_Extent(geom_ln) as bextent FROM "RoadServiceSegment"; на поле с линейной геометрией, которая есть, то можно ручками прописать экстент при публикации слоя в геосервере и всё получается. Понимаю, извращённый случай, но таковы мои входные условия. В случае, если делать вью на каждый тип, то у меня будет 204 слоя - это здец полный!
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:13
Denis Rykov
А разве нельзя не делая вью, в геосервере при создании WMS-слоя явно указать геометрию из какого поля ему следует брать? Ну или если у вас для одной записи только одно из полей геометрий заполнено, а остальные NULL, то и перенесите все геометрии в одно поле, а затем, наверное, следуя советам
Styling mixed geometry types настройте их стили.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:18
Филиппов Владислав
можно меня ткнуть носом в сию фичу? даже если это возможно, например, как в QGIS при подключении WFS, он сам выбирает полюбившееся ему поле с геометрией и с ним он хорошо работает, но моя проблема не решится всё равно. у меня реально есть слои где 30/70 точки/полигоны, получается либо 30, либо 70 % инфы пропадёт, ну либо 200 слоёв.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:24
Филиппов Владислав
тут мне подсказали, что в MAP-файле MapServer'а можно прописать несколько полей геометрий на один слой, правда?
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:28
Denis Rykov
Давайте определимся.
1) Вопрос изначально был про GetFeatureInfo, а это WMS и если вы сделаете одно поле с геометриями в PostGIS и настроите стиль, то этот WMS слой должен работать и в QGIS и в Web-клиенте, плюс в качестве бонуса вы получите рабочий не только GetMap запрос, но и GetFeatureInfo.
2) Теперь вы упоминаете WFS. Никаких проблем с отображением WFS в Web-клиенте вы не получите, а что касается QGIS - то тут такая модель данных - один тип геометрии = один слой, поэтому если вы подключитесь к своему WFS-слою или напрямую к постгис, то QGIS должен задетектить три разных слоя (по типу геометрии), хотя физически это будет один слой, добавляете эти три слоя в проект и все, не вижу проблем.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:35
Филиппов Владислав
вопрос про WMS.
про QGIS я в качестве примера сказал.
подключаться к PostGIS'у нельзя, всё должно быть WMS или WFS.
Re: несколько полей GEOMETRY и GetFeatueInfo от Geoserver
Добавлено: 05 июн 2013, 06:47
Denis Rykov
Вообщем объединение геометрий в одно поле - вот решение вашей проблемы, если нет возможности при публикации слоя явно указывать поле геометрии (хотя уверен, что такая возможность должна быть).