Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
kilka warstw liniowych w jedną
10-03-2011, 15:20,
#1
kilka warstw liniowych w jedną
czeŚĆ,
powitanie Wszystkim razem i Każdemu z osobna.

Jestem w trakcie przesiadki na Quantum GIS.
W chwili obecnej mam dane w postaci plików wektorowych
(MicroStation) z projektu w trakcie robienia,
które chciałbym jak najprościej zaimportować i "skleić" do qGIS.
Pojawił się problem w postaci danych liniowych...


Dane wejściowe:
- dwie warstwy liniowe;
- obiekty składają się z pojednynczych odcinków;
- istnieją odcinki występujące tylko na jednej z warstw;
- istnieją odcinki występujące na obu warstwach - wtedy punkty;
ich końców są identyczne, odcinki linii się pokrywają,
możliwe jest, że mają rózne "kierunki" rysowania.

Oczekiwane dane wyjściowe:
- niepowtarzające się odcinki z obu warstw ze wszystkimi
atrybutami (jak przy operacji logicznej OR).

Dostępne narzędzia testuję za pomocą dwóch warstw liniowych
na których narysowane mam po trzy odcinki (kształt //) z atrybutami:

warstwa 1:
wkt_geom pierwsza
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 1-1
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 1-2
LINESTRING(0.044458 0.693026, 0.504732 0.133375) 1-3
LINESTRING(-2.107624 1.544163, -1.048320 1.307378) 1-5

warstwa 2:
wkt_geom druga
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 2-1
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 2-2
LINESTRING(0.044458 0.693026, 0.504732 0.133375) 2-3
LINESTRING(-2.363104 1.126673, -1.771139 -0.038562) 2-5

Obiekty 1-5 i 2-5 występują na jednej z warstw
i nie mają odpowiedników na drugiej.

Oczekiwana warstwa wynikowa:

wkt_geom pierwsza druga
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 1-1 2-1
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 1-2 2-2
LINESTRING(0.044458 0.693026, 0.504732 0.133375) 1-3 2-3
LINESTRING(-2.107624 1.544163, -1.048320 1.307378) 1-5 NULL
LINESTRING(-2.363104 1.126673, -1.771139 -0.038562) NULL 2-5


Czego już próbowałem (i z jakim skutkiem):


WEKTOR | NARZĘDZIA ZARZĄDZANIA DANYMI | ZŁĄCZ ATRYBUTY WEDŁUG LOKALIZACJI
wkt_geom pierwsza druga
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 1-1 2-1
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 1-2 2-1
LINESTRING(0.044458 0.693026, 0.504732 0.133375) 1-3 2-2

Nie mam pomysłu z czego wynika dwukrotne podpięcie
wartości 2-1 z jednoczesnym pominięciem 2-3.

Pominięte zostały też linie występujące tylko na jednej z warstw.
Sprawdziłem, że wynik jest _niezależny_ od kierunku rysowania odcinków
(tzn. czy obydwa są rysowane w tę samą stronę, czy też każdy w inną).



WEKTOR | NARZĘDZIA GEOPROCESINGU | SUMA
wkt_geom pierwsza druga
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 1-1 2-1
LINESTRING(-0.806787 0.673412, -0.377895 0.142528) 1-1 NULL
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 1-2 2-2
LINESTRING(-0.377895 0.142528, 0.044458 0.693026) 1-2 NULL
LINESTRING(0.044458 0.693026, 0.504732 0.133375) 1-3 2-3
LINESTRING(-2.107624 1.544163, -1.048320 1.307378) 1-5 NULL
LINESTRING(-2.363104 1.126673, -1.771139 -0.038562) NULL 2-5


Tym razem dostałem oczekiwane pola, ale z niezrozumiałym
bonusem w postaci dubli obiektów 1-1 I 1-2 z polami "NULL".
Niestety identyczny wynik (pole z wartościę "NULL") uzyskujemy
dla linii występującej tylko na jednej z warstw, więc sposób
też nie do końca spełnia warunki zadania.


Jakieś inne pomysły? :o)

Od razu: warstw jest kilka (do złożenia w jedną), obiektów na nich wiele.
Przerabianie danych ręcznie niezbyt mi się uśmiecha.
(> - - ^.^_,
14-03-2011, 11:20,
#2
RE: kilka warstw liniowych w jedną
Hmm ja bym to wrzucił do jakiejkolwiek bazy danych (nawet SpatiaLite) i jej funkcjami to obrobił.
14-03-2011, 11:55,
#3
RE: kilka warstw liniowych w jedną
(14-03-2011, 11:20)borys napisał(a): Hmm ja bym to wrzucił do jakiejkolwiek bazy danych (nawet SpatiaLite) i jej funkcjami to obrobił.

To ja poproszę jakąś szerszą odpowiedź jak to zrobić :o)
(> - - ^.^_,


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  wypełnienie kolumny w tabeli w SHP jedną wartością krzysiek1990rtk 1 366 27-09-2019, 11:19
Ostatni post: [wiki]
  ręczne przesuwanie obiektów/warstw liniowych stellatus 11 17 688 28-03-2017, 10:00
Ostatni post: stellatus
  kalkulator pól kilka warunków Magda 16 39 329 19-12-2014, 14:35
Ostatni post: martel
  Kilka okien mapy martel 3 11 094 15-10-2013, 22:39
Ostatni post: borys
  połączyć wiele/kilka poligonów w jeden diunida 5 28 520 27-02-2013, 13:30
Ostatni post: borys
Big Grin QGis API - kilka pytań początkującego gregsa 7 23 752 22-02-2013, 17:50
Ostatni post: borys
  kilka typów na jednej warstwie [wiki] 13 41 916 29-02-2012, 12:43
Ostatni post: Rayo
  Jedna warstwa różne style zebro 7 20 379 30-12-2011, 00:21
Ostatni post: maciek

Skocz do: