Forum QGIS

Pełna wersja: Mapa czasowa (zmian w czasie)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Mam pewną zagwozdkę.
Otóż chciałbym utworzyć mapę mapę na której mógłbym w łatwy sposób prezentować okresy realizacji inwestycji w czasie.

Założenie jest takie, że poszczególne odcinki są realizowane w różnym czasie. Chce aby na podstawie danych w tabeli atrybutów można było wyświetlać odcinki realizowane w określonym czasie.

Zastanawiam się jak do tego podejść. Pomyślałem że a tabeli atrybutu, wprowadzę dwie tabele tj. data początkowa i data końcowa.

Czy byłaby wtedy jakaś opcja (np. filtrem) żeby wyświetlić na mapie tylko te odcinki, które będą realizowane danego dnia lub w danym okresie.

thx from mountain
Możesz tak właśnie zrobić.

Jeśli masz jakieś w miarę sztywne okresy, to możesz wykorzystać tylko jedno pole i ponumerować sobie te okresy. Wtedy tylko filtrujesz po tym polu.
Do takich wizualizacji służy wtyczka Time Manager. O ile dobrze pamiętam, daty początkowe i końcowe muszą być zapisane w formacie rok-miesiąc-dzień (zamiast myślnika może być ciach lub kropka). Więcej na stronie https://github.com/anitagraser/TimeManager
(23-08-2017, 07:38)Binko napisał(a): [ -> ]Jeśli masz jakieś w miarę sztywne okresy, to możesz wykorzystać tylko jedno pole i ponumerować sobie te okresy. Wtedy tylko filtrujesz po tym polu.

OK, niestety sprawa jest o tyle skomplikowana, że te odcinki mają bardzo różne okresy realizacji. Do tego, żeby było ciekawiej, harmonogram będzie się często zmieniał. W związku z tym chcę stworzyć taką bazę danych, którą udałoby się łatwo powiązać z harmonogramem.

Harmonogram przygotowuję w tabeli .xls. Każdemu odcinkowi (np. danej ulicy do przebudowy) przypisuję oprócz daty początkowej i końcowej również indywidualny identyfikator (liczbowy, lub literowy). Taki sam identyfikator przypisałbym w tabeli atrybutów każdemu elementowi z pliku wektorowego, który należy do danego odcinka. W ten sposób, na podstawie tego pola, mógłbym łączyć tabele z plików .shp i .xls.

Tylko pytanie jest takie, czy jeżeli w arkuszu .xls będzie się znajdował jeden wiersz o identyfikatorze "x" (dalej: id="x") to czy, mając w pliku .shp kilka obiektów o tym samym identyfikatorze, przy łączeniu danych, terminy dla wiersza z id="x" z .xls zostaną przypisane do wszystkich obiektów o id="x" w .shp czy tylko do jednego?

Wtedy załatwione miałbym wybieranie tego co chciałbym wyświetlać na mojej mapie i w miarę automatycznego uaktualniania danych.

Co Wy na to?

Druga istotna rzecz dla mnie to taka, jak usprawnić sobie przygotowywanie samych map dla różnych okresów realizacji. Np. załóżmy, że projekt trwa 3 lata. W każdym roku trwają prace na innych odcinkach ulic w całym mieście. I teraz jak sporządzić mapę pokazującą zakres prac prowadzonych w danym roku, bez konieczności tworzenia osobnych projektów. Z tego co ja wiem, tworząc projekty wydruków dla kolejnych lat, musiałbym za każdym razem zmieniać coś w projekcie, t.zn. przynajmniej stosować inny filtr czasowy i eksportować za każdym razem dany wydruk do pliku finalnego (graficznego lub PDF).

Proszę o wszelkie sugestie

(23-08-2017, 13:00)borys napisał(a): [ -> ]Do takich wizualizacji służy wtyczka Time Manager. O ile dobrze pamiętam, daty początkowe i końcowe muszą być zapisane w formacie rok-miesiąc-dzień (zamiast myślnika może być ciach lub kropka). Więcej na stronie https://github.com/anitagraser/TimeManager

OK dzięki, na pewno spróbuję również tej opcji. Zobaczymy co się sprawdzi lepiej.
(23-08-2017, 13:36)adm_safka napisał(a): [ -> ]Tylko pytanie jest takie, czy jeżeli w arkuszu .xls będzie się znajdował jeden wiersz o identyfikatorze "x" (dalej: id="x") to czy, mając w pliku .shp kilka obiektów o tym samym identyfikatorze, przy łączeniu danych, terminy dla wiersza z id="x" z .xls zostaną przypisane do wszystkich obiektów o id="x" w .shp czy tylko do jednego?

Do wszystkich.

(23-08-2017, 13:36)adm_safka napisał(a): [ -> ]Druga istotna rzecz dla mnie to taka, jak usprawnić sobie przygotowywanie samych map dla różnych okresów realizacji. Np. załóżmy, że projekt trwa 3 lata. W każdym roku trwają prace na innych odcinkach ulic w całym mieście. I teraz jak sporządzić mapę pokazującą zakres prac prowadzonych w danym roku, bez konieczności tworzenia osobnych projektów. Z tego co ja wiem, tworząc projekty wydruków dla kolejnych lat, musiałbym za każdym razem zmieniać coś w projekcie, t.zn. przynajmniej stosować inny filtr czasowy i eksportować za każdym razem dany wydruk do pliku finalnego (graficznego lub PDF).

W wydrukach jest funkcja Atlas, umożliwiająca wygenerowanie serii wydruków dla obiektów z wybranej warstwy. W Twoim wypadku należałoby stworzyć warstwę poligonową z trzema obszarami dla każdego roku (mogą się dokładnie pokrywać i różnić jedynie atrybutem "rok"). Niech będą niewidoczne, będą tylko sterować zasięgiem wydruku. Wtedy QGIS wygeneruje trzy arkusze, ustawiając dla każdego zmienną @atlas_feature na odpowiedni prostokąt. Pozostaje tylko nadać odcinkom dróg atrybut "rok" i ustalić style wyświetlania tak, by były widoczne tylko wtedy, gdy:
Kod:
attribute(@atlas_feature, 'rok') == "rok"
To tak z pamięci, może da się jeszcze uprościć, ale chyba nie.