[Gfoss] postgis - envelope restituisce points

Salve a tutti,
stò provando la seguente query su 2 db postgres/postgis 9.0/1.5 e 8.2/1.4(?) su una stessa tabella clonata sui due db.

SELECT DISTINCT ON (mytable.my_id) mytable.my_id, asText(envelope(mytable.the_geom)) AS the_geom
    FROM mytable
   ORDER BY mytable.my_id;

Le geometrie di mytable.the_geom sono solo punti.

Il problema è che col db vecchia versione, la funzione envelope restituisce correttamente i POLYGON dei bbox dei punti raggruppati per my_id, mentre con la nuova versione mi restituisce POINT.

Ovviamente a me servono i poligoni e non i punti.
Qualcuno mi sa aiutare?

grazie mille in anticipo
Benedetto

On Thu, Mar 24, 2011 at 03:08:33PM +0100, Benedetto Porfidia wrote:

Salve a tutti,
stò provando la seguente query su 2 db postgres/postgis 9.0/1.5 e
8.2/1.4(?) su una stessa tabella clonata sui due db.

SELECT DISTINCT ON (mytable.my_id) mytable.my_id,
asText(envelope(mytable.the_geom)) AS the_geom
   FROM mytable
  ORDER BY mytable.my_id;

Le geometrie di mytable.the_geom sono solo punti.

Il problema è che col db vecchia versione, la funzione envelope
restituisce correttamente i POLYGON dei bbox dei punti raggruppati per
my_id, mentre con la nuova versione mi restituisce POINT.

PUo' darsi tu stia confondendo "envelope" con "extent".
Il primo e' una funzione, la seconda un aggregatore.

--strk;

  () Free GIS & Flash consultant/developer
  /\ http://strk.keybit.net/services.html

Sandro, grazie

risolto con l'extent; mi rimane l'interrogativo sul perchè su una versione envelope restituisce Polygon e sull'altra Points.
Forse envelope restituisce l'envelope del primo punto che trova con con la distinct? Allora perchè mi ritorna polygon?

./B

Il 24/03/2011 15.14, Sandro Santilli ha scritto:

On Thu, Mar 24, 2011 at 03:08:33PM +0100, Benedetto Porfidia wrote:

Salve a tutti,
stò provando la seguente query su 2 db postgres/postgis 9.0/1.5 e
8.2/1.4(?) su una stessa tabella clonata sui due db.

SELECT DISTINCT ON (mytable.my_id) mytable.my_id,
asText(envelope(mytable.the_geom)) AS the_geom
    FROM mytable
   ORDER BY mytable.my_id;

Le geometrie di mytable.the_geom sono solo punti.

Il problema è che col db vecchia versione, la funzione envelope
restituisce correttamente i POLYGON dei bbox dei punti raggruppati per
my_id, mentre con la nuova versione mi restituisce POINT.

PUo' darsi tu stia confondendo "envelope" con "extent".
Il primo e' una funzione, la seconda un aggregatore.

--strk;

   () Free GIS& Flash consultant/developer
   /\ http://strk.keybit.net/services.html

On Thu, Mar 24, 2011 at 04:23:20PM +0100, Benedetto Porfidia wrote:

Sandro, grazie

risolto con l'extent; mi rimane l'interrogativo sul perchè su una
versione envelope restituisce Polygon e sull'altra Points.
Forse envelope restituisce l'envelope del primo punto che trova con con
la distinct? Allora perchè mi ritorna polygon?

Puo' darsi.
Non ho presente la sintassi DISTINCT ON, quindi non sono sicuro
della semantica.

--strk;

  () Free GIS & Flash consultant/developer
  /\ http://strk.keybit.net/services.html

Purtroppo è proprio la distinct che crea problemi.
Infatti con la clausola asText la query ritorna dei poligoni. Facendo "create table as select" e provandola a caricare su qgis, la visualizza come punti. Occorre quindi togliere la distinct e allora riappaiono i poligoni. Rimane però, da trovare una chiave univoca da mettere nelle select per evitare la creazione di una tabella e farla diventare una view "visibile" a qgis
Grazie ancora
ciao
./b

Il 24/03/2011 16.40, Sandro Santilli ha scritto:

On Thu, Mar 24, 2011 at 04:23:20PM +0100, Benedetto Porfidia wrote:

Sandro, grazie

risolto con l'extent; mi rimane l'interrogativo sul perchè su una
versione envelope restituisce Polygon e sull'altra Points.
Forse envelope restituisce l'envelope del primo punto che trova con con
la distinct? Allora perchè mi ritorna polygon?

Puo' darsi.
Non ho presente la sintassi DISTINCT ON, quindi non sono sicuro
della semantica.

--strk;

   () Free GIS& Flash consultant/developer
   /\ http://strk.keybit.net/services.html