Що краще вибрати? WMS або WFS


9

Мені потрібно вибрати шар (и), і мені цікаво, яким чином я повинен служити шару.

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

Я використовую геосервер та відкриті шари


Ви змогли виконати цю програму? Я хотів знати, як це можна реалізувати?
Sam007

Для опису, який ви описуєте, можливий лише WFS. Для WMS ви можете вибрати в точковому розташуванні, або ви можете обрати якийсь відомий атрибут / атрибути та ресимболізувати за допомогою SLD.
nmtoken

Відповіді:


9

Це здається, що ви хочете зберігати вектори у браузері та запитувати їх на стороні клієнта. Для цього вам потрібно буде використовувати WFS.

Одним із застережень є те, що браузери мають обмеження щодо кількості векторів, які вони можуть відображати одночасно. Якщо ви маєте справу з великими або складними наборами даних, можливо, єдиним варіантом буде використання WMS. Це було б складніше здійснити, тому що запити повинні були бути виконані на стороні сервера.


7
насправді OpenLayers не обмежує кількість функцій, які вона може відображати, браузери мають обмеження на кількість функцій, які вони можуть відображати.
Ян Тертон

2
Максимальна кількість функцій буде залежати не тільки від веб-браузера, але і від функцій клієнтського комп'ютера, таких як процесор або оперативна пам'ять. З огляду на те, що ви, розробник, не знаєте, на якому клієнтському комп’ютері буде працювати «ваш» переглядач карт на базі OpenLayers, будучи консервативним при оцінці цієї межі.
dariapra

1
Я думаю, що WMS добре прислухався б до своєї мети. Тримайте складну обробку на стороні сервера (якщо це можливо) і рендерінг результатів на стороні клієнта. У вас буде краща продуктивність, і ви все ще можете використовувати сценарії фільтрів, такі як "Перехрестя", "Містить", "В межах" тощо. Погляньте на геосервер.
OptimizePrime

2
Я б запропонував вам взяти на себе будь-яку парадигму. 1. Клієнт отримує дані та обробляє / запитує їх відповідно, сервер обслуговує лише дані (WFS). 2. Клієнт піклується лише про надання, сервер виконує завдання з обробки / запиту та доставляє результат (WMS). І те, і інше має свої плюси і мінуси, але не замучують процес і завантажують дані (WFS) і отримують сервер також виконувати обробку / запити. Це створює непотрібні накладні витрати та ускладнює ситуацію
OptimizePrime

@iant: Я розумію, що у відкритих гравців немає обмежень щодо кількості функцій, які вона може відображати. Я думаю, що ми можемо погодитись, що у нього є обмеження;)
canisrufus

5

Якщо у вас вже є такі візуальні дані, як основна карта, і вам просто потрібно вибрати функції, WFS буде дуже добре працювати для цього. Хоча, якщо вам потрібен візуальний компонент, щоб пройти разом з вашим вибором, вам було б краще обслуговувати послугу WMS, оскільки він був створений для цього.

Хоча, слухаючи ваш випадок використання, як ви його описали, я особисто використовував би послугу WMS.

Крім того, блог GeoServer є чудовим описом двох служб і коли вам слід скористатися ними.

Редагування: Якщо ви робите щось, окрім просто запиту даних про функції, ви маєте додаткову примітку, я, як правило, просто використовую WFS, і це чудово, якщо мова йде про маніпулювання даними порівняно з іншими службами OGC, якими я користувався останнім часом. Крім того, візьміть це з зерном солі, це саме те, що я відчув у своєму користуванні послугами, саме тому я додав попередні та наступні посилання.

Стандарти OGC:
WMS
WFS


+1 для посилання про те, коли використовувати типи послуг.
OptimizePrime

Я думаю, що є помилка друку. Ваша друга поява "WFS" здається, що вона повинна читати "WMS".
canisrufus

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