Спростіть вихід WFS GeoServer


12

Я маю справу з деякими великими наборами даних і хотів би мінімізувати кількість даних, що надсилаються по мережі. Я використовую стратегію BBox OpenLayers лише для передачі необхідних даних, але мені цікаво, чи можу я спростити вихід, щоб я міг показувати менший рівень масштабування без необхідності передавати дані з зайвою точністю / деталізацією.

Я використовую GeoServer як сервер WFS як частину пакету OpenGeo.

Відповіді:


8

WFS / GeoServer насправді не дає ніякого способу зробити узагальнення на льоті на основі масштабу, але є спеціальне розширення, яке робить те, що ви шукаєте, роблячи певну прегенералізацію.

http://docs.geoserver.org/stable/en/user/data/featurepregen.html


1
+1 - дуже приємне розширення. Було б добре мати еквівалент MapServer ..
geographika

3

Деякі можливі рішення:

  • Вам справді потрібні дані у векторному форматі? Якщо великі складні багатокутники служать лише для довідки, вони будуть відмінними як WMS / зображення. Якщо ви можете спростити їх, то вам, мабуть, геометрія все одно не потрібна.
  • Ви можете передати параметр узагальнення до шару карти через спеціальний параметр і використовувати це для спрощення геометрії. Ця тема стосується MapServer, але я припускаю, що щось подібне можна зробити з GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Також посилаючись на вищенаведений потік, ви можете зберігати набори даних, попередньо спрощені для різних масштабів, і при необхідності заховати / показувати їх на своїй карті
  • Переконайтеся, що на вашому веб-сервері увімкнено стиснення gZip, оскільки це зменшить файли GML / XML принаймні вдвічі менше

Мені, безумовно, потрібні їх у векторному форматі, оскільки я хочу мати можливість натискати на них, щоб отримати додаткову інформацію, а також редагувати полігони (хоча очевидно, я хочу лише редагувати справжні форми, а не спрощені версії, які можуть бути трохи хитро).
Mr_Chimp

1
@mr_chimp - ви можете використовувати WMS GetFeatureInfo запит, щоб повернути лише геометрію та атрибути для функції під натисканням миші.
geographika

3

Використовуючи стратегію кластера OL , ви можете спростити представлення (для користувачів), але кількість переданих даних не буде меншою, оскільки кластеризація проводиться на стороні клієнта.

Див. Також сторінку документації .

(Я не знаю про доступні варіанти на стороні сервера)


Можливо, я помиляюся, але, схоже, стратегія кластера стосується точкових даних. У мене є складні дані багатокутника, які я хотів би спростити.
Mr_Chimp

Це не зменшить мережевий трафік, оскільки всі точки потрібні були б для кластерної сторони клієнта.
geographika

@geographika> це я хотів сказати, але, як ви здогадуєтесь, я забув заперечення у своєму реченні (відремонтовано зараз)! Це все ще хороший спосіб підвищення читабельності для кінцевих користувачів
simo

@Mr_Chimp> Немає еквіваленту для полігонів, справді
simo

0

Якщо ви турбуєтеся про те, що WFS "важкий" (вихід його GML за своєю суттю є багатослівним), моя порада полягає в тому, щоб замість цього ви використовували добре відомий текст (WKT), якщо це можливо. Я думаю, що стратегія BBox OpenLayers "сумісна" з WKT.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.