Forum QGIS

Pełna wersja: Kadrowanie rastra - błąd kodu Pythona
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam,

Chcę wykonać mapę zlewni i dla tego celu chciałam wyciąć z mapy tylko interesującą mnie część terenu. Próbowałam to zrobić poprzez kadrowanie rastra. Jako plik źródłowy wybieram podkład mapowy, czyli mój raster. Jako maskę tła wybieram warstwę wektorową z granicą zlewni (plik SHX). Generalnie staram się to zrobić według znalezionej tutaj http://gisiokolice.blogspot.com/2013/07/...darza.html wskazówki. Jednak zamiast przyciętego rastra dostaję komunikat: "Wystąpił błąd podczas wykonywania kodu Pythona. Obie warstwy znajdują się w tym samym układzie odniesienia (92). Czy ktoś wie może w czym tkwi problem lub może mi doradzić inny sposób na wykadrowanie rastra? Czytałam również o wykorzystaniu gdalwarpa (o ile dobrze zrozumiałam to raster nie jest przycinany ale wszystkie elementy poza granicą "kadrowania" dostają wartość zero, tak?) jednak póki co to dla mnie czarna magia - jestem jeszcze bardzo początkująca w pracy w QGIS.
Pierwszy trop to rozszerzenie pliku - spróbuj wybrać ten z rozszerzeniem shp a nie shx (o ile dobrze kojarzę to shx przechowuje indeksy przestrzenne), jak nie zadziała to kliknij w view message log i zdradź jego zawartość, może coś wymyślimy.
Dla pewności, dodatkowo możesz sprawdzić czy układy współrzędnych rastra i wektora są takie same.
Sprawdziłam układy odniesienia ale i raster i warstwa wektorowa są w układzie 92. Próbowałam też wybrać plik shx i shp i w obu przypadkach nie działa. Załączam screena z view message log jak prosiłeś. W ogóle dziękuję za odpowiedź Smile
Upewnij się, że warstwa graniczna jest polygonową...
(18-10-2016, 18:26)Italiano napisał(a): [ -> ]Upewnij się, że warstwa graniczna jest polygonową...

Nie muszę się upewniać bo wiem że nie jest. Faktycznie, obrysowałam to za pomocą linii, z funkcją przyciągania - tak że wszystko jest zamknięte, ale na pewno to nie jest poligon. Dziękuję Ci za odpowiedź, wieczorem an pewno sprawdzę co się stanie jak użyję poligonu Smile
(19-10-2016, 10:01)Niebieska napisał(a): [ -> ]sprawdzę co się stanie jak użyję poligonu

Stanie się, że wszystko będzie dobrze, ufaj [Obrazek: smile.gif]
Ehh... Niestety Italiano, tak jak zazwyczaj - jestem wyjątkiem potwierdzającym regułę Tongue U mnie niestety nadal coś nie gra. Tym razem stworzyłam warstwę z poligonem (już nie bawiłam się w dokładny obrys zlewni, ott taki przykładowy poligonik żeby przetestować). I nadal wyskakuje mi błąd kodu Pythona.
No bo tak... Co do układu wsp. poszczególnych warstw: wchodzę w zakładka "warstwa" i używam opcji "definiuj układ współrzędnych warstwy" - zarówno dla rastra jak i dla warstwy z wektorowej wybieram układ 92. Układ projektu też jest w 92.
Następnie żeby wykadrować wchodzę w: "raster" --> "cięcie" --> "kadrowanie", a następnie ukazujące się okienko wypełniam w taki sposób jak pokazuję na załączonym screenie... No i na końcu znowu dostaję błąd kodu Pythona... Huh
(19-10-2016, 20:34)Niebieska napisał(a): [ -> ]wchodzę w zakładka "warstwa" i używam opcji "definiuj układ współrzędnych warstwy" - zarówno dla rastra jak i dla warstwy z wektorowej wybieram układ 92

Nie działa tak: raster i wektor MUSZĄ fizycznie należeć do tego samego układu współrzędnych, a nie "w locie" tak jak Ty ustawiłaś...
Główny problem leży w Pracy inżynierskiej, a dokładnie w literce ż w nazwie katalogu. Niestety wiele wtyczek nie radzi sobie z polskimi znakami w ścieżkach dostępu do danych. Przemianuj katalog (albo przenieś plik do innego, wolnego od ogonków w ścieżce) i wtyczka powinna zadziałać bez błędu. To znaczy: dopiero wtedy będzie miała szansę zmierzyć się z problemem układu współrzędnych Smile

Zawsze, kiedy błąd głosi, że "kodek ASCII czegoś nie może", przyczyną są litery diakrytyzowane. Zwykle w ścieżce dostępu. Na szczęście w QGIS-ie 3 nie będzie już takich problemów.
Stron: 1 2