---
title: 지원되는 파일 형식
slug: api-guide/ko/FLLjvrCrjgvSdVeC8StbL
docTags: 
createdAt: 2024-12-17T10:47:15.000Z
---

API는 다양한 형식의 이미지와 포인트 클라우드 업로드를 지원합니다. 이 섹션에서는 각 타입에 대해 지원되는 형식을 설명합니다.

## 이미지

현재 다음 이미지 형식을 지원합니다: **png**, **jpg**, **jpeg**, **webp**, **avif**.

## 포인트 클라우드

Kognic은 내부적으로 potree 형식을 사용하여 포인트 클라우드를 표현하고 표시합니다. 즉, 업로드된 포인트 클라우드 데이터는 시스템에서 씬으로 사용되기 전에 이 형식으로 변환되어야 합니다. 현재 다음 형식의 자동 변환을 지원합니다: **pcd**, **csv**, **las**. 다만 변환기가 이 형식들의 모든 가능한 버전을 완전히 지원하는 것은 아니므로, 각 형식에 대한 자세한 내용은 아래를 참고하세요.

내부적으로 포인트 좌표의 최대 정밀도는 1e-6이므로 0.0000012와 0.0000013은 동일한 포인트로 취급됩니다.

타임스탬프 필드는 단일 프레임 씬과 시퀀스 씬 모두에서 포인트 클라우드에 항상 존재해야 하지만, [모션 보상](docId\:SDgyFJM5eF6B9NV-1PfZG) 그 값은 중요하지 않습니다.

포인트 클라우드에 강도(intensity) 필드를 제공할 수 있으며, 변환 시 그대로 유지됩니다. 생략하면 모든 포인트의 강도는 0이 됩니다.

포인트 클라우드에 색상(color) 필드를 제공할 수 있으며, 변환 시 그대로 유지됩니다. 생략하면 색상 데이터가 사용되지 않습니다.

플랫폼에서 사용되지 않는 기타 보조 데이터는 현재 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이 아닌, 즉 구조화된(organized) 포인트 클라우드는 현재 지원하지 않습니다.

### CSV

현재 다음과 같은 정확한 헤더만 지원하며, 구분 문자로는 `,`만 사용할 수 있습니다(`intensity`는 uint8, `ts_gps`는 uint64, `x`, `y`, `z`는 모두 float32입니다).

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

rgb 필드는 선택 사항이며, rgb 열 하나만으로 지정하거나 색상별로 하나씩의 열로 지정할 수 있습니다. 세 개의 열 중 하나만 설정되거나 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 데이터

Python 모델이 아닌 파일로 imu 데이터를 지정하는 경우 다음과 같은 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>
 },
 ...
]
```
