Mam taki zamysł, aby przedstawić listę połączeń autobusowych na mapie i chciałbym to zrobić w formie linii. Założyłem, że każda warstwa to będzie linia zawierająca w tabeli atrybutów ilość połączeń w dobie. I teraz mam problem bo nie wiem jak zrobić, aby w sytuacji gdzie na mapie nakładają mi się dwie warstwy to na tych konkretnie nakładających się odcinkach liczba połączeń się sumowała na podstawie danych z tabeli atrybutów.
Czy może ktoś podrzucić rozwiązanie mojego problemu??
Ciężko powiedzieć bez wglądu w dane.
Teoretycznie musisz zacząć od podzielenia linii na odcinki bazując na sieci przystanków.
Potem analizujesz poszczególne odcinki pomiędzy przystankami.
Jeżeli fragmenty linii, leżące na sobie są identyczne, możesz wrzucić wszystko na 1 warstwę, usunąć duble i potem np. znaleźć środek takich odcinków, w ich miejscu dać mały bufor.
Tak otrzymaną warstwę poligonową przecinasz z poszczególnymi warstwami linii (pociętymi) i sumujesz wyniki łącząc po id z warstwy poligonowej.
Jeżeli fragmenty linii pomiędzy tymi samymi przystankami nie są współliniowe sprawa się nieco komplikuje, bo musisz wyeliminować duble.
Możesz w tym celu tym stworzonym środkom odcinków nadać id przystanku startowego i końcowego i pozbyć się dubli zostawiając 1 poligon z jedną kombinacją id_startowe id_końcowe.
Bufor dobierasz tak, żeby wyeliminować nie dokładność danych (co może także prowadzić do błędów).
Jak napisałem na początku wszystko zależy od danych.
A może jest jakieś mniej skomplikowane rozwiązanie? Może da się coś w stylach poustawiać, aby uzyskać oczekiwany efekt? Poniżej mapka na której pracuje
Poniżej w otoczce zaznaczyłem miejsce gdzie nakładają się trzy linie. Chciałbym, aby szerokość w tym miejscu była sumą trzech wartości z tabeli atrybutów (są to wartości różne dla każdej lini). Sama szerokość lini jest zrobiona za pomocą formuły - if( "Natezenie" / 30 <= 0.2, 0.2 , "Natezenie" / 30)
A tutaj tabela atrybutów, aby zobrazować jak to wygląda.
![[Obrazek: 4723870fdf66.png]](https://naforum.zapodaj.net/thumbs/4723870fdf66.png)