Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Sumowanie atrybutów w nakładających się warstwach
29-05-2023, 12:01,
#1
Sumowanie atrybutów w nakładających się warstwach
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??
29-05-2023, 20:18,
#2
RE: Sumowanie atrybutów w nakładających się warstwach
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.
01-06-2023, 22:48,
#3
RE: Sumowanie atrybutów w nakładających się warstwach
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
[Obrazek: e5543f46a999.png]

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)

[Obrazek: 04f706ae90fc.png]

A tutaj tabela atrybutów, aby zobrazować jak to wygląda.

[Obrazek: 4723870fdf66.png]


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  problem z wyśwetlaniem obiektu przy nakładających się poligonach zuzia 3 7 566 22-09-2021, 13:50
Ostatni post: robert
  Powielenie zaznaczenia w innych warstwach magdalen_r 2 3 474 26-11-2020, 08:12
Ostatni post: magdalen_r

Skocz do: