Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#3733 closed defect (wontfix)

Cannot ANALYZE table w/ valid features in it

Reported by: pramsey Owned by: pramsey
Priority: medium Milestone: PostGIS 2.3.4
Component: postgis Version: 2.3.x
Keywords: Cc:

Description

The features are admittedly a bit awful

 POINT ZM (1463702.128 517438.510000008 0 -1.79769313486232e+308)
 POINT ZM (1234886.324 454719.691000004 0 -1.79769313486232e+308)
 POINT ZM (1230629.645 468753.839000007 0 -1.79769313486232e+308)
 POINT ZM (1243683.988 466816.384999998 0 -1.79769313486232e+308)

however, there's about 600 of them, and they do have coordaintes, so no reason to not analyze them, this appears to be exercising some kind of shortcoming in the analyze logic.

Attachments (1)

BCGW_78757263_149160451233_6612.zip (68.7 KB ) - added by pramsey 7 years ago.
point shape file

Download all attachments as: .zip

Change History (5)

by pramsey, 7 years ago

point shape file

comment:1 by robe, 7 years ago

We can add this to regress tests I guess after you have tested.

CREATE TABLE test_awful(gid serial, geom geometry);
INSERT INTO test_awful(geom)
VALUES ( 'POINT ZM (1463702.128 517438.510000008 0 -1.79769313486232e+308)'::geometry),
 ('POINT ZM (1234886.324 454719.691000004 0 -1.79769313486232e+308)'::geometry),
 ('POINT ZM (1230629.645 468753.839000007 0 -1.79769313486232e+308)'::geometry ),
 ('POINT ZM (1243683.988 466816.384999998 0 -1.79769313486232e+308)'::geometry );

analyze test_awful;

I assume the notice:

NOTICE:  no non-null/empty features, unable to compute statistics

is what you are referring to.

comment:2 by robe, 7 years ago

Milestone: PostGIS 2.3.3PostGIS 2.3.4

comment:3 by pramsey, 7 years ago

Resolution: wontfix
Status: newclosed

OK, so the computation works fine in 2D mode, but in 4D mode it runs afoul of this little code block:

 if ( ! gbox_is_valid(&gbox) )
  {
    POSTGIS_DEBUGF(3, " skipped infinite/nan geometry %d", i);
    continue;
  }

The super-huge M value gets bumped up to Inf in float space, so the box is, from the point-of-view of the stats system, not handle-able. I'm going to close this as won't-fix since hte workaround is just to force2d the crapping values off your geometries.

comment:4 by strk, 7 years ago

I recall the stats gatherer had code to skip "hard deviants", could this be the case for the M value ?

Note: See TracTickets for help on using tickets.