Skip to Content.
Sympa Menu

freegeocz - Re: [FreeGeoCZ] PlPython + Postgis

freegeocz AT fsv.cvut.cz

Předmět: Svobodná geoinformační infrastruktura

List archive

Re: [FreeGeoCZ] PlPython + Postgis


Chronological Podle vláken 
  • From: Jachym Cepicky <jachym.cepicky AT gmail.com>
  • To: Svobodná geoinformační infrastruktura <freegeocz AT fsv.cvut.cz>
  • Subject: Re: [FreeGeoCZ] PlPython + Postgis
  • Date: Tue, 8 Apr 2014 08:27:10 +0200
  • List-archive: <http://mailman.fsv.cvut.cz/pipermail/freegeocz>
  • List-id: Svobodná geoinformační infrastruktura <freegeocz.fsv.cvut.cz>

Podle tohohle: https://trac.osgeo.org/gdal/wiki/frmts_wtkraster.html bych
řekl,
že to zatím moc líp nebude.

Když jsem byl na přednášce o Postgis 2.0 a o rastrech v postgis, tak jsem
nějak
nabyl dojmu, že vyrábět vektory z rastrů, jejich joinování atd atd by mělo
nějak jít přímo v postgisu (?)

J


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 <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 mailing list
> FreeGeoCZ AT 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




Archivace běží na MHonArc 2.6.19+.

Top of Page