Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
25-04-2017, 10:49,
#1
Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
Witam,

Potrzebuję zedytować dość sporą ilość danych na potrzeby projektu, który robię w wolnym czasie.
Manualna edycja sporej ilości plików jest dość czasochłonna i często kończy się zawieszeniem programu ze względu na dość sporą ilość danych.

Co powinna robić wtyczka/skrypt:

Powinna szukac plikow SHP w podanej lokalizacji (folder) i analizowac tresc w oparciu o atrybuty FCLASS. W zaleznosci od jego nazwy usuwac obiekt, lub zmieniac opis pola NAME.

Przykladowo zalaczam plik z danymi i otwarta tabele atrubutow (screen) w programie.

W tym wypadku chcialbym aby usunite zostaly obiekty, ktorych
FCLASS =
teritary
service
footway
living_street
track
pedestrian

Pozostale primary,secondary,motorway itd. powinny miec NAME = {698E20FC-1C69-4876-AF34-A6E9F531CCA5}.

Chciałbym też, aby w zależności od atrybutu FCLASS była możliwość zrobienia z polygonu samych LINE po jego krawędziach.

Załączam też próbkę plików.
https://www.sendspace.com/file/wzhj39

Wynagrodzenie i szczegóły do ustalenia na priv.

Pozdrawiam,
Mateusz


Załączone pliki Miniatury
   
25-04-2017, 18:25,
#2
RE: Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
Nie wiem jak zrobić taki skrypt/wtyczkę, ale może po prostu połączyć te .shp w jeden i potem:
1. Zaznaczyć wyrażeniem
Kod:
( "fclass"  IN  'teritary'  , 'service' , 'footway'  , 'living_street' , 'track' , 'pedestrian')
. Alternatywnie z narzędzi geoporocesingu select by expression i to samo zapytanie w trybie wsadowym.
2. Usunąć zaznaczone obiekty.
3. I teraz w zależności od tego co masz na myśli
A) Jeżeli NAME każdego pozostałego obiektu ma być {698E20FC-1C69-4876-AF34-A6E9F531CCA5} to w kalkulatorze pól aktualizujesz pole NAME i w formule wpisujesz
Kod:
'{698E20FC-1C69-4876-AF34-A6E9F531CCA5}'
B) Jeżeli NAME każdego pozostałego obiektu ma być unikalny GUID to w kalkulatorze pól aktualizujesz pole NAME i w formule wpisujesz
Kod:
uuid()
C) Jeżeli NAME wybranych obiektów ma zostać zmienione to w kalkulatorze pól aktualizujesz pole NAME i w formule wpisujesz
Kod:
CASE WHEN  "fclass" IN ('primary' , 'secondary' , 'motorway' ) THEN (tutaj wstaw kod z przypadku A lub B) END

O co chodzi ze zrobieniem z poligonów linii to za bardzo nie rozumiem, w przykładzie są same linie. Jak masz też warstwę poligonową i tylko niektóre z obiektów mają zostać zapisane jako linie to pożądane obiekty zaznaczasz wyrażeniem, zapisujesz do nowej warstwy i zmieniasz na linie. Jak masz tych warstw więcej to masz dwa wyjścia (jak i wcześniej): albo łączysz warstwy w jedną albo korzystaj z narzędzi geoprocesingu i używaj "Uruchom w trybie wsadowym" (zaznaczenie wyrażeniem, zapisywanie zaznaczonych i zamiana poligonów na linie można tak uruchomić).
25-04-2017, 23:10,
#3
RE: Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
(25-04-2017, 18:25)tomalos napisał(a):
Kod:
( "fclass"  IN  'teritary'  , 'service' , 'footway'  , 'living_street' , 'track' , 'pedestrian')

...albo po prostu PRAWYM NA KOMASOWANĄ SHAPĘ => FILTER po czym:

"fclass" NOT IN ('teritary' , 'service' , 'footway' , 'living_street' , 'track' , 'pedestrian')

a zostaną same "dobre" obiekty.
30-06-2017, 22:24,
#4
RE: Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
(25-04-2017, 10:49)Matteusz napisał(a): Witam,

Potrzebuję zedytować dość sporą ilość danych na potrzeby projektu, który robię w wolnym czasie.
Manualna edycja sporej ilości plików jest dość czasochłonna i często kończy się zawieszeniem programu ze względu na dość sporą ilość danych.

Co powinna robić wtyczka/skrypt:

Powinna szukac plikow SHP w podanej lokalizacji (folder) i analizowac tresc w oparciu o atrybuty FCLASS. W zaleznosci od jego nazwy usuwac obiekt, lub zmieniac opis pola NAME.

Przykladowo zalaczam plik z danymi i otwarta tabele atrubutow (screen) w programie.

W tym wypadku chcialbym aby usunite zostaly obiekty, ktorych
FCLASS =
teritary
service
footway
living_street
track
pedestrian

Pozostale primary,secondary,motorway itd. powinny miec NAME = {698E20FC-1C69-4876-AF34-A6E9F531CCA5}.

Chciałbym też, aby w zależności od atrybutu FCLASS była możliwość zrobienia z polygonu samych LINE po jego krawędziach.

Załączam też próbkę plików.
https://www.sendspace.com/file/wzhj39

Wynagrodzenie i szczegóły do ustalenia na priv.

Pozdrawiam,
Mateusz

Cześć, domyślam się, że dane które chcesz przetworzyć to OSM. Mogę napisać taką wtyczkę. Jeżeli jesteś zainteresowany to napisz na PW. Adrian


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Zdalne wywołanie skryptu łaczenia warstw Sylar 0 2 020 12-01-2017, 15:10
Ostatni post: Sylar
  Stylizacja - automatyczny zapis stylów dla wielu warstw Michau 2 3 785 10-10-2016, 20:43
Ostatni post: Italiano
  Zlecę pilnie milia2 3 9 867 03-08-2015, 10:59
Ostatni post: martel
  menu 'akcje' w formularzu edycji QGIS 2.6 sebaq 0 3 732 05-11-2014, 20:56
Ostatni post: sebaq
  łączenie plików shp (merge shp) Bles 1 6 347 19-02-2013, 14:31
Ostatni post: borys
  Łączenia jeden do wielu tomalos 6 14 612 13-02-2012, 20:16
Ostatni post: tomalos
Brick Formularze dla edycji danych Swat 36 80 329 10-02-2012, 12:20
Ostatni post: brylu
  zapisywanie się plików projektu w typie plików innym niż dbf mak 3 10 076 28-07-2011, 11:54
Ostatni post: mak
  VRT dla różnych kolorystycznie plików vansen 8 16 521 04-07-2011, 07:57
Ostatni post: vansen
  tryb edycji pitt 4 11 622 13-10-2010, 21:45
Ostatni post: msieczka

Skocz do: