postgis - envelope restituisce points

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

postgis - envelope restituisce points

Benedetto Porfidia
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
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: postgis - envelope restituisce points

Sandro Santilli
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
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: postgis - envelope restituisce points

Benedetto Porfidia
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
>

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: postgis - envelope restituisce points

Sandro Santilli
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
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
Reply | Threaded
Open this post in threaded view
|

Re: postgis - envelope restituisce points

Benedetto Porfidia
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
>

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011