freegeocz AT fsv.cvut.cz
Předmět: Svobodná geoinformační infrastruktura
List archive
- From: Martin Chodúr <M.Chodur AT seznam.cz>
- To: Svobodná geoinformační infrastruktura <freegeocz AT fsv.cvut.cz>
- Subject: Re: [FreeGeoCZ] PlPython + Postgis
- Date: Tue, 08 Apr 2014 08:01:09 +0200 (CEST)
- List-archive: <http://mailman.fsv.cvut.cz/pipermail/freegeocz>
- List-id: Svobodná geoinformační infrastruktura <freegeocz.fsv.cvut.cz>
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 <godzilalalala AT gmail.com>
Komu: Svobodná geoinformačníinfrastruktura <freegeocz AT 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 AT fsv.cvut.cz
> http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz_______________________________________________
FreeGeoCZ mailing list
FreeGeoCZ AT fsv.cvut.cz
http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz
- [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Jachym Cepicky, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Jachym Cepicky, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Jachym Cepicky, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Martin Chodúr, 04/08/2014
- Re: [FreeGeoCZ] PlPython + Postgis, Leknín Řepánek, 04/08/2014
Archivace běží na MHonArc 2.6.19+.