14. Analiza przestrzenna 2: Analiza pokrycia terenu obszaru wiejskiego
W ćwiczeniu przedstawionych zostanie kilka praktycznych aplikacji z wybranych
operacji na warstwach wektorowych. Wykonane zostaną analizy krajobrazowe w odniesieniu
do waloryzacji turystycznej przydatności obszaru. Wykonanie tych analiz w środowisku
systemów informacji przestrzennej zawierać będzie się w pięciu podrozdziałach:
wstępne sprawdzenie źródeł danych do analiz (8.1),
przecinanie się (intersecting) dwóch warstw poligonowych (8.2),
obliczanie procentowego udziału kategorii użytkowania terenu dla analizowanych
komórek siatki (8.3),
łączenie danych atrybutowych w postaci ostatecznej tabeli wyników (8.4),
przecinanie się (intersecting) warstw wektorów liniowych i poligonowych (8.5).
Aby sprawdzić rozumienie głównych aspektów tego ćwiczenia, użyj pytań
przeglądowych znajdujących się w podrozdziale (8.6).
Stwórz nowy plik projektowy i nazwij go Cwiczenie14_InięNazwisko. Potrzebujesz
czterech warstw wektorowych z SIP_wstep.rvc. Dwie warstwy wektorowe będą służyły jako
dane wejściowe (input data). Dwie kolejne to nadzędzia potrzebne do nanaliz w SIP.
dane wejściowe (input data) obiektów wektorowych:
topo25 landuse
(z folderu landcover)
contour25
(z folderu topography)
=> kopiuj do nowego folderu input_data w nowym pliku projektowym;
narzędzia do analiz:
grid / grid_diagonal (z folderu analysis_tools)
=> kopiuj cały folder do nowego pliku projektowego.
14.1Wyświetlanie źródeł danych wektorowych i tabel
Przed rozpoczęciem kompleksowego zadania w SIP, zawsze należy przejrzeć źródła
danych (warstwy danych i tabele), z których będziemy korzystać.
Uruchom moduł
D
ISPLAY
i wyświetl warstwę topo25_landuse. Aktywuj szczegóły
poligonowego obiektu wektorowego, aby przejrzeć tabele.
Otwórz tabelę landuse i używając myszy, wybierz kilka poligonów. Zauważ jakie
określone wiersze zostały wyświetlone w tabeli. Po zakończeniu, zamknij tabelę i usuń
warstwę z
D
ISPLAY
M
ANAGER
.
Następnie otwórz warstwę contour25. Sprawdź szczegóły obiektu wektorowego, aby
zobaczyć, które tabele są połączone z danymi wektorowymi. Po zakończeniu, zamknij tabelę i
usuń warstę z
DISPLAY GROUP
.
Otwórz warstwę grid z folderu analysis_tools. Ponownie wyświetl szczegóły elementów
wektorowych. Otwórz tabelę cellnumber, aby sprawdzić, jakie informacje zostały tam
zgromadzone dla różnych poligonów.
Zadanie 14-1: Wpisz odpowiedni numer każdej komórki na poniższym rysunku!
Zamknij tabelę i usuń warstwę z
DISPLAY GROUP
.
Na koniec wyświetl warstwę grid_diagonal z folderu analysis_tools. Jest to specjalna
siatka z przekątnymi w każdej komórce. Konstrukcja ta pomoże w analizowaniu danych o
terenie (zobacz część 14.5).
Aktywuj szczegóły elementów wektorowych i otwórz dwie tabele cellnumber i line_type.
Używając trybu
S
ELECT
kliknij na niebieską linię w warstwie wektorowej.
Pytanie 14-1: Jakie informacje atrybutowe występują w tabeli line_type dla linii
niebieskich?
___________
Pytanie 14-2: Jakie informacje atrybutowe występują w tabeli line_type dla linii
czerwonych?
___________
Po zapoznaniu się z opisem warstwy wektorowej, zamknij
D
ISPLAY
M
ANAGER
i rozpocznij
analizy przestrzenne.
14.2Łączenie warstw wektorowych w celu analiz pokrycia terenu
Połączysz (combine) teraz dwie pierwsze warstwy i dokonasz analizy wyników dla
rodzaju użytkowania terenu forest i water. Aby rozpocząć proces łączenia wektorów, użyj
G
EOMETRIC
/
C
OMBINE
...
W oknie
V
ECTOR
C
OMBINATIONS
wybierz
U
NION
(OR)
jako
O
PERATION
, warstwę landuse jako
S
OURCE
i warstwę grid jako
O
PERATOR
. Aktywuj trzy opcje w dolnej części okna (
R
EMOVE
U
NATTACHED
R
ECORDS
,
R
EMOVE
D
UPLICATE
R
ECORDS
, and
O
PTIMIZE VECTOR WHEN SAVING
). Następnie
kliknij <
R
UN
...
> i zapisz wyniki w nowym folderze w pliku projektowym. Nazwij folder
results i użyj landuseORgrid jako nazwy i opisu nowego obiektu wektorowego.
Opuść okno
V
ECTOR
C
OMBINATIONS
i wyświetl nową warstwę.
Pytanie 14-3: Ile poligonów zawiera nowa warstwa?
_______
W oknie
V
ECTOR
L
AYER
C
ONTROLS
przejdź do zakładki
L
INES
tab i ustaw
S
ELECT
na
A
LL
.
Zanim zamkniesz okno
V
ECTOR
L
AYER
C
ONTROLS
sprawdź jakie zmiany zaszły w obrębie
wyświetlonych warstw.
Otwórz teraz trzy tabele dla elementów poligonu. W oknie
D
ISPLAY
aktywuj tryb
S
ELECT
i
kliknij na kilka poligonów. Zobacz, które wiersze są aktywne w każdej z tabel.
Pytanie 14-4: Ile wierszy znajduje się w trzech tabelach?
POLYSTATS: ______ / cellnumber: ______ / landuse: ______
Po zapoznaniu się ze strukturą tabel z wierszami danych, zamknij wszystkie tabele.
Pozostałe okna zostaw otwarte.
14.3Obliczanie udziału procentowego kategorii użytkowania terenu
Stworzysz teraz tabelę do analiz oceny użytkowania terenu, np. obliczania procentowego
udziału wody i lasu dla każdej komórki siatki. Najpierw stwórz podstwową tabelę, która
zawierać będzie numer komórki, informację o użytkowaniu terenu i powierzchnię poligonów
w hektarach.
W oknie
D
ISPLAY
M
ANAGER
kliknij prawym przyciskiem myszy na poligonowy obiekt
wektorowy i wybierz
N
EW
T
ABLE
. Nazwij ją result_landuse i kliknij na <
N
EXT
>. Wybierz
O
NE
RECORD PER ELEMENT
,
RECORD NUMBER EQUALS ELEMENT NUMBER
. Aby stworzyć tabelę kliknij 2x
<
N
EXT
>.
Dodaj nowe pole i nazwij je cell_id. Wybierz
C
OMPUTED
dla
F
IELD
T
YPE
i kliknij na
E
DIT
E
XPRESSION
...
. W menu użyj
I
NSERT
/
F
IELD
...
,
aby wybrać
numer pola
z tabeli cellnumber. Kliknij
na
I
NSERT
i zamknij okno
I
NSERT
F
IELD
. W oknie
Q
UERY
E
DITOR
powinien znajdować się zapis
cellnumber.number. Aby zamknąć okno kliknij <
OK
>.
Dodaj drugie pole i nazwij je landuse. Użyj
S
TRING
E
XPRESSION
dla
F
IELD
T
YPE
. Wprowadź
pole landuse z tabeli landuse, w taki sam sposób jak poprzednio.
Dodaj trzecie pole i nawij je area_ha. Ustaw
F
IELD
T
YPE
na
C
OMPUTED
i zmień
P
LACES
na 2.
Kliknij na <
E
DIT
E
XPRESSION
...
> i wprowadź pole Area z tabeli PolyStats. Aby przeliczyć metry
kwadratowe na hektary, dodaj wyrażenie „/10000”. W oknie
Q
UERY
E
DITOR
wyrażenie powinno
wyglądać tak:
PolyStats.Area/10000
Zamknij okno definiowania tabeli
N
EW
T
ABLE
i zajrzyj do nowo stworzonej tabeli.
Kliknij na
V
IEW
A
LL
R
ECORDS
. Jeśli w kolumnie area_ha wartości nie posiadają miejsc po
przecinku, prawym przyciskiem myszy kliknij na nazwę kolumny i wybierz opcję
F
IELD
O
PTIONS
...
. Zmień
D
ECIMAL
P
LACES
na 2.
Została stworzona podstawowa tabela. Zawiera ona, dla każdego poligonu w nowej
warstwie, informacje takie jak: numer komórki, informację o użytkowaniu terenu i
powierzchnię w hektarach.
Obliczysz teraz całkowitą powierzchnię lasów i wód dla każdej komórki analizowanej
siatki. Wyniki zapiszesz w nowej tabeli przypisanej do tej samej analizowanej warstwy grid.
Najpierw stworzysz tabelę do eksportowania danych o lesie, a następnie powtórzysz ten
proces dla informacji o wodach.
Aby przygotować tabelę do eksportowania danych należy: otworzyć tabelę
result_landuse, użyć
T
ABLE
/
S
UBSTATISTICS
i aktywowac opcję
S
UM
. Użyj
T
ABLE
/
C
OLORS
...
i
aktywuj opcję
S
TATISTIC
R
OW
C
OLORS
. Zamknij okno
T
ABLE
C
OLORS
klikając <
OK
>.
Aby uzyskać dostęp do danych o lesie, kliknij prawym przyciskiem myszy na
poligonowy obiekt wektorowy w oknie
D
ISPLAY
M
ANAGER
. Z menu wybierz
M
ARK BY
Q
UERY
...
. W
oknie
S
ELECT BY
Q
UERY
wpisz wyrażenie:
landuse.landuse=='forest'
Następnie kliknij na
A
PPLY
(nie zamykaj okna!) i sprawdź efekty w oknie
D
ISPLAY
V
IEW
,
a
także w nowej tabeli.
W nowej tabeli kliknij na ikonę
V
IEW
M
ARKED
E
LEMENT
R
ECORDS
. Następnie również w
nowej tabeli, kliknij prawym przyciskiem myszy na pole cell_id i wybierz
S
ORT ON THIS FIELD
.
W ten sposób rozpoczniesz przeliczanie danych dla każdej komórki.
Pierwszą informacją, w każdej barwnej linii jest suma hektarów lasu dla każdej komórki
analizowanej siatki.
Zanim zaczniesz dalsze analizy, zapiszesz wyniki dotyczące analizowanej siatki. W
nowej tabeli użyj
T
ABLE
/
S
AVE
A
S
...
wykonaj następujące ustawiania:
F
ORMAT
: RVC
R
ECORDS
: R
ECORDS
A
TTACHED TO
M
ARKED
E
LEMENTS
V
ALUES
:
S
UM
U
NITS
:
A
S
S
HOWN
.
Następnie naciśnij <
OK
>. Wybierz warstwę grid z folderu analysis tools. Następnie w
oknie
S
ELECT
kliknij na
P
OLYGON
i wciśnij <
OK
>. Zapisując tabelę z danymi do eksportowania,
nazwij ją forest_sum. Dane dotyczące analiz lasu będą teraz zapisane w innej warstwie
wektorowej.
Przejdź do okna
S
ELECT
BY
Q
UERY
window i zmień pytanie (query) na:
landuse.landuse=='lake'.
Kliknij na
A
PPLY
i zauważ zmianę w oknie
V
IEW
oraz w nowej tabeli. Zapisz wyniki w ten
sam sposób jak poprzednio, tym razem pod nazwą water_sum.
Na koniec zamknij wszystkie okna i usuń warstwę landuseORgrid z
D
ISPLAY
G
ROUP
.
Wyświetl warstwę layer grid i spójrz na tabele atrybutowe zgromadzone w poligonowej
bazie danych.
Pytanie 14-5: Ile poligonów jest w tej warstwie?
_______
Pytanie 14-6: Ile wierszy (records) znajduje się w tabeli forest_sum?
_______
Pytanie 14-7: Ile wierszy (records) znajduje się w tabeli water_sum?
_______
Pytanie 14-8: Dlaczego numery komórek (cell IDs) 2 i 6 są pominięte w tabeli
forest_sum table oraz dlaczego w tabeli water_sum pominięta jest komórka
numer 9?
___________________________________________________________________
___________________________________________________________________
Nowe tabele są teraz w bazie danych, jednak nadal nie są przypisane do wektorów. Aby
stworzyć połączenie (relację), kliknij prawym przyciskiem myszy na obiekt poligonowy w
oknie
D
ISPLAY
M
ANAGER
i użyj z menu
E
DIT
R
ELATIONS
...
. Widzisz teraz wszystkie tabele
występujące w bazie danych. Jednak tylko kilka jest powiązanych.
Aby stworzyć relację między tabelami upewnij się, że aktywna jest ikona
R
ELATE
w oknie
D
ATABASE
E
DITOR
. Następnie należy kliknąć na tabelę forest_sum i trzymając wciśnięty
przycisk myszy przeciągnąć do tabeli cellnumber. Kiedy wskaźnik myszy jest ponad drugą
tabelą, puść przycisk myszy. Otwarte zostanie okno
R
ELATE
...,
gdzie należy sprecyzować dwa
pola, które będą używane do powiązania tabel.
Dla tabeli forest_sum użyj cell_id, a dla tabeli cellnumber użyj pola number. Na koniec
wciśnij <
OK.>
. Stworzone zostało powiązanie między tabelami. Powtórz te same kroki dla
tabeli water_sum, aby połączyć ją z tabelą cellnumber.
Zamknij okno
D
ATABASE
E
DITOR
/
GRID
P
OLYGON
D
ATABASE
.
14.4Tworzenie ostatecznej tabeli waloryzacyjnej
Ostateczna tabela waloryzacyjna pokazuje sumę ocenionych (oszacowanych) dla każdej
komórki. Policzone to zostało z procentowego udziału lasu, wód i (później) cech terenowych
(rzeźby terenu).
Stwórz nową tabelę dla elementów poligonowych warstwy grid. Użyj następujących
ustawień:
name:
valorization
relation:
O
NE RECORD PER ELEMENT
,
RECORD NUMBER EQUALS ELEMENT NUMBER
Teraz dodaj pięć pól.
1 pole:
name:
cell_ID
field type:
COMPUTED
expression:
cellnumber.number
2 pole:
name:
forest_points
field type:
COMPUTED
expression
1
:
if (forest_sum.area_ha>0 and forest_sum.area_ha<26) return 2
if (forest_sum.area_ha>=26 and forest_sum.area_ha<50) return 4
if (forest_sum.area_ha>=50) return 6
else return 0
3 pole:
name:
water_points
field type:
COMPUTED
expression:
if (water_sum.area_ha>0 and water_sum.area_ha<5) return 4
if (water_sum.area_ha>=5 and water_sum.area_ha<=20) return 8
if (water_sum.area_ha>20) return 12
else return 0
Aby automatycznie zapisać definicję nowych pól, zamknij okno
T
ABLE
P
ROPERTIES
. Teraz
możesz używać nowych nazw dla następnego wyrażenia. Otwórz znów okno
P
ROPERTIES
i
stwórz nowe pole.
2
4 pole:
name:
points_sum
field type:
COMPUTED
expression:
valorization.forest_points+valorization.water_points
Zamknij okno
P
ROPERTIES
i otwórz je powtórnie, aby mieć dostępne pole points_sum dla
ostatniego wyrażenia.
5 pole:
name:
valorization
field type:
S
TRING
E
XPRESSION
(!)
expression:
if (valorization.points_sum<=7) return "weak"
if (valorization.points_sum>=8 and valorization.points_sum<=11) return "middle"
if (valorization.points_sum>=12 and valorization.points_sum<=16) return "good"
if (valorization.points_sum>=17) return "very good"
1
To wyrażenie jest tłumaczeniem procedury waloryzacyjnej, którą można spotkać w literaturze (zob.
Dąbrowski, H., Machnik, E. 1990: Planowanie przestrzenne. Przewodnik do ćwiczeń. Wydawnictwo ART.
Olsztyn.) na język SIP.
2
Możesz stworzyć nowe pola i używać definicji już utworzonych pól, bez ich zapisywania. Użyj opcji
O
PEN
/C
LOSE
w oknie T
ABLE
P
ROPERTIES
. Wykonując to, TNT
MIPS
zgłosi błąd, ponieważ użyte nazwy pól nie są
jeszcze programowi znane. Jeżeli jednak, wpisujesz poprawnie, możesz zignorować ten komunikat i nowe pola
będą działać bez problemu.
Na koniec kliknij <
OK.>
i spójrz na nową tabelę.
14-9: Ile jest komórek w warstwie grid z wynikiem „weak” i „middle”?
weak: _______ / middle: _______
Aby wyświetlić pierwsze rezultaty, otwórz okno
V
ECTOR
L
AYER
C
ONTROLS
i w zakładce
P
OLYGON
wybierz
BY
A
TTRIBUTE
...
dla
S
TYLE
. Kliknij na
S
PECIFY
...
i wybierz pole valorization z
tabeli valorization.
Kliknij na
E
DIT
S
TYLES
...
i stwórz 4 nowe style: niebieski (weak), żółty (middle), zielony
(good) i czerwony (very good). Wprowadź odpowiednie nazwy w polu
S
TYLE
N
AME
, zastąpić
domyślne nazwy New_Style_1 itd.. Zamknij okno
S
TYLE
E
DITOR
klikając <
OK
>. Przydziel
nowe style do dwóch kategorii, występujących już w tabeli. Następnie zamknij okno klikając
<
OK
> i zapisz style pod nazwą valorization_styles.
Spójrz na wyświetlone wyniki analizy krajobrazu. Pamiętaj, że ciągle pominięte są
wyniki informacji o terenie (rzeźbie terenu). Otwórz
D
ATABASE
E
DITOR
dla obiektu
poligonowego poprzez prawy klawisz myszy i wejdż w
E
DIT
R
ELATIONS
...
. Zobacz, że nowe
definicje stylu w tabeli są podłączone do tabeli valorization.
Zamknij wszystkie okna i przejdź do ostatniej części ćwiczenia.
14.5Analizy informacji o terenie
Wykonując ostatnią część analiz krajobrazu, należy obliczyć przecięcia między
izohipsami, a przekątnymi komórek siatki.
Uruchom moduł
G
EOMETRIC
/
C
OMBINE
...
. Tym razem użyj
O
PERATION
I
NTERSECT
(AND)
, użyj
contour25 jako
S
OURCE
i grid_diagonal jako
O
PERATOR
. W sekcji
O
PERATOR
ustaw
S
ELECT
na
L
INES
i
B
Y
S
CRIPT
. Kliknij na
S
ELECT
...
i otwórz okno
Q
UERY
E
DITOR
. Wpisz w okno wyrażenie
line_type.type=='diagonal' i kliknij <
OK.>
.
Na koniec kliknij
R
UN
...
, aby rozpocząć proces łączenia wektorów. Zapisz nowy obiekt w
folderze results w swoim pliku projektowym. Użyj contourANDdiagonal jako nazwy i opisu.
Następnie opuść okno
V
ECTOR
C
OMBINATION
. Wyświetl nową warstwę wektorową i zobacz
wyniki działania.
14-10: Ile jest punktów w tej warstwie? _______
Możesz także wyświetlić dwie warstwy danych wejściowych (input layers), abyYou may
want to display the two input layers aslepiej zrozumieć efekt działania AND.
Aby zobaczyć wszystkie tabele, wyświetl szczegóły wektorów punktowych.
W nowej warstwie, stwórz nową tabelę dla elementów wektorów punktowych:
name:
intersection
relation:
O
NE RECORD PER ELEMENT
,
RECORD NUMBER EQUALS ELEMENT NUMBER
Następnie dodaj dwa pola:
1 pole:
name:
cell_ID
field type:
COMPUTED
expression:
cellnumber.number
2 pole:
name:
crossings
field type:
COMPUTED
expression:
cellnumber.number
Zamknij okno
T
ABLE
P
ROPERTIES
i sprawdź nową tabelę.
Aktywuj
T
ABLE
/
S
UBSTATISTICS
/
C
OUNT
i włącz kolory dla lepszego wyświetlania wyników
statystycznych (
T
ABLE
/
C
OLORS
...
/
S
TATISTICS
R
OW
C
OLORS
). Kliknij prawym przyciskiem myszy
na pole cell_ID i wybierz
S
ORT ON THIS
F
IELD
. Zjedź w dół tabeli i sprawdź wyniki swoich
działań.
Aby przenieść wyniki do bazy danych poligonu w warswie grid, użyj
T
ABLE
/
S
AVE
A
S
...
.
F
ORMAT
: RVC
R
ECORDS
: A
LL
R
ECORDS
V
ALUES
:
C
OUNT
U
NITS
:
A
S
S
HOWN
.
Zamknij wszystkie warstwy i wyświetl warstwę grid. Zobacz nową tabelę w sekcji
poligony. Użyj prawego przycisku myszy, aby wejść do okna
D
ATABASE
E
DITOR
przez
E
DIT
R
ELATIONS
...
. Stwórz połączenie między tabelą intersection i cellnumber. Aby zdefiniować
połączone pola, użyj cell_id i number. Aby stworzyć połączenie, wciśnij <
OK
>.
Ostatnim krokiem jest wykonanie waloryzacji liczby przecięć w każdej komórce. Stwórz
nowe pole w tabeli valorization, używając ustawień:
name:
terrain_points
field type:
COMPUTED
expression:
if (intersection.crossings<=25) return 1
if (intersection.crossings>25 and intersection.crossings<=50) return 2
if (intersection.crossings>50 and intersection.crossings<=75) return 3
if (intersection.crossings>75) return 4
Gdy stworzysz nowe pole, musisz zmienić wyrażenie w polu points_sum. Zmień
wyrażenie w ten sposób, aby dodane było także pole terrain_points. Na koniec kliknij <
OK.>
i
spójrz na nową tabelę.
14-11: Ile jest komórek w warstwie grid w każdej z czterech kategorii?
weak: _______ / middle: _______
good: _______ / very good: _______
Aby wyświetlić waloryzację krajobrazu, otwórz okno
V
ECTOR
L
AYER
C
ONTROLS
i w
zakładce
P
OLYGON
kliknij na
S
PECIFY
...
. Kliknij na
E
DIT
S
TYLES
...
i przyporządkuj style, które
stworzyłeś wcześniej dla atrybutów.
Na koniec, spojrz na okno, w którym zostały wyświetlone wyniki analizy krajobrazu.
Możesz dodać warstwy landuse i contour. Zmień wartość
T
RANSPARENCY
warstwy grid
pomiędzy 40-70 – może to dać interesujące efektyTwojej pracy. Możesz także użyć 3 warstw
rastrowych map topograficznych i nałożyć na nie warstwę grid zawierającą kolorowe
komórki waloryzacji (rys. 28).
Rys. 28. Wynik oceny krajobrazu pod kątem waloryzacji turystycznej przydatności
obszaru przy użyciu SIP
14.6Pytania przeglądowe
14-1
Co należy zawsze wykonać, przed rozpoczęciem projektu SIP i analiz
przestrzennych?
14-2
Jakie są trzy konieczne informacje (lub ustawienia) potrzebne podczas procesu
łączenia warstw wektorowych?
14-3
Jaki jest wynik procesu przetwarzania
U
NION
(OR)
dla dwóch warstw
wektorowych? Wykonaj prosty schemat ilustrujący odpowiedź.
14-4
Jaki jest wynik procesu przetwarzania
I
NTERSECT
(AND)
dla dwóch warstw
wektorowych? Wykonaj prosty schemat ilustrujący odpowiedź. Pomyśl o różnicy
w stosunku do odpowiedzi na pytanie 8-3!
14-5
Co dzieje się z liczbą węzłów, linii i poligonów, gdy używasz procesu
przetwarzania wektorów
U
NION
(OR)
z dwoma różnymi, nakładającymi się
warstwami poligonowymi?
14-6
Co dzieje się z powierzchnią nowej warstwy wektorowej, gdy użyjemy procesu
przetwarzania wektorów
U
NION
(OR)
.
14-7
Co dzieje się z danymi atrybutowymi warstwy wejściowej (input layer), gdy
użyjemy procesu przetwarzania
U
NION
(OR)
?
14-8
Jak stworzyć połączenie między dwiema tabelami w bazie danych? Co jest
konieczne do poprawnego połączenia?
14-9
Dlaczego uzyskujemy punkty, jeśli wykonujemy proces przetwarzania wektorów
I
NTERSECT
(AND)
z nakładającymi się warstwami liniowymi? Jak wyglądałaby
warstwa, jeśli wykonamy proces przetwarzania
U
NION
(OR)
z dwiema
nakładającymi się warstwami wektorów liniowych?
14-10 Co należy robić po każdym etapie pracy z danymi SIP oraz gdy wykonujesz
różne działania na danych?