29.16 SDO_PC_PKG.SDO_PC_NN
Format
SDO_PC_PKG.SDO_PC_NN( pc IN SDO_PC, center IN SDO_GEOMETRY, n IN NUMBER ) RETURN BLOB;
Description
Returns the nearest n points in the input point cloud object to the specified 3D point.
Parameters
Usage Notes
The SDO_PC data type is described in Point Cloud-Related Object Types.
Modeling Solids describes how to use point clouds to model solids.
Examples
The following example returns the 3200 closest points from a specified “center” point within a specified point cloud object.
select rownum pt_pos, sdo_geometry( 3001, null, sdo_point_type(x, y, z), null, null) pts from table( sdo_util.getvertices( geometry => sdo_pc_pkg.to_geometry( pts => sdo_pc_pkg.sdo_pc_nn( pc => (select pc from pcs where id = 1), center => sdo_geometry( 3001, null, sdo_point_type(15, 15, 30), null, null), n => 3200), num_pts => 3200, pc_tot_dim => 3, srid => null, blk_domain => null, get_ids => 1))) order by sqrt( (x - 15) * (x - 15) + (y - 15) * (y - 15) + (z - 30) * (z - 30)), x, y, z; PT_POS ---------- PTS(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(15, 15, 30), NULL, NULL) 2 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(15, 15, 30), NULL, NULL) 4 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(14, 15, 29), NULL, NULL) 10 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(14, 15, 29), NULL, NULL) 5 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(14, 16, 30), NULL, NULL) 11 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(14, 16, 30), NULL, NULL) 3 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(15, 14, 29), NULL, NULL) ... 3200 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(33, 28, 61), NULL, NULL) 3199 SDO_GEOMETRY(3001, NULL, SDO_POINT_TYPE(46, 2, 48), NULL, NULL) 3200 rows selected. Elapsed: 00:00:15.57
Parent topic: SDO_PC_PKG Package (Point Clouds)