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: Leknín Řepánek <godzilalalala AT gmail.com>
  • To: Svobodná geoinformační infrastruktura <freegeocz AT fsv.cvut.cz>
  • Subject: Re: [FreeGeoCZ] PlPython + Postgis
  • Date: Tue, 8 Apr 2014 10:15:27 +0200
  • List-archive: <http://mailman.fsv.cvut.cz/pipermail/freegeocz>
  • List-id: Svobodná geoinformační infrastruktura <freegeocz.fsv.cvut.cz>

Taky si myslim, jestli teda dobře chápu zadání (a co je WPS)...

On Tue, Apr 08, 2014 at 10:08:33AM +0200, Jachym Cepicky wrote:
> 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 <godzilalalala AT gmail.com>
> > > Komu: Svobodná geoinformačníinfrastruktura <freegeocz AT 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 <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_______________________________________________
> > > 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

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





Archivace běží na MHonArc 2.6.19+.

Top of Page