JSON Data Formats ================= All MQTT messages are transmitted as JSON-formatted text. Supported formats include: ``GEOJSON``, ``CSIJSON``, and ``BASICJSON``. Due to data logger memory constraints, individual messages are limited to approximately **4 KB** in size. If a DataTable record exceeds this limit, a **compile-time error** will be generated. In such cases, consider redesigning your data layout by using multiple DataTables to split the data into smaller, manageable parts. .. note:: CR1000X OS 8.3.0 and CR6 OS 14.3.0, All supported JSON formats are transmitted in compact form without whitespace. The examples below include indentation and whitespace (pretty-printed) for readability. GEOJSON Output Format --------------------- CSI GEOJSON is an adaptation of the GEOJSON open standard data format. This format is less verbose than the CSI-JSON format and allows multiple observations to be compactly transmitted in a single JSON payload. In the CSI version of GEOJSON the observationNames are in an array which match fields stored in data tables. The corresponding location in the array is the same location in the values array where the observation value is located. .. note:: GEOJSON is the required format when the data endpoint is Campbell Cloud. **GEOJSON Format Structure** .. code-block:: { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ , , ] }, "Properties": { "loggerID": , "publish_ts":