Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Atlas kontrolowany przez dwie warstwy
02-05-2018, 14:08,
#1
Atlas kontrolowany przez dwie warstwy
Cześć,

Proszę o pomoc. Chciałabym stworzyć atlas kontrolowany przez dwie warstwy. Największy widok mapy jest kontrolowany przez warstwę punktową i to jest ok. Natomiast mam problem z mini mapkami zlokalizowanymi w lewym dolnym rogu (podgląd w załączniku). Chciałabym, aby wyświetlał się wyłącznie dystrykt, na którym znajduje się punkt, a nie cała okolica. Próbowałam filtrować poligony dystryktów przez polecenie $id = $atlasfeatureid, ale wyświetlają się wtedy losowe dystrykty, niekompatybilne z punktami. Możliwe, że problem tkwi w układzie współrzędnych: punkty są w 4326, a poligony w 2180. Nie mogę zmienić ich układu, gdyż w przeciwnym razie warstwy te nie nakładają się na siebie (nie wiem z czego to wynika, ale tak jest). 

Drugi problem dotyczy mapy wszystkich dystryktów. Chciałabym, aby w mapie podglądu wyświetlał się dokładny kontur aktualnego dystryktu, a nie kwadrat obejmujący mniej więcej jego powierzchnię. Czy jest coś takiego możliwe? Zaznaczam, że w mapie wszystkich dystryktów geometria została uproszczona, a w pojedynczych wyświetlanych dystryktach nie. Mimo to nie sądzę, żeby to bardzo wpływało na estetykę dużej mapy, ponieważ jest stosunkowo mała i tego typu szczegóły nie powinny przykuwać wzroku.


Załączone pliki Miniatury
       
02-05-2018, 14:11,
#2
RE: Atlas kontrolowany przez dwie warstwy
Przepraszam, przypadkowo zduplikowałam post. Proszę o usunięcie.
02-05-2018, 16:09,
#3
RE: Atlas kontrolowany przez dwie warstwy
Cześć, odpowiadając na Twoje pytanie:
1. W pierwszej kolejności musisz wiedzieć w jakim dystrykcie leży dany punkt w warstwie punktowej. Możesz do tego wykorzystać narzędzie "Złącz atrybuty według lokalizacji" i w ten sposób opisać warstwę punktową. Dzięki temu warstwa punktowa "zdobędzie" unikalne id danego dystryktu.
2. Następnie należy użyć unikalnego filtrowania w warstwie z dystryktami tak, aby warstwa stylizowała obiekt aktualnego dystryktu zgodnie z Twoim zamierzeniem, czyli:
- włączasz w warstwie z dystryktami styl na wartość unikalną i wpisujesz ręcznie wartości 0 i 1,
[Obrazek: ecc4bcee5fe51fccmed.jpg]
- następnie w pasku wybory kolumny klikasz na wyrażenie i wpisujesz:
[Obrazek: 56872ea96d6825bcmed.jpg]

case when
@atlas_pagename  =    "jpt_nazwa_" 
then 1
else 0
end

gdzie "@atlas_pagename" musi być zdefiniowany jako nazwa Twojego dystryktu a "jpt_nazwa_"  to nazwa kolumny w której znajduje się nazwa dystryktu użytego do nazwania strony atlasu.

Efekt końcowy:

[Obrazek: b604d6ed0b2c6a4cmed.jpg]

Z drugą mapą należy postąpić podobnie.
03-05-2018, 14:18,
#4
RE: Atlas kontrolowany przez dwie warstwy
> Przepraszam, przypadkowo zduplikowałam post. Proszę o usunięcie.

