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