For tpcpoint, the temporal type is emitted as {"type":"MovingPCPoint", … "coordinates":[[X,Y,Z], …], "datetimes":[…]}. X/Y/[Z] are extracted from each instant's pcpoint via the schema cache; if the schema lacks X/Y the coordinate array is empty for that instant.
asMFJSON(tpcpoint, options int=0, flags int=0, maxdecimaldigits int=15) → text
For tpcpatch, the type tag is "MovingPCPatch" and each instant emits a small object {"pcid":N, "npoints":N, "bounds":[xmin,xmax,ymin,ymax]}. The compressed point payload is intentionally not in the JSON — use asBinary / asHexWKB for round-trip.
asMFJSON(tpcpatch, options int=0, flags int=0, maxdecimaldigits int=15) → text
When options is set to 1 the output also includes a "bbox" key — for tpcpoint / tpcpatch this is a TPCBox JSON object that adds a "pcid" field next to the standard stbox-shaped "bbox" array.
MF-JSON is output-only for tpcpoint / tpcpatch. The JSON form does not carry the schema (pcid + dim layout) for tpcpoint, and is a per-instant summary that drops the per-point payload for tpcpatch — so a reverse parser cannot reconstruct the original value. For lossless round-trip use asBinary / tpcpointFromBinary / tpcpatchFromBinary, or asHexWKB / tpcpointFromHexWKB / tpcpatchFromHexWKB.