Chociaż użyłem Ulotki w mojej aplikacji webGIS, OpenLayers ma znacznie więcej zalet niż Ulotka. Na przykład, jeśli chcesz korzystać z aplikacji na urządzeniach mobilnych, OpenLayers jest na razie koniecznością.
Istnieje wiele zasobów związanych z OpenLayers, jednak myślę, że tworzenie aplikacji przy pomocy Ulotki jest łatwiejsze niż OpenLayers (łatwiej jest odczytać kod i zrozumieć strukturę). Jeśli masz ograniczenia czasowe i masz małe doświadczenie z Javascriptem, skorzystanie z Ulotki może być lepszym rozwiązaniem, aby zrobić to szybciej. Lub jeśli chcesz opracować bardzo prostą aplikację, Ulotka może być łatwiejsza na początku.
Ale po opracowaniu aplikacji za pomocą Ulotki, teraz mówię, że chciałbym korzystać z OpenLayers na początku. Ponieważ gdy aplikacja staje się złożona (np. Wywoływanie złożonych warstw z bazy danych, tworzenie niezawodnej aplikacji mobilnej itp.), Ulotka zaczyna ograniczać twoje możliwości. Myślę więc, że poświęcenie trochę więcej czasu na zrozumienie i nauczenie się struktury OpenLayers na etapie uczenia się będzie w końcu tego warte.
Jak uwzględniono szczegóły projektu;
Użyj interfejsu mapy, aby pobrać informacje o funkcji:
Zarówno Ulotka, jak i OpenLayers mogą to doskonale zrobić. Chodzi o to, aby uzyskać współrzędne zdarzenia kliknięcia i wysłać żądanie do serwera. Link żądania będzie taki sam dla obu aplikacji.
Utwórz niestandardowe narzędzie, które pobiera od użytkownika lat / lon w miejscu, w którym kliknie mapę, a następnie pobierze dane klimatyczne z rastra (który jest obsługiwany przez skrypt py na serwerze):
Sam to osiągnąłem w Ulotce (nawiasem mówiąc, dzwoniłem też do danych klimatycznych). Nie pobierałem danych rastrowych z serwera, ale chodzi tutaj o utworzenie łącza żądania, które jest łatwe dla obu aplikacji. Jeśli jednak chcesz wybrać wielokąt na tym etapie, osiągnięcie Ulotki jest trochę trudne.
Pozwala użytkownikowi na przesłanie programu Excel, który jest wysyłany do skryptu py, który zwraca GeoJSON, który tworzy funkcje wektorowe na mapie:
W przybliżeniu ta sama linia pracy zarówno dla Ulotki, jak i OpenLayers. Nie mogę powiedzieć, który jest lepszy.
Zezwól użytkownikowi na tworzenie wielokątów wektorowych, które będą pobierać funkcje przecinające się z warstwy WFS:
Nie mam pojęcia o możliwościach edycji OpenLayers, ale Ulotka ma wtyczkę o nazwie Leaflet Draw, która jest łatwa w użyciu i manipuluje rysunkami (po stronie javascript) po zakończeniu rysowania. Również Ulotka ma obsługę WFS-T, jeśli chcesz manipulować danymi przestrzennymi na serwerze WFS. OpenLayers może być lepszy, nie wiem.
Pobiera warstwę z magazynu danych PostGIS na GeoServer i wyświetla warstwy na mapie:
Zdecydowanie OpenLayers jest lepszy do tego zadania, ponieważ łatwiej jest podłączyć serwer PostGIS.
Nawiasem mówiąc, istnieje pakiet aplikacji o nazwie OpenGeo Suite, który obejmuje OpenLayers, GeoServer i PostGIS; co rozwiąże wszystkie problemy programisty aplikacji GIS.