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
  Tworzenie wielu rekordów jednocześnie wojkol1 3 505 09-07-2019, 15:39
Ostatni post: xmaziax
  Zdalne wywołanie skryptu łaczenia warstw Sylar 0 3 235 12-01-2017, 15:10
Ostatni post: Sylar
  Stylizacja - automatyczny zapis stylów dla wielu warstw Michau 2 6 254 10-10-2016, 20:43
Ostatni post: Italiano
  Zlecę pilnie milia2 3 12 434 03-08-2015, 10:59
Ostatni post: martel
  menu 'akcje' w formularzu edycji QGIS 2.6 sebaq 0 5 026 05-11-2014, 20:56
Ostatni post: sebaq
  łączenie plików shp (merge shp) Bles 1 8 778 19-02-2013, 14:31
Ostatni post: borys
  Łączenia jeden do wielu tomalos 6 19 171 13-02-2012, 20:16
Ostatni post: tomalos
Brick Formularze dla edycji danych Swat 36 104 297 10-02-2012, 12:20
Ostatni post: brylu
  zapisywanie się plików projektu w typie plików innym niż dbf mak 3 12 940 28-07-2011, 11:54
Ostatni post: mak
  VRT dla różnych kolorystycznie plików vansen 8 22 374 04-07-2011, 07:57
Ostatni post: vansen

Skocz do: