Odpowiedz 
 
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 AM
Post: #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
   
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
25-04-2017, 06:25 PM
Post: #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ć).
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
25-04-2017, 11:10 PM
Post: #3
RE: Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
(25-04-2017 06:25 PM)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.
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
30-06-2017, 10:24 PM
Post: #4
RE: Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP
(25-04-2017 10:49 AM)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
Znajdź wszystkie posty użytkownika
Zacytuj ten post w odpowiedzi
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Zdalne wywołanie skryptu łaczenia warstw Sylar 0 1 091 12-01-2017 03:10 PM
Ostatni post: Sylar
  Stylizacja - automatyczny zapis stylów dla wielu warstw Michau 2 2 075 10-10-2016 08:43 PM
Ostatni post: Italiano
  Zlecę pilnie milia2 3 7 960 03-08-2015 10:59 AM
Ostatni post: martel
  menu 'akcje' w formularzu edycji QGIS 2.6 sebaq 0 2 882 05-11-2014 08:56 PM
Ostatni post: sebaq
  Łączenia jeden do wielu tomalos 6 11 472 13-02-2012 08:16 PM
Ostatni post: tomalos
Brick Formularze dla edycji danych Swat 36 59 040 10-02-2012 12:20 PM
Ostatni post: brylu
  zapisywanie się plików projektu w typie plików innym niż dbf mak 3 8 048 28-07-2011 11:54 AM
Ostatni post: mak
  tryb edycji pitt 4 9 127 13-10-2010 09:45 PM
Ostatni post: msieczka

Skocz do: