🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

9 total messages Started by Mateuszzz Fri, 18 Mar 2011 19:23
raster --> ASCII GRID --> plik kolumny, wartość
#12427
Author: Mateuszzz
Date: Fri, 18 Mar 2011 19:23
17 lines
1919 bytes
Witam,


chcę "zrzucić" przy użyciu programu QGIS dane rastrowe do pliku 
zawierającego trzy kolumny - wsp. x, wsp. y oraz wartość - zastanawiam 
się, czy istnieje sposób na automatyczne wykonanie tej czynności.
Moim pomysłem jest zapis do pliku ASCII, a następnie napisanie skryptu w 
Pythonie, który sformatuje odpowiednio tak uzyskany plik.

Na podstawie tak uzyskanego pliku, chciałbym obliczyć statystyki dla
wszystkich wartości - chcę zapisać w oddzielnym pliku wartość
maksymalna, minimalną, średnią, odchylenie standardowe, wariancję.
Oprócz wartości maksymalnych i minimalnych wszystkie potrzebne mi opcje 
zawiera moduł stats.py - czemu akurat tych, prostych funkcji zabrakło
(być może czegoś nie widzę) ?

Może istnieje prostszy sposób na wykonanie tych czynności ?
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12428
Author: Maciej Sieczka
Date: Sat, 19 Mar 2011 07:51
30 lines
2166 bytes
W dniu 18.03.2011 20:23, Mateuszzz pisze:

> chcę "zrzucić" przy użyciu programu QGIS dane rastrowe do pliku
> zawierającego trzy kolumny - wsp. x, wsp. y oraz wartość - zastanawiam
> się, czy istnieje sposób na automatyczne wykonanie tej czynności.
> Moim pomysłem jest zapis do pliku ASCII, a następnie napisanie skryptu w
> Pythonie, który sformatuje odpowiednio tak uzyskany plik.

Można przerobić raster na xyz w 1 kroku za pomocą gdal2xyz.py.

> Na podstawie tak uzyskanego pliku, chciałbym obliczyć statystyki dla
> wszystkich wartości - chcę zapisać w oddzielnym pliku wartość
> maksymalna, minimalną, średnią, odchylenie standardowe, wariancję.
> Oprócz wartości maksymalnych i minimalnych wszystkie potrzebne mi opcje
> zawiera moduł stats.py - czemu akurat tych, prostych funkcji zabrakło
> (być może czegoś nie widzę) ?
>
> Może istnieje prostszy sposób na wykonanie tych czynności ?

r.statistics [1] lub r.univar [2] z narzędzi GRASS liczą wszystko czego 
potrzebujesz.

[1] http://grass.osgeo.org/grass64/manuals/html64_user/r.statistics.html
[2] http://grass.osgeo.org/grass64/manuals/html64_user/r.univar.html

Maciek

-- 
Maciej Sieczka
http://www.sieczka.org
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12429
Author: Mateuszzz
Date: Sat, 19 Mar 2011 20:00
12 lines
1655 bytes
> Można przerobić raster na xyz w 1 kroku za pomocą gdal2xyz.py.

Nie mogę znaleźć opisu tego modułu na stronie projektu GDAL - czy 
mógłbyś podać odnośnik ?

>
> r.statistics [1] lub r.univar [2] z narzędzi GRASS liczą wszystko czego
> potrzebujesz.
>
> [1] http://grass.osgeo.org/grass64/manuals/html64_user/r.statistics.html
> [2] http://grass.osgeo.org/grass64/manuals/html64_user/r.univar.html
Dziękuję.
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12430
Author: Maciej Sieczka
Date: Sun, 20 Mar 2011 13:57
24 lines
1852 bytes
W dniu 19.03.2011 21:00, Mateuszzz pisze:
>> Można przerobić raster na xyz w 1 kroku za pomocą gdal2xyz.py.
>
> Nie mogę znaleźć opisu tego modułu na stronie projektu GDAL - czy
> mógłbyś podać odnośnik ?

Trzeba zajrzeć do źródełka. Skrypt jest krótki i prosty. Wersja 1.8 w 
http://trac.osgeo.org/gdal/browser/branches/1.8/gdal/swig/python/scripts, 1.7 
w http://trac.osgeo.org/gdal/browser/branches/1.7/gdal/swig/python/scripts.

Zdaje mi się że powinien być dostarczany z każdą binarką GDALa.