Nie ma problemu, ale dzięki za jasną informację. Post usunięty.
14-05-2018, 11:00,
#5
RE: Atlas kontrolowany przez dwie warstwy
Dziękuję za odpowiedź. Mam jednak nadal problem z tym tematem i chciałabym prosić o dalszą pomoc. Czy na te działania, które opisałeś, mogą mieć wpływ różny układ współrzędnych punktów i dystryktów? Punkty są w 4326, a dystrykty w 2180 i zastanawiam się czy to z tego powodu nie działają prawidłowo opisane przez Ciebie funkcje. Drugie pytanie: czy mogę ręcznie określić numery id dystryktów i również ręcznie dodać kolumnę z id dystryktów do tabeli atrybutów punktów zamiast wykonywać złączenia wg lokalizacji? Ta funkcja również nie działa prawdopodobnie z powodu odmiennych układów współrzędnych.
16-05-2018, 23:02,
#6
RE: Atlas kontrolowany przez dwie warstwy
Odpowiadając na Twoje pytanie dotyczące układów - muszą być w tym samym SRID (odwzorowaniu), inaczej złączenie atrybutów według lokalizacji nie zadziała. Jeżeli chodzi o drugie pytanie dotyczące id - to tak możesz zrobić to ręcznie. Zasada jest taka, że mając dla przykładu teryt gminy wiesz w jakim jest ona powiecie i województwie. Podejrzewam, że Twoje ID dystryktu również może opierać się na podobnej zasadzie. Najmniejszy obiekt danej jednostki ( w moim przykładzie gmina) musi "wiedzieć" o id jednostki nadrzędnej, dzięki temu będzie można wyświetlić ją na mapie. Jeżeli nazwa id jest złożona tak jak w przypadku terytu należy posłużyć się funkcją do fragmentu tekstu "substr()".
22-05-2018, 16:09,
#7
RE: Atlas kontrolowany przez dwie warstwy
Dziękuję za odpowiedź i pomoc, wszystko działa! Pojawił się jednakże kolejny problem. Mianowicie: dystrykty z mini mapki środkują się w obrębie swojego obszaru pod względem położenia punktu. Tzn. nie są wyśrodkowane przez wzgląd na swoje rozmiary i swój centroid, tylko na fakt, w którym miejscu tego dystryktu znajduje się punkt (miejsce na dystrykcie, w którym zlokalizowany jest punkt, znajduje się w środku obszaru przeznaczonego dla mini dystryktu). Widoki poglądowe w załączniku. Psuje to całą estetykę mapy: dystrykty "wędrują" po różnych krańcach swojego obszaru, nieraz się ucinają. Czy jest możliwość wyśrodkowania tych dystryktów z mini mapki przez wzgląd na ich rozmiar/centroid?


Załączone pliki Miniatury
           


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Drukowanie serii map - trochę jak atlas Loozak 4 1 529 09-01-2024, 16:42
Ostatni post: jerresso
  Usuwanie obiektów przez wyrażenie guziec88 1 978 17-12-2023, 22:36
Ostatni post: jerresso
  Przechwyć współrzędne w formacie stosowanym przez Mapy Google Loozak 1 3 076 26-04-2021, 20:35
Ostatni post: jerresso
Video Jak połączyć dwie warstwy wektorowe w jedną kasiekk 2 4 157 22-11-2020, 22:18
Ostatni post: kasiekk
  linia przechodzaca przez srodek bufora pitt 1 3 370 15-04-2020, 21:33
Ostatni post: cinek8910r
  Qgis 3.2 - Atlas - sortowanie stron Konrad 7 15 381 06-08-2018, 12:51
Ostatni post: Konrad
  Atlas - numeracja arkuszy lukasz0830 2 8 979 12-06-2018, 08:11
Ostatni post: lukasz0830
Bug Od danych punktowych przez interpolację do danych dla obszarów onkolog 7 27 641 05-07-2017, 16:51
Ostatni post: Italiano
  problem z atrybutami dla tabel powiązanych przez złącze v.2.18.8 hotlos 1 8 267 29-05-2017, 09:56
Ostatni post: hotlos
  Problem z aktualizacją przez kalkulator pól sebaq 1 10 823 03-01-2015, 00:23
Ostatni post: sebaq

Skocz do: