Mam kilkaset punktów danych z odniesieniami geograficznymi i relacje z tego punktu do innych punktów. Próbuję znaleźć najlepszy sposób wizualizacji tego na interaktywnej mapie (być może przy użyciu map Google).
Jednym z moich pomysłów było to, że kiedy użytkownik klika punkt, wyświetla wszystkie łącza z tego punktu do powiązanych punktów.
Byłbym wdzięczny za wszelkie sugestie lub przykłady tego, jak najlepiej to zrobić.
Mam doświadczenie w korzystaniu z ArcGIS, QGIS, Python i niewielkiej ilości javascript.
Odpowiedzi:
Istnieją różne metody w zależności od tego, co chcesz osiągnąć, ile masz danych i jak bardzo chcesz. Twój pomysł jest dobrym pomysłem i prawdopodobnie zadziałałby dobrze. Oczywiście inną oczywistą odpowiedzią jest pokazywanie wszystkich związków przez cały czas, ale to dodałoby dużo wizualnego bałaganu. Być może dobrym kompromisem jest zawsze pokazywanie wszystkich relacji w półprzezroczystym kolorze, aby były ledwo widoczne. Gdy użytkownik kliknie lub najedzie myszką na punkt danych, łącza z tego punktu staną się nieprzejrzyste.
Jedną z rzeczy, które możesz zrobić, aby mapy były nieco bardziej przyjemne wizualnie i intuicyjne, jest użycie linii krzywych zamiast linii prostych do połączenia z punktami danych. Działa to w dwóch lub trzech wymiarach . Możesz także robić ciekawe rzeczy, grając kolorami i poziomem przezroczystości linii .
Jednym z bardzo ładnych i eleganckich rozwiązań jest mapa przepływów . Ta wizualizacja byłaby również bardziej interesująca, jeśli dodasz interaktywność polegającą na najechaniu myszką lub kliknięciu punktu danych i zobaczeniu połączonych punktów danych.
Pozwolę innym rozmawiać z ArcGIS i QGIS, ale polecam wypróbowanie protovis . Jest to specyficzny dla domeny język wizualizacji zbudowany na javascript, więc niektóre z tych wizualizacji powinny być stosunkowo łatwe. Strona Flow Map zawiera kod w Javie, który można przetłumaczyć na inne języki / platformy. Przetłumaczenie kodu mapy przepływu na Protovis prawdopodobnie nie byłoby trudne, chociaż nie próbowałem.
źródło
Dwa narzędzia, które mógłbym zasugerować dla niektórych eksploracji:
Biblioteka Python NetworkX ;
Platforma Gephi , szczególnie z wtyczką GeoLayout .
W obu rozwiązaniach można określić współrzędne geograficzne jako pozycję węzłów i uzyskać ładne reprezentacje przepływu według intensywności i / lub kierunku.
Żadne z tych narzędzi nie oferuje łatwego eksportu do mapy internetowej, ale przy odrobinie włamań prawdopodobnie prawdopodobnie na początku przełożysz wyniki jednego z nich na KML.
źródło
Jay przedstawił wiele sugestii, o których od razu pomyślałem z punktu widzenia wizualizacji. Czy jednak musi to być sieć? W zależności od potrzeb użytkownika i grupowania danych lepszym rozwiązaniem może być pokazanie związków z kodowaniem kolorami, a nie linii.
Moja sugestia: gdy użytkownik kliknie punkt, wszystkie powiązane punkty nasilą się w kolorze / włączają się i wyłączają (podobnie jak wskaźnik uśpienia na śpiącym komputerze Mac) / uzyskują kolorowe aureole. Kliknij ikonę wyłączania lub w innym punkcie, a pierwszy zestaw relacji zostanie wyłączony. Pozbyłoby się to wizualnego bałaganu linii.
Podejrzewam, że to rozwiązanie zadziałałoby najlepiej, jeśli: - istnieje wiele relacji (może wyglądać jak walka ze spaghetti) - punkty są silnie skupione, linie będą mniej widoczne, jeśli punkty są blisko siebie
Czy mógłbyś rozwinąć klastrowanie i ogólną liczbę relacji?
źródło
Odniesienie: SharpMap (projekt opensource dla GIS)
źródło
Tutaj możesz znaleźć informacje na temat linii pożądania.
Na obrazie widać wiele łączy do powiązanych punktów za pomocą wtyczki FlowMapper .
Wiem, że to nie jest pełna odpowiedź na twoje pytanie, ale mam nadzieję, że może w czymś pomóc
źródło
Ostatnio o tym myślałem i natknąłem się na to ...
http://hint.fm/wind/
W moim przypadku patrzę na studentów przenoszących się ze szkół średnich do uniwersytetów, więc pamiętaj, że dzieje się wiele grupowania, a ruch odbywa się tylko w jednym kierunku. Sądzę jednak, że możliwość zobaczenia ruchu w sieci pomogłaby użytkownikom zobaczyć ogólną strukturę.
źródło