Jak przyspieszyć usługi dynamicznej mapy?


16

Pracuję nad aplikacją opartą na ESRI Flex, która wyświetla dane z usługi dynamicznej mapy. Musi być dynamiczny, ponieważ użytkownik końcowy powinien mieć możliwość włączania i wyłączania warstw. Jest to możliwe tylko w przypadku usług mapy dynamicznej, a nie usług map kafelkowych.

Jakie są niektóre kroki, które można podjąć, aby zwiększyć szybkość, z jaką kafelki są wysyłane do klienta przez serwer?

Patrzę na dynamiczne mapy ESRI dostępne w ArcGIS online i są one dość szybkie. Masz pomysł, jak uzyskać tak dobrą wydajność?


4
Możesz użyć osobnych usług map kafelkowych dla każdej warstwy, a następnie włączyć lub wyłączyć każdą z nich.
— Britt Wescott,

@Seth: Skończyłem z tym samym wnioskiem co ty. Dzięki liczbie używanych warstw i oczekiwanej liczbie jednoczesnych użytkowników oddzielne usługi map kafelkowych zapewniają najlepszą wydajność.
— Devdatta Tengshe,

Mamy ten sam problem, wysłałem prośbę o ulepszenie do ESRI, aby uzyskać wsparcie dla równoległego wykonywania warstw w dynamicznych usługach map, myślę, że to znacznie poprawiłoby wydajność.
— MathiasWestin

Odpowiedzi:


11

Być może już to zrobiłeś, ale warto wspomnieć o innych, którzy mogą przyjść. Spędzanie czasu przy użyciu paska narzędzi publikowania usługi map w ArcMap może znacząco zmienić wydajność dynamicznej usługi map. Narzędzie Analiza mapy działa dobrze w celu znalezienia problemów, które spowalniają usługi map. Ponadto zapisywanie i publikowanie jako definicji usługi mapowej (MSD) zamiast MXD pozwala na znaczny wzrost wydajności.

Niektóre linki:


Podczas gdy inne odpowiedzi podnoszą ważne punkty, już je rozważałem. Seminarium, z którym się łączyłeś, dostarczyło mi pewnych informacji, których nie znałem, oprócz wszystkich rozwiązań sugerowanych przez innych. Dlatego oznaczę twoją odpowiedź jako zaakceptowaną, ponieważ twoje linki zapewniają więcej punktów i całościowy sposób rozwiązania problemu.
— Devdatta Tengshe,

14

Zakładam, że tak jak w przypadku każdej usługi map internetowych na żywo, serwer map „myśli” tak mało, jak to możliwe. Innymi słowy, wstępnie oblicz wszystko, co możesz.

  1. Umieść wszystkie swoje dane w tym samym SRS, aby nie było projekcji „w locie”.
  2. Utwórz indeksy przestrzenne na swoich danych.
  3. Twórz uogólnione przeglądy danych i korzystaj z zależności skali, aby wybrać odpowiednią warstwę dla określonej skali. (np. nie ma sensu rysować poli z 10 000 wierzchołków, jeśli obraz wyjściowy ma tylko 250 x 250 pikseli).

8

Kilka innych punktów, które należy dodać do odpowiedzi DavidF:

  • Jeśli możesz, skorzystaj z usługi zoptymalizowanej (MSD). Rysują szybciej niż zwykła usługa (MXD), a proces tworzenia usługi MSD spowoduje uruchomienie analizy na mapie, która może ujawnić problemy, które mogą prowadzić do wydłużenia czasu rysowania.

  • W miarę możliwości używaj uproszczonych mechanizmów renderowania. Unikaj skomplikowanych operacji rysowania, takich jak dithering, gradienty kolorów i znaczniki rastrowe.

  • Użyj minimalnej ilości danych, która spełnia wymagania Twojej firmy. Jeśli masz w danych atrybuty, które nie będą używane do rysowania mapy, usuń je. Nawet jeśli musisz raportować dane, możesz je uzyskać od klienta w razie potrzeby (chociaż to powoduje dodatkowe prace programistyczne)

  • Włącz pełne rejestrowanie mapy i przejrzyj pliki dziennika, aby zobaczyć, co robi ArcGIS Server podczas rysowania mapy. Instrukcje konfiguracji pełnego rejestrowania znajdują się na stronie blogów Esri . Dotyczy to wersji 9.3, ale lokalizacja konfiguracji jest taka sama dla ArcGIS 10.

Pamiętaj, strojenie jest bardzo specyficzną operacją, która jest bardzo subiektywna i specyficzna dla tego, co robisz; porównywanie wydajności własnej mapy z samym sobą będzie bardziej cenne niż porównywanie wydajności z wynikami innych osób.


Zajęłam się pierwszymi trzema punktami, ale czy możesz rzucić więcej światła na „Pełne rejestrowanie mapy”? Próbowałem to znaleźć, ale jedyne linki, które znajduję, dotyczą usług ArcIMS.
— Devdatta Tengshe,

Dodałem link do bloga Esri na temat rejestrowania ArcGIS Server.
— mwalker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.