🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by Mateuszzz Wed, 06 Apr 2011 23:18
przeskalowanie rastra
#12441
Author: Mateuszzz
Date: Wed, 06 Apr 2011 23:18
13 lines
1424 bytes
Witam,

skoro z modułu GDAL używa większość programów GISowych, to może ktoś 
zetknął się z następującym problemem.

Z nieznanej mi przyczyny nie mogę wykonać przeskalowania
rastra w formacie ASCII (próbowałem przed konwersją zapisać go w postaci 
GeoTiff - to również nie pomaga):

gdal_translate -outsize 5% 5% -of AAIGrid /home/costam.asc /home/costam2.asc

Za każdym razem widzę błąd dotyczący nieprawidłowych wymiarów
(0x0 TIFF). Co może być przyczyną?
Re: przeskalowanie rastra
#12442
Author: mt
Date: Thu, 07 Apr 2011 00:03
21 lines
1572 bytes
Mateuszzz pisze:
> Witam,
> 
> skoro z modułu GDAL używa większość programów GISowych, to może ktoś 
> zetknął się z następującym problemem.
> 
> Z nieznanej mi przyczyny nie mogę wykonać przeskalowania
> rastra w formacie ASCII (próbowałem przed konwersją zapisać go w postaci 
> GeoTiff - to również nie pomaga):
> 
> gdal_translate -outsize 5% 5% -of AAIGrid /home/costam.asc 
> /home/costam2.asc
> 
> Za każdym razem widzę błąd dotyczący nieprawidłowych wymiarów
> (0x0 TIFF). Co może być przyczyną?

A podejrzałeś tego grida w jakimś edytorze tekstowym? Wygląda na to, że 
  grid nie ma podanej wartości ncols i nrows (dwa pierwsze wpisy).

-- 
marcin
Re: przeskalowanie rastra
#12443
Author: Mateuszzz
Date: Thu, 07 Apr 2011 05:55
25 lines
2081 bytes
> A podejrzałeś tego grida w jakimś edytorze tekstowym? Wygląda na to, że
> grid nie ma podanej wartości ncols i nrows (dwa pierwsze wpisy).
>

GRID stworzyłem "samodzielnie" (napisałem skrypt, który wypisuje 
odpowiednie wartości do pliku tekstowego).
Jego (pliku .asc) zawartość to:

ncols 9
nrows 5
xllcorner 19.875
yllcorner 51.875
DX 0.25
DY 0.25
NODATA_value  -9999
1.9922307E-5, 1.894646E-5, 1.8956462E-5, 1.9361845E-5, 1.9511384E-5, 
1.9329693E-5, 1.9673384E-5, 1.8383538E-5, 1.8088462E-5
1.7483077E-5, 2.0421385E-5, 1.9258154E-5, 1.9281846E-5, 1.8062461E-5, 
1.7116461E-5, 1.5586462E-5, 1.8733692E-5, 1.9904E-5
1.781323E-5, 1.8908308E-5, 2.055877E-5, 1.998077E-5, 1.9613231E-5, 
1.8095077E-5, 1.7196462E-5, 1.5384308E-5, 1.757877E-5
1.9018922E-5, 1.895046E-5, 1.830677E-5, 2.0832154E-5, 2.051923E-5, 
2.0070462E-5, 1.8988E-5, 1.7819077E-5, 1.753277E-5
1.7792923E-5, 1.8765691E-5, 1.9184923E-5, 1.8667384E-5, 2.1397693E-5, 
2.1273538E-5, 2.0916308E-5, 1.9450616E-5, 1.8722461E-5
Re: przeskalowanie rastra
#12444
Author: mt
Date: Thu, 07 Apr 2011 07:00
17 lines
1832 bytes
Mateuszzz pisze:
>> A podejrzałeś tego grida w jakimś edytorze tekstowym? Wygląda na to, że
>> grid nie ma podanej wartości ncols i nrows (dwa pierwsze wpisy).
>>
> 
> GRID stworzyłem "samodzielnie" (napisałem skrypt, który wypisuje 
> odpowiednie wartości do pliku tekstowego).
> Jego (pliku .asc) zawartość to:

Wygląda na ok, jedyne co może być problematyczne, to DX i DY (po 
skalowaniu przyjmują różne wartości), część programów tego nie 
obsługuje, bezpieczniej zastąpić jednym parametrem cellsize. A jakiej 
implementacji i wersji GDAL-a używasz? U mnie wtyczka do QGIS oparta na 
GDAL 1.7.3 wykonała bez problemu skalowanie Twojego pliku.

-- 
marcin
Re: przeskalowanie rastra
#12445
Author: mt
Date: Thu, 07 Apr 2011 07:13
16 lines
1421 bytes
Mateuszzz pisze:

> GRID stworzyłem "samodzielnie" (napisałem skrypt, który wypisuje 
> odpowiednie wartości do pliku tekstowego).
> Jego (pliku .asc) zawartość to:
> 
> ncols 9
> nrows 5

Ok, już wiem, gdzie leży błąd. Jeżeli próbujesz przeskalować grida o 
wymiarach 9x5 o 5% to wynikowy będzie mieć rozmiary poniżej 1x1, a tak 
się nie da stąd zwraca Ci błąd. Albo większy grid albo mniejsze 
przeskalowanie.

-- 
marcin
Re: przeskalowanie rastra
#12446
Author: Mateuszzz
Date: Thu, 07 Apr 2011 18:21
33 lines
2935 bytes
> Ok, już wiem, gdzie leży błąd. Jeżeli próbujesz przeskalować grida o
> wymiarach 9x5 o 5% to wynikowy będzie mieć rozmiary poniżej 1x1, a tak
> się nie da stąd zwraca Ci błąd. Albo większy grid albo mniejsze
> przeskalowanie.
>

Hmmm...czyli najwidoczniej wpisuję złą wartość...
może opiszę całą sytuację....

chcę wykonać wykresy rozrzutu (oraz analizę statystyczną) danych 
znajdujących się w dwóch rastrach. Jeśli dobrze rozumuję, oba muszą mieć 
identyczne wymiary (myślę o współrzędnych rogów) i identyczną rozdzielczość.

W jaki sposób wykonać taką operację w QGISie?
Samo obcięcie nie jest kłopotliwe (Raster-->Kadruj, po czym można wpisać 
współrzędne rogów uzyskane przy pomocy narzędzia gdalinfo.

Nie wiem za bardzo jak "zmniejszyć" boki rastra (czy należy to 
zrealizować przez przeskalowanie?)
Kiedy wykonać taką operację - wydaje mi się, że logiczne byłoby 
zrobienie tego przed "kadrowaniem", jednak nawet w tej sytuacji może 
okazać się, że po obcięciu komórki jednego nie pokrywają się idealnie z 
bokami drugiego.

Wpadło mi do głowy użycie narzędzia gdal2xyz - zapisanie danych z rastra 
do pliku ze współrzędnymi oraz wartościami.
Następnym krokiem byłoby dodanie dodatkowych punktów (np. w 1/4 
odległości od środka rastra) z przepisaną wartością.

Tak dużą ilość punktów można byłoby "obciąć" do rozmiarów pierwszego z 
rastrów, po czym wykonać interpolację metodą najbliższego sąsiada.
Czy jest to dobry pomysł?
W jaki sposób szybko "zwielokrotnić" ilość punktów w rastrze?
Re: przeskalowanie rastra
#12447
Author: Mateuszzz
Date: Sat, 09 Apr 2011 15:43
11 lines
1578 bytes
> Ok, już wiem, gdzie leży błąd. Jeżeli próbujesz przeskalować grida o
> wymiarach 9x5 o 5% to wynikowy będzie mieć rozmiary poniżej 1x1, a tak
> się nie da stąd zwraca Ci błąd. Albo większy grid albo mniejsze
> przeskalowanie.
>
Dlaczego jest to niemożliwe?
Chciałbym uzyskać rastry o jeszcze mniejszym "oczku"
(teraz mam 0,25 piksela - chcę mieć mniejsze).

Czy możliwe jest wykonanie tej czynności?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads