Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Operacje na danych tekstowych
17-04-2015, 22:08,
#1
Operacje na danych tekstowych
Mam pewien problem dotyczący danych tekstowych. W tabeli atrybutów mam kolumnę zawierającą numery działek zgodne z TERYTem dla województwa. pierwszych kilkanaście znaków zawiera numer województwa, powiatu, gminy, rodzaj gminy, numer obrębu. To są wartości które mają stałą liczbę znaków. Dalej jest numer działki. I tu pojawia się problem, ponieważ numer działki jest czasem poprzedzony innym tekstem. Wygląda to tak:
przykładowe działki zapisane standardowo:
140704_2.0004.175/1
140704_2.0004.29/1
140704_2.0004.198
przykładowe działki zapisane niestandardowo:
140704_2.0003.AR_22.257/1
140704_2.0003.AR_3.128
140704_2.0003.AR_2.224

Potrzebuję do oddzielnej kolumny wyciągnąć tekst zaczynający się od "AR" do kropki. Problem polega na tym, że ten tekst może mieć 4 bądź 5 znaków długości. Próbowałem w kalkulatorze pól zastosować coś takiego:

CASE
WHEN regexp_match( "nazwa kolumny teryt" , 'AR') =1
THEN substr( "nazwa kolumny teryt", 15, strpos( "nazwa kolumny teryt", '.',15)-15)
ELSE 'brak'
END

Niestety w QGIS prawdopodobnie funkcja strpos nie może zawierać trzeciego argumentu oznaczającego numer znaku od którego ma zacząć przeszukiwanie. Może ktoś z Was ma jakiś pomysł?...
18-04-2015, 07:14, (Ten post był ostatnio modyfikowany: 18-04-2015, 07:16 {2} przez [wiki].)
#2
RE: Operacje na danych tekstowych
Najszybsza wersja (taka na rympał troszkę) - edytor tekstowy i zamiana ciągu '.' na tab'.
Wtedy dostaniesz osobnych kilka kolumn z poszczególnymi wartościami.

Kopiujesz kolumnę z identyfikatorami działek 2x (bo po czymś trzeba plik wgrać z powrotem do bazy).
Kopiujesz tabelę do edytora (funkcją 'kopiuj do excela').
Obrabiasz jak potrzeba.
uwaga: jeżeli edytujesz numery działek w excelu to zwracaj uwagę na format nowej kolumny, drań lubi nieodwracalnie podmieniać niektóre numery działek na daty.
Podpinasz tabelę po polu z pełnym identyfikatorem działki.
(> - - ^.^_,
18-04-2015, 09:10,
#3
RE: Operacje na danych tekstowych
Akcja z zewnętrznymi edytorami raczej odpada bo w sumie mam ponad 4 000 000 rekordów Smile Na próbce danych zrobiłem sobie to funkcjami w excelu i wszystko działa. Niestety excel ma ograniczenie co do ilości rekordów w pliku (chyba kilkadziesiąt tysięcy) więc teraz musiałbym pociąć tego dbfa na nie wiem ile części, wyciągnąć co potrzeba i skleić wszystko z powrotemSmile Dlatego pomyślałem o kalkulatorze pól.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Import notatek tekstowych z DWG/DXF acipak 1 431 12-10-2018, 14:40
Ostatni post: xmaziax
Bug Od danych punktowych przez interpolację do danych dla obszarów onkolog 7 9 623 05-07-2017, 16:51
Ostatni post: Italiano
  [błąd] kalkulator pól: błąd przy polach tekstowych 1.8.0 [wiki] 7 19 678 09-03-2013, 21:21
Ostatni post: [wiki]
  Operacje geometryczne gregsa 3 8 801 30-08-2011, 15:23
Ostatni post: gregsa
  Zmień kształt obiektu i inne operacje arkads 0 5 063 05-01-2011, 21:31
Ostatni post: arkads

Skocz do: