Understanding 3d bbox filtering support

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Understanding 3d bbox filtering support

Andrea Aime
Hi,
I'm trying to perform a "simple" 3d bounding box filter against a dataset with 3d coordinates
and I'm getting some funny/weird results. I am using postgis 2.2.

The table looks as follows:

                                        Table "public.3dfloor"
   Column   |             Type              |                        Modifiers                        
------------+-------------------------------+---------------------------------------------------------
 gid        | integer                       | not null default nextval('"3dfloor_gid_seq"'::regclass)
 newfeat_id | integer                       | 
 geom       | geometry(MultiPolygonZ,7415) | 
Indexes:
    "3dfloor_pkey" PRIMARY KEY, btree (gid)
    "3dfloor_geom_idx" gist (geom gist_geometry_ops_nd)

The index has been created with ND support. Now, the table contains 16 rows with varying Z values,
sample summary here:

> select gid, ST_ZMin(geom), ST_ZMax(geom) from "3dfloor";
 gid | st_zmin | st_zmax 
-----+---------+---------
   1 |       0 |       0
   2 |       0 |       0
   3 |       3 |       3
   4 |       6 |       6
   5 |       9 |       9
   6 |      12 |      12
   7 |      15 |      15
   8 |      18 |      18
   9 |      21 |      21
  10 |      24 |      24
  11 |      27 |      27
  12 |      30 |      30
  13 |      33 |      33
  14 |      36 |      36
  15 |      39 |      39
  16 |      42 |      42

I'm trying to filter using a 3d bbox, but I'm getting back all rows while I would expect to get only the first two, instead I'm getting
back all of them:

> select count(*) from "3dfloor" where geom &&& ST_3DMakeBox(ST_makePoint(0,0,0), ST_MakePoint(1000000,1000000,1));
16

Anyone knows why it's happening? Hopefully I'm missing something obvious :-)

Cheers
Andrea


--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Understanding 3d bbox filtering support

Rémi Cura
Hey,
I can't test right now,
but :
 - you have the same srid for object and bbox right?
 - I remember Sandro discussing this case

Cheers,
Rémi-C


2017-01-18 14:47 GMT+01:00 Andrea Aime <[hidden email]>:
Hi,
I'm trying to perform a "simple" 3d bounding box filter against a dataset with 3d coordinates
and I'm getting some funny/weird results. I am using postgis 2.2.

The table looks as follows:

                                        Table "public.3dfloor"
   Column   |             Type              |                        Modifiers                        
------------+-------------------------------+---------------------------------------------------------
 gid        | integer                       | not null default nextval('"3dfloor_gid_seq"'::regclass)
 newfeat_id | integer                       | 
 geom       | geometry(MultiPolygonZ,7415) | 
Indexes:
    "3dfloor_pkey" PRIMARY KEY, btree (gid)
    "3dfloor_geom_idx" gist (geom gist_geometry_ops_nd)

The index has been created with ND support. Now, the table contains 16 rows with varying Z values,
sample summary here:

> select gid, ST_ZMin(geom), ST_ZMax(geom) from "3dfloor";
 gid | st_zmin | st_zmax 
-----+---------+---------
   1 |       0 |       0
   2 |       0 |       0
   3 |       3 |       3
   4 |       6 |       6
   5 |       9 |       9
   6 |      12 |      12
   7 |      15 |      15
   8 |      18 |      18
   9 |      21 |      21
  10 |      24 |      24
  11 |      27 |      27
  12 |      30 |      30
  13 |      33 |      33
  14 |      36 |      36
  15 |      39 |      39
  16 |      42 |      42

I'm trying to filter using a 3d bbox, but I'm getting back all rows while I would expect to get only the first two, instead I'm getting
back all of them:

> select count(*) from "3dfloor" where geom &&& ST_3DMakeBox(ST_makePoint(0,0,0), ST_MakePoint(1000000,1000000,1));
16

Anyone knows why it's happening? Hopefully I'm missing something obvious :-)

Cheers
Andrea


--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users


_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Understanding 3d bbox filtering support

Andrea Aime
On Wed, Jan 18, 2017 at 5:13 PM, Rémi Cura <[hidden email]> wrote:
Hey,
I can't test right now,
but :
 - you have the same srid for object and bbox right?

Err... the box3d does not seem to have a srid, nor I could find a way to assign one.
 
 - I remember Sandro discussing this case

I searched in postgis-users before sending and again now, but could not find any.
I've now searched in postgis-devel and found a thread you started on the topic instead:

So... it seems that the z gets dropped eh? I see a pull request to fix it but it seems it has
been closed and the associated ticket marked as "wont' fix":

Soo... should I do 2d filtering using && and then do the z filtering using ST_Zmin/ST_ZMax?

Cheers
Andrea

--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Understanding 3d bbox filtering support

Daniel Baston
So... it seems that the z gets dropped eh? I see a pull request to fix it but it seems it has
been closed and the associated ticket marked as "wont' fix":

Well, I think the ticket is showing that the patch represented a change in behavior and wouldn't be backported to 2.2.  It should work as expected in the latest stable release.

Dan

On Thu, Jan 19, 2017 at 8:14 AM, Andrea Aime <[hidden email]> wrote:
On Wed, Jan 18, 2017 at 5:13 PM, Rémi Cura <[hidden email]> wrote:
Hey,
I can't test right now,
but :
 - you have the same srid for object and bbox right?

Err... the box3d does not seem to have a srid, nor I could find a way to assign one.
 
 - I remember Sandro discussing this case

I searched in postgis-users before sending and again now, but could not find any.
I've now searched in postgis-devel and found a thread you started on the topic instead:

So... it seems that the z gets dropped eh? I see a pull request to fix it but it seems it has
been closed and the associated ticket marked as "wont' fix":

Soo... should I do 2d filtering using && and then do the z filtering using ST_Zmin/ST_ZMax?

Cheers
Andrea

--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: <a href="tel:+39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313
fax: <a href="tel:+39%200584%20166%200272" value="+3905841660272" target="_blank">+39 0584 1660272
mob: <a href="tel:+39%20339%20884%204549" value="+393398844549" target="_blank">+39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users


_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Understanding 3d bbox filtering support

Paul Ramsey-3
In reply to this post by Andrea Aime
No, just construct a 3D geometry as your query filter, not a 3d box.

select count(*) from "3dfloor" where geom &&& ST_Makeline(ST_MakePoint(0,0,0), ST_MakePoint(1000000,1000000,1));

I would imagine that should work fine and dodge this little nastiness.

P

On Thu, Jan 19, 2017 at 5:14 AM, Andrea Aime <[hidden email]> wrote:
On Wed, Jan 18, 2017 at 5:13 PM, Rémi Cura <[hidden email]> wrote:
Hey,
I can't test right now,
but :
 - you have the same srid for object and bbox right?

Err... the box3d does not seem to have a srid, nor I could find a way to assign one.
 
 - I remember Sandro discussing this case

I searched in postgis-users before sending and again now, but could not find any.
I've now searched in postgis-devel and found a thread you started on the topic instead:

So... it seems that the z gets dropped eh? I see a pull request to fix it but it seems it has
been closed and the associated ticket marked as "wont' fix":

Soo... should I do 2d filtering using && and then do the z filtering using ST_Zmin/ST_ZMax?

Cheers
Andrea

--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: <a href="tel:+39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313
fax: <a href="tel:+39%200584%20166%200272" value="+3905841660272" target="_blank">+39 0584 1660272
mob: <a href="tel:+39%20339%20884%204549" value="+393398844549" target="_blank">+39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users


_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Understanding 3d bbox filtering support

Andrea Aime
Ah, thanks Paul, that works

Cheers
Andrea

On Thu, Jan 19, 2017 at 4:32 PM, Paul Ramsey <[hidden email]> wrote:
No, just construct a 3D geometry as your query filter, not a 3d box.

select count(*) from "3dfloor" where geom &&& ST_Makeline(ST_MakePoint(0,0,0), ST_MakePoint(1000000,1000000,1));

I would imagine that should work fine and dodge this little nastiness.

P

On Thu, Jan 19, 2017 at 5:14 AM, Andrea Aime <[hidden email]> wrote:
On Wed, Jan 18, 2017 at 5:13 PM, Rémi Cura <[hidden email]> wrote:
Hey,
I can't test right now,
but :
 - you have the same srid for object and bbox right?

Err... the box3d does not seem to have a srid, nor I could find a way to assign one.
 
 - I remember Sandro discussing this case

I searched in postgis-users before sending and again now, but could not find any.
I've now searched in postgis-devel and found a thread you started on the topic instead:

So... it seems that the z gets dropped eh? I see a pull request to fix it but it seems it has
been closed and the associated ticket marked as "wont' fix":

Soo... should I do 2d filtering using && and then do the z filtering using ST_Zmin/ST_ZMax?

Cheers
Andrea

--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: <a href="tel:+39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313
fax: <a href="tel:+39%200584%20166%200272" value="+3905841660272" target="_blank">+39 0584 1660272
mob: <a href="tel:+39%20339%20884%204549" value="+393398844549" target="_blank">+39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users


_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users



--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==

Ing. Andrea Aime 
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

 

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility  for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-------------------------------------------------------

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Loading...