>> r.statistics [1] lub r.univar [2] z narzędzi GRASS liczą wszystko czego
>> potrzebujesz.
>>
>> [1] http://grass.osgeo.org/grass64/manuals/html64_user/r.statistics.html
>> [2] http://grass.osgeo.org/grass64/manuals/html64_user/r.univar.html
> Dziękuję.

Maciek

-- 
Maciej Sieczka
http://www.sieczka.org
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12431
Author: Mateuszzz
Date: Sun, 20 Mar 2011 15:56
4 lines
1455 bytes
> Zdaje mi się że powinien być dostarczany z każdą binarką GDALa.

Faktycznie... jeszcze nie testowałem, ale mogę go wywołać bezpośrednio z 
konsoli Linuksa - po wpisaniu bez parametrów wypluwa nawet składnię
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12432
Author: Mateuszzz
Date: Tue, 22 Mar 2011 21:30
7 lines
1568 bytes
>>> [1] http://grass.osgeo.org/grass64/manuals/html64_user/r.statistics.html
>>> [2] http://grass.osgeo.org/grass64/manuals/html64_user/r.univar.html

Idzie mi dość topornie (na razie rozpracowałem, że nie mogę importować 
modułu rpy, bo w nowszych wersjach interpretera używa się rpy2.

Podpowiesz jak dobrać się do tych funkcji z poziomu Pythona ?
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12434
Author: Mateuszzz
Date: Tue, 22 Mar 2011 21:53
12 lines
1701 bytes
> Trzeba zajrzeć do źródełka. Skrypt jest krótki i prosty. Wersja 1.8 w
> http://trac.osgeo.org/gdal/browser/branches/1.8/gdal/swig/python/scripts, 1.7
> w http://trac.osgeo.org/gdal/browser/branches/1.7/gdal/swig/python/scripts.

Jestem już chyba nieprzytomny, bo nie wiem jak mam użyć tego modułu...

import sys
sys.path.append('/usr/bin/')
import gdal2xyz
gdal2xyz pierwszy_raster drugi_raster

Jak się do tego dobrać ? Proszę o pomoc
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12433
Author: Maciej Sieczka
Date: Wed, 23 Mar 2011 17:48
24 lines
1882 bytes
W dniu 22.03.2011 22:30, Mateuszzz pisze:
>>>> [1]
>>>> http://grass.osgeo.org/grass64/manuals/html64_user/r.statistics.html
>>>> [2] http://grass.osgeo.org/grass64/manuals/html64_user/r.univar.html
>
> Idzie mi dość topornie (na razie rozpracowałem, że nie mogę importować
> modułu rpy, bo w nowszych wersjach interpretera używa się rpy2.
>
> Podpowiesz jak dobrać się do tych funkcji z poziomu Pythona ?

A zapoznałeś sie z tym:

http://grass.osgeo.org/wiki/GRASS_and_Python oraz 
http://grass.osgeo.org/programming6/pythonlib.html?

Dlaczego potrzebujesz RPy by uruchomić moduły GRASS? Zdajesz sobie 
sprawę, że nie da się uruchomić modułu GRASS poza środowiskiem GRASS, 
nie ważne czy z Pythona czy w inny sposób?

Maciek

-- 
Maciej Sieczka
http://www.sieczka.org
Re: raster --> ASCII GRID --> plik kolumny, wartość
#12435
Author: Maciej Sieczka
Date: Wed, 23 Mar 2011 17:55
27 lines
1980 bytes
W dniu 22.03.2011 22:53, Mateuszzz pisze:
>> Trzeba zajrzeć do źródełka. Skrypt jest krótki i prosty. Wersja 1.8 w
>> http://trac.osgeo.org/gdal/browser/branches/1.8/gdal/swig/python/scripts,
>> 1.7
>> w
>> http://trac.osgeo.org/gdal/browser/branches/1.7/gdal/swig/python/scripts.
>
> Jestem już chyba nieprzytomny, bo nie wiem jak mam użyć tego modułu...
>
> import sys
> sys.path.append('/usr/bin/')
> import gdal2xyz
> gdal2xyz pierwszy_raster drugi_raster
>
> Jak się do tego dobrać ? Proszę o pomoc

gdal2xyz.py nie za bardzo nadaje się do importu. To prosty skrypt, a nie 
moduł z którego klas i funkcji mógłbyś skorzystać we własnym programie. 
Więc z innego skryptu Pythona możesz go tylko zwyczajnie wykonać, jak 
każdy inny program zewnętrzny. Zajrzyj 
http://docs.python.org/library/subprocess.html.

Maciek

-- 
Maciej Sieczka
http://www.sieczka.org
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