---
title: サポートされているファイルフォーマット
slug: api-guide/ja/GsLFOAmKKGm3CNU_7rxPv
docTags: 
createdAt: 2024-12-17T10:47:15.220Z
---

APIでは、画像と点群のさまざまなファイルフォーマットのアップロードが可能です。このセクションでは、各タイプでサポートされているフォーマットについて説明します。

## 画像

現在、以下の画像フォーマットをサポートしています：**png**、**jpg**、**jpeg**、**webp**、**avif**。

## 点群

Kognicは内部でpotreeフォーマットを使用して点群を表現・表示しています。そのため、アップロードされた点群データはシステムでシーンとして使用される前に、このフォーマットに変換する必要があります。現在、以下のフォーマットの自動変換をサポートしています：**pcd**、**csv**、**las**。ただし、コンバーターはこれらのフォーマットのすべてのバージョンを網羅的にサポートしているわけではありません。各フォーマットの詳細については以下を参照してください。

内部的には、点の座標の精度は最大1e-6であるため、0.0000012と0.0000013は同一の点として扱われます。

タイムスタンプフィールドは、単一フレームおよびシーケンスシーンの両方において、点群に常に含まれている必要があります。ただし、モーション補償が有効でない場合、その値は使用されません（[モーション補償](docId:-UnWSC-cucoYH-mU9JOsc)を参照）。

強度フィールドは点群に含めることができ、変換時に保持されます。省略した場合、すべての点の強度はゼロになります。

カラーフィールドは点群に含めることができ、変換時に保持されます。省略した場合、カラーデータは使用されません。

プラットフォームで使用されないその他の補助データは、potreeへの変換時に現在破棄されます。

:::hint{type="warning"}
### カラム名は正確に一致させる必要があります

カラム名は以下に記載されたとおりに正確に指定する必要があります。そうでない場合、変換は失敗します。タイムスタンプの場合は、代わりにデフォルト値の0が使用されます。
:::

### PCD

現在サポートされているフォーマットには以下のヘッダーが含まれます：

```javascript
VERSION .7
FIELDS x y z intensity timestamp rgb
SIZE 4 4 4 4 8 4
TYPE F F F U U F
COUNT 1 1 1 1 1 1
WIDTH <w>
HEIGHT <h>
VIEWPOINT 0 0 0 1 0 0 0
POINTS <n>
DATA ascii
```

`DATA`タイプとして`ascii`の他に、`binary`および`binary_compressed`もサポートしています。ただし、現在`binary_compressed`の場合、構造化点群（`HEIGHT`が1でない場合）はサポートしていません。

### CSV

現在、以下のヘッダーと完全に一致し、区切り文字として`,`を使用する場合のみサポートしています（`intensity`はuint8、`ts_gps`はuint64、`x`、`y`、`z`はすべてfloat32）：

```text
ts_gps,x,y,z,intensity,rgb,red,green,blue
```

rgbフィールドはオプションであり、rgbカラムのみで指定するか、色ごとに1カラムで指定するかのどちらかが可能です。3つのカラムのうち1つだけが設定されている場合、またはカラーカラムとrgbを組み合わせた場合は処理が失敗します。rgbカラーは16進数カラーで表現し、red、green、blueは0〜255の整数値で指定します。

その他のフォーマットはすべて失敗します。

### LAS

現在、[las 1.2仕様](https://www.asprs.org/a/society/committees/standards/asprs_las_format_v12.pdf)で定義されているバージョン1.2およびポイントフォーマットID 3をサポートしています。その他のフォーマットはすべて変換に失敗します。

## IMUデータ

IMUデータをPythonモデルではなくファイルで指定する場合、以下のJSON形式が必要です：

```javascript
[
 {
  "postion": {
   "x": 0.0,
   "y": 0.0,
   "z": 0.0
  },
  "rotation": {
   "w": 0.0,
   "x": 0.0,
   "y": 0.0,
   "z": 0.0
  }
  "timestamp": <unix timestamp in nano seconds>
 },
 ...
]
```
