Страница 1 из 1
MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 07:20
nemeia
Добрый день! Имеется 2 таблицы в postgis, одна содержит в себе геометрию, другая различную текстовую атрибутивную информацию. Связаны они между собой по ключу - id. Вопрос такой: можно ли вывести геометрию из первой таблицы, а инфу (через getfeatureinfo OL3) из второй, опираясь на id точки?
Из одной и той же таблицы все выводится прекрасно - и геометрия, и инфа. А как выдернуть инфу из другой - не могу сообразить...

Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 08:07
Denis Rykov
Самый простой вариант — сделать view, объединяющее эти две таблицы и уже его подключать в MapServer.
Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 09:03
nemeia
Denis Rykov писал(а):Самый простой вариант — сделать view, объединяющее эти две таблицы и уже его подключать в MapServer.
такой вариант не подходит - есть такое, что одному id соответствует несколько записей в другой таблице. т.е может выводиться не одна строчка
Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 09:30
Denis Rykov
Тогда напишите небольшое приложение, которое будет реализовывать нужную логику, MapScript в помощь.
Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 09:51
nemeia
Denis Rykov писал(а):Тогда напишите небольшое приложение, которое будет реализовывать нужную логику, MapScript в помощь.
А по-другому все таки никак, да?

Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 08 сен 2016, 12:31
Denis Rykov
Как вариант можно сделать следующим образом:
Код: Выделить всё
DATA "geom from (select g.id,
g.geom as geom,
string_agg(a.display_name, E'\n') as display_name
from report g
inner join report_photo a on g.id = a.report_id
group by g.id) as subquery
using unique id using srid=4326"
Идея понятна?
Re: MapServer + PostGIS, вывод атрибутивной таблицы
Добавлено: 13 сен 2016, 07:11
nemeia
Denis Rykov писал(а):Как вариант можно сделать следующим образом:
Код: Выделить всё
DATA "geom from (select g.id,
g.geom as geom,
string_agg(a.display_name, E'\n') as display_name
from report g
inner join report_photo a on g.id = a.report_id
group by g.id) as subquery
using unique id using srid=4326"
Идея понятна?
Да, огромное спасибо вам за помощь!