Taky mi to zní jako něco pro WPS :-)

J

On Tue, Apr 08, 2014 at 10:00:00AM +0200, Leknín Řepánek wrote:
> Do postgisu to dostaneš uplně v poho, když máš tabulku geometry, tak
> copy myslim zvládá i wkt. Co se týče insert statementů, tak dáš normálně
> wkt::geometry a tradá. S WKB to nejspíš pude taky. WKB ti vrátí gdal v
> pajtnu.
> Další možnost je to otrigrovat a pak je tvuj limit na vstupní formát v
> podstatě limitovanej jen tim, co jseš schopnej ošetřit fcí. Takže třeba
> gml je uplně bez problému (i když tady neni gml relevantní).
> 
> Nevim teda, jestli dobře chápu tu tvojí myšlenku toho pavouka, ale
> přijde mi zbytečný, aby si měl postgre server na kždý tý noze. Postgre
> je na skladování dat, na výpočty to nebude uplně ono. Podle mě bys měl
> lepší, kdyby si měl teda servr s datama (kam posypeš o výstupy) a
> aplikaci, která bude rozdělovat práci mimo ten sql server. Poněvač tam
> se ti taky může stát, že bude někde čekat fce na odpověď, budeš mít
> locky a tenhle celej blázinec a pude to celé do kopru. TOhle použití tý
> fce nepokládám za uplně rozumný.
> 
> Je;
> 
> On Tue, Apr 08, 2014 at 09:45:02AM +0200, Martin Chodúr wrote:
> > Jáchym: No na to by měla stačit ta funkce ST_Polygon. Problém je že já
> > potřebuju to převést do nějakýho použitelnýho formátu abych ty data mohl
> > zpracovat protože PostGIS nemá ty možnosti co potřebuju bohužel.
> > 
> > Leknín: hmm to co navrhuješ je zajímavý o tom právě nic nevím.
> > 
> > Celková představa je taková že se jedná o spuštění v clusteru na víc
> > virtuálních mašinách. Bude jeden centrální master kterej bude mít rastrový
> > snímky v postgisu v tailech. Pak bude x slejvů na který bude ten master ve
> > vláknech přiřazovat jednotlivý taily ,pokud bude dostupnej ten slejv, do 
> > funkce
> > (co právě píšu) přes 5432 klasicky a ta by vrátila seznam polygonů který by 
> > si
> > master skládal k sobe do jedné tabulky zase.
> > Na tom mastru potřebuju výsledný data zase v postgisu protože pak by
> > následovaly další analýzy.
> > 
> > Ten největší problém je právě ale převést ty rastrový data z postgisu do 
> > nějaké
> > podoby abzch s něma mohl pracovat a potom zase zpátky do postgisu no..
> > 
> > 
> > Kouknu na to copy from program, ale kdyby vás napadl jinej návrh celé té
> > architektury budu jen rád pokud bude lepší.
> > 
> > 
> > 
> > 
> > ---------- Původní zpráva ----------
> > Od: Leknín Řepánek <godzilalal...@gmail.com>
> > Komu: Svobodná geoinformačníinfrastruktura <freegeocz@fsv.cvut.cz>
> > Datum: 8. 4. 2014 8:55:02
> > Předmět: Re: [FreeGeoCZ] PlPython + Postgis
> > 
> > 
> >     Hele, co máš za postgre? V postgre 9.3 jde copy from program. Takže bys
> >     mohl použít tohle. Ináč existuje způsob, jak propojovat servery, že to
> >     pak běhá přímo v postgre, je to nástupce dblinku, jmenuje se to fdw.
> > 
> >     Takže si to jenom zrekapituluju. Na jednom servru máš rastry a chceš si
> >     z druhýho vyptat vektor?
> > 
> >     Ono asi nejjednodušší bys měl nemít ten pajtn ve fci postgresový, ale
> >     uplně mimo s tim, že by sis připojil oba dva ty servry a tahal to přes
> >     ten pajtn. To jde udělat několika způsobama. Myslim propojit pajtn s
> >     postgre...
> > 
> >     Je;
> > 
> >     On Tue, Apr 08, 2014 at 08:01:09AM +0200, Martin Chodúr wrote:
> >     > Přesně tak... potřebuju to volat z jinýho serveru a aby mi to vrátilo
> >     sadu
> >     > polygonů v nejakým PostGIS friendly formátu.
> >     >
> >     > To je mi jasný že je to lámaný přes koleno jen mě bohužel zatím 
> > nenapadlo
> >     lepší
> >     > řešení.
> >     >
> >     > Gdal se dá použít v Pythonu samozřejmě, ale nenašel jsem způsob jak 
> > to z
> >     něho
> >     > nahrát do databáze zpátky právě.
> >     >
> >     >
> >     > ---------- Původní zpráva ----------
> >     > Od: Leknín Řepánek <godzilalal...@gmail.com>
> >     > Komu: Svobodná geoinformačníinfrastruktura <freegeocz@fsv.cvut.cz>
> >     > Datum: 8. 4. 2014 7:05:36
> >     > Předmět: Re: [FreeGeoCZ] PlPython + Postgis
> >     >
> >     >
> >     > Hm volat z postgre pajtn, ve kterym se provede komandlajna, která 
> > posílá
> >     > rourou z gdal na psql. No, to je už trochu ozlomkrk. To přece musí jít
> >     > udělat jinak. Ta gdalka de dát do pythonu... Nebo ty to posíláš na 
> > jinej
> >     > servr?
> >     >
> >     > Je;
> >     >
> >     > On Tue, Apr 08, 2014 at 12:57:24AM +0200, Martin Chodúr wrote:
> >     > > Zdravím, narazil jsem na takový problém. Co se snažím udělat je
> >     vytvořit
> >     > funkci
> >     > > v PLPythonu, která by načetla rastr z databáze, převedla ho do pole
> >     > hodnot pro
> >     > > clustering, převedla nově vygenerovaný rastr na polygony a vrátila 
> > je
> >     > jako
> >     > > tabulku geometrií.
> >     > > Načtení dat z databáze (přestože ne zrovna ideálním způsobem) se mi
> >     > podařilo i
> >     > > jejich clusterování, pro převod na polygony jsem chtěl ale využít
> >     > ST_Polygon, k
> >     > > tomu ale potřebuji převést výslednou matici zpět na raster a ještě 
> > jí
> >     > nastavit
> >     > > spatial data jako srs bbox atd.
> >     > >
> >     > > Tady sem bohužel narazil. Gdal nemá podle všeho zatím funkční driver
> >     pro
> >     > výstup
> >     > > do postgis (možná se pletu) a nevím jak tenhle zádrhel obejít zatím.
> >     > >
> >     > > Uložení do souboru je z důvodu že imread() nebere vstup string. jeto
> >     jen
> >     > > provizorní řešení.
> >     > >
> >     > > Pokud by někdo uměl poradit, nebo měl lepší nápad jak to řešit, budu
> >     > vděčný.
> >     > > Podpora práce s rastrem v PostGISu není zatím tak převratná a google
> >     > neumí
> >     > > poradit už.
> >     > >
> >     > > Předem díky za jakoukoli odpověď
> >     > > Martin Chodúr
> >     > >
> >     > > pro ukázku dosavadní stav funkce:
> >     > >
> >     > > CREATE OR REPLACE FUNCTION cluster (raster text)
> >     > > RETURNS table(geom geometry)
> >     > > AS $$
> >     > > from sklearn.cluster import AffinityPropagation
> >     > > import matplotlib.pyplot as plt
> >     > > from scipy import misc
> >     > > from osgeo import gdal
> >     > > import os
> >     > >
> >     > > out = plpy.execute("select st_aspng(rast) png from "+raster, 1)
> >     > > f = open('/foo/bin/temp.png','wb')
> >     > > f.write(out[0]['png'])
> >     > > f.close()
> >     > >
> >     > > im = misc.imread('/foo/bin/temp.png')
> >     > > im_reshaped = im.reshape((len(im) * len(im[0]), 3))
> >     > >
> >     > > af = AffinityPropagation(damping=0.5, convergence_iter=2).fit
> >     > (im_reshaped)
> >     > > labels_reshaped = af.labels_.reshape(len(im), len(im[0]))
> >     > >
> >     > > ##### dál už to nefunguje a je to jen představa jak by to mohlo jít
> >     > >
> >     > > misc.imsave('/home/fus/out/temp_clustered.png',labels_reshaped)
> >     > >
> >     > > plpy.info(os.system('raster2pgsql /home/fus/out/temp_clustered.png
> >     > > clustering.out | psql -d testovaci -q '))
> >     > >
> >     > > out = plpy.execute("select st_polygon(rast) geom from clustering.out
> >     > limit
> >     > > 1")
> >     > >
> >     > > return out
> >     > > $$ LANGUAGE plpythonu;
> >     > >
> >     > >
> >     >
> >     > > _______________________________________________
> >     > > FreeGeoCZ mailing list
> >     > > FreeGeoCZ@fsv.cvut.cz
> >     > > http://mailman.fsv.cvut.cz/mailman/listinfo/
> >     > freegeocz_______________________________________________
> >     > FreeGeoCZ mailing list
> >     > FreeGeoCZ@fsv.cvut.cz
> >     > http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz
> >     >
> > 
> >     > _______________________________________________
> >     > FreeGeoCZ mailing list
> >     > FreeGeoCZ@fsv.cvut.cz
> >     > http://mailman.fsv.cvut.cz/mailman/listinfo/
> >     freegeocz_______________________________________________
> >     FreeGeoCZ mailing list
> >     FreeGeoCZ@fsv.cvut.cz
> >     http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz
> > 
> 
> > _______________________________________________
> > FreeGeoCZ mailing list
> > FreeGeoCZ@fsv.cvut.cz
> > http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz
> 

> _______________________________________________
> FreeGeoCZ mailing list
> FreeGeoCZ@fsv.cvut.cz
> http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz


-- 
Jachym Cepicky
URL: http://les-ejk.cz
e-mail: jachym.cepicky at gmail com
PGP: http://les-ejk.cz/pgp/JachymCepicky.pgp
@jachymc
_______________________________________________
FreeGeoCZ mailing list
FreeGeoCZ@fsv.cvut.cz
http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz

Reply via email to