Страница 1 из 1

Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 09:10
intraskol
Есть геосервер, в него загружена карта. Есть задача, передать в геосервер набор точек, а чтобы геосервер вернул png с картой и полигоном, нарисованным по переданным точкам. Как получить из geoserver png с участком карты, нашел, но вот как на этом участке нарисовать полигон, не могу найти. При этом данный полигон сохранять не требуется. Можно ли эту задачу решить средствами geoserver или требуется дополнительное ПО?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 09:13
trir
а зачем, может просто добавит векторный слой?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 09:27
intraskol
Не понял как это реализовать, добавить в БД еще 1 слой и выводит 2 слоя?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 09:32
trir

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 10:56
intraskol
Что это за скрипт, это отдельный файл или это расширение для geoserver?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 11:02
trir
зачем тут GeoServer, эту задачу можно решить на клиенте

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 15:27
intraskol
"На клиенте" - это в смысле отрисовку участка карты, нанесение точек (отрисовку полигона) полностью проводить средствами языка программирования?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 16:12
Ivor
В принципе - можно. Но в любом случае без программирования не обойтись (причём на java, если геосервер ничего иного не научился понимать). Но вопрос - нужно ли? Какая задача стоит?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 16:21
intraskol
Задача: Есть геосервер в который занесено некоторое количество слоев (в векторном формате). Необходимо в png вывести некоторый участок слоя или слоев, и на данный участок нанести полигон. Слои в геосервере остаются неизменными, а размер участка для вывода и полигон могут быть различные.
Как получить из геосервера участок в формате png нашел, а вот как правильно наложить на него полигон, по координатам не знаю.

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 16:27
Ivor
Геосервер - он чей, ваш? Данные слоёв там в каком формате? Это можно сделать просто, если слои в базе данных и есть к ней доступ. Если нет - тогда официальный способ я знаю один - WPS. Причём всё равно нужно будет писать модуль для конкретного геосервера, то есть к нему нужен админский доступ.
Но, возможно, достаточно построения полигона в настольной ГИС поверх данных с геосервера?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 14 фев 2022, 18:09
intraskol
Да, геосервер мой, слои в векторном формате в БД, доступ к БД есть (но задач поставили работать через геосервер, если это конечно возможно). Мой опыт работы с геосервером ограничен подключением слоев из БД к геосерверу, в связи с этим и возник этот вопрос.
Т.е. возможностями геосервера из "коробки" без написания расширений, данную задачу решить не получиться?
Что касается использования настольных ГИС, задача поставлена определить можно ли решить только через геосервер.
Насколько корректно будет решение, создать "временный" слой в БД, в него помещать полигон и выводить данный "временный" слой вместе с основными? Можно ли как то в данном случае из "временного" слоя выводить не все строки/объекты, а какой то один?

Re: Нарисовать динамически линии, полигоны на карте

Добавлено: 15 фев 2022, 02:37
Ivor
В базе данных с помощью триггеров, процедур и отображений наворотить можно много всякого. Вопрос только в скорости работы. Я как-то делал автоматическое построение геометрии скважин в 3Д по данным бурения: добавляются в таблицу данные об очередном замере - добавляется очередной сегмент к линии скважины.
И повторю вопрос про задачу. Есть постановка задачи в целом, без технических подробностей вроде геосервера и png? А то вдруг задача решается каким-либо простым методом и геосервер не нужен. Или наоборот, всё ещё сложнее