1.8 KiB
To Do
-
Add in dimensional stats caching to speed up dimensional compression in batch cases
-
(?) convert PCBYTES to use PCDIMENSION* instead of holding all values as dupes
-
(??) convert PCBYTES handling to pass-by-reference instead of pass-by-value
-
implement PC_PatchAvg/PC_PatchMin/PC_PatchMax as C functions against patches with dimensional and uncompressed implementations
-
TESTS for pc_patch_dimensional_from_uncompressed() and pc_patch_dimensional_compress()
-
Update pc_patch_from_patchlist() to merge GHT patches without decompression
-
Update pc_patch_from_patchlist() to merge dimensional patches directly
-
Before doing dimensional compression, sort by geohash (actually by a localized geohash based on the patch bounds). This will (?) enhance the autocorrelation of values and improve run-length encoding in particular
-
Compute PCSTATS in WKB reading code for all patch variants, not just uncompressed
- compute stats in libght
- compute stats of dimensional
-
Remove extents in favour of PCSTATS
-
Make PCSTATS a static member of the PCPATCH, not a pointer
-
PC_Filter[GreaterThan|LessThan|Between](patch, dimension, value) should note the relevant stats and short-circuit return either all or none of the patch, as necessary
Use Cases to Support
- frustrum filtering
- raster overlaying
- filtering on attribute values
- filtering on spatial polygons (in and out)
- find the k nearest points to point P
- gridding/binning ("avg intensity per cell", "max z per cell", "agv red per cell", "rgb into grid/picture")
- reprojection / re-schema
More Functions
-
PC_FilterPolygon(patch, wkb) returns patch
-
PC_Filter(patch, dimension, expression) returns patch
-
PC_Get(pcpatch, dimname) returns Array(numeric)
-
PC_Transform(pcpatch, newpcid)