стиль, геосервер, непрозрачный слой, подписи видны.

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
IRA
Интересующийся
Сообщения: 17
Зарегистрирован: 24 сен 2013, 10:57
Репутация: 0
Откуда: Москва

стиль, геосервер, непрозрачный слой, подписи видны.

Сообщение IRA » 10 ноя 2022, 19:00

Здравствуйте все!
Прошу помощи в решении вопроса:
- почему в геосервере слой-маска (непрозрачный, лежащий сверху) перекрывает отображение только геометрии (polygonsymbolizer и тп.) нижележащих слоёв? Можно ли сделать также невидимыми подписи, определённые в стилях нижних слоёв в разделах textsymbolizer?
В документациях по стилям (sld) ничего про это не сказано.
Я думала, что верхний непрозрачный слой перекроет видимость нижних полностью, но НЕТ - подписи остаются видны!
Есть ли решение этой проблемы с помощью каких-либо настроек geoservera? или указаний в sld -файле?
Заранее благодарю.

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: стиль, геосервер, непрозрачный слой, подписи видны.

Сообщение freeExec » 11 ноя 2022, 10:02

Насколько я знаю про QGIS, то он сначала рендерит геометрию по слоям, а только потом надписи. Т.е. надписи всегда поверх геометрии. тут вариант два, либо вы по маске отсекаете свои надписи на уровне данных, а не картинок. Либо вы в вебе делаете вторым слоем маску и накрываете первый слой с надписями.

IRA
Интересующийся
Сообщения: 17
Зарегистрирован: 24 сен 2013, 10:57
Репутация: 0
Откуда: Москва

Re: стиль, геосервер, непрозрачный слой, подписи видны.

Сообщение IRA » 11 ноя 2022, 16:11

Добрый день!
Я не использую QGIS. Данные из Openstreetmap загружаю в Postgres/PostGis (osm2psql) и затем публикую послойно в Geoservere (стили на основе Mapnica дорабатываю, как нужно). Групповой слой, который и есть карта, создаю так, чтобы всё отображалось в нужном порядке. Последним слоем делаю непрозрачный полигон с вырезанными регионами, таким образом, на карте видны только те территории, что нужны в проекте. Регионы могут меняться, и тогда нужно лишь заменить верхний слой (маску) и использовать ту же карту.
Поэтому и хотелось узнать, можно ли как-то в стиле (sld) сделать подписи на определенном слое невидимыми под непрозрачным слоем, также как невидима под ним геометрия этого слоя.
Если отсечь данные слоя, то позже придётся переделывать его в базе полностью, а сохранять и исходную таблицу и материальную вырезанную накладно (по месту), но такое решение мне понятно. Можно, конечно, отрезать данные во вьюшке, но тогда очень долго будет всё грузиться (ведь подписанных слоёв много и каждый будет вычисляться заново при каждом обращении).
"Либо вы в вебе делаете вторым слоем маску и накрываете первый слой с надписями." - вот это я не поняла, ведь я так и пытаюсь сделать, но подписи все равно видны. Или я что-то недопонимаю?
Если можно, растолкуйте поподробнее.

Очень Вам благодарна, что откликаетесь!

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: стиль, геосервер, непрозрачный слой, подписи видны.

Сообщение freeExec » 11 ноя 2022, 16:27

IRA писал(а):
11 ноя 2022, 16:11
вот это я не поняла
В лефлете или что там у вас подключаете два слоя, один карта, другой маска.

IRA
Интересующийся
Сообщения: 17
Зарегистрирован: 24 сен 2013, 10:57
Репутация: 0
Откуда: Москва

Re: стиль, геосервер, непрозрачный слой, подписи видны.

Сообщение IRA » 11 ноя 2022, 17:17

А-а-а-а, снаружи? ))
Спасибо, это вариант.
Но я тут наткнулась на "Cross-layer filtering" для Geoservera. Попробую отфильтровать стиль (текстовую часть) по геометрии другого слоя.
:D

Ответить

Вернуться в «Веб-картография»

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

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