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

Reply via email to