Repository navigation
Commit 4757f90
committed
feat: object-oriented support for the cbuffer, npoint, pose and rgeometry temporal types
Add first-class PyMEOS classes for the four extended temporal type
families, mirroring the existing tpoint/ttext pattern and reusing the
exact pymeos_cffi backing functions (no reimplementation):
- main: TNpoint/TCbuffer/TPose/TRgeometry (+ Inst/Seq/SeqSet)
- collections: base value types Npoint/Cbuffer/Pose and their
NpointSet/CbufferSet/PoseSet (rgeometry's base is a shapely geometry,
reusing the existing GeometrySet)
- factory + package exports wired for all four families; tests added
TCbuffer additionally exposes the full spatial-relationship surface
MEOS provides for it (ever / always / temporal: contains, covers,
disjoint, within-distance, intersects, touches), mirroring TPoint.
Verified against the MEOS headers: MEOS defines no spatial-relationship
API for npoint, pose or rgeometry, so their relationship surface is
complete at zero by construction (documented, not excluded) -- each
type covers 100% of its real MEOS-backed surface.
The factory resolves the four type tags through the compiled binding
(`_meos_cffi.lib`, the same source pymeos_cffi builds its enums from),
so the build imports cleanly and the types activate even where
pymeos_cffi's MeosType enum does not yet wrap the cbuffer/pose/rgeometry
tags.
Where MEOS provides no backing function the method is omitted rather
than faked: notably trgeometry has no string input parser (built via
from_geometry_tpose / hexwkb).1 parent 35008e4 commit 4757f90
21 files changed
Lines changed: 6601 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
69 | 85 | | |
70 | 86 | | |
71 | 87 | | |
| |||
86 | 102 | | |
87 | 103 | | |
88 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
89 | 111 | | |
90 | 112 | | |
91 | 113 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
30 | 33 | | |
31 | 34 | | |
32 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments