Le stockage des nuages de points consomme beaucoup d'espace. Le transfert de fichiers non compressés nécessite une bande passante importante, ce qui entraîne des coûts de transmission élevés. Il est donc nécessaire de compresser les nuages de points.
Scénarios
Conduite autonome : compressez les données de nuage de points générées par les scans radar.
Patrimoine culturel numérique : compressez les données de nuage de points des reliques culturelles pour leur préservation numérique.
Ville intelligente : compressez les données de nuage de points issues de la reconstruction 3D de la ville afin de permettre un rendu et un affichage fluides.
Réalité mixte : fournissez des capacités d'encodage et de décodage en temps réel pour les données de nuage de points.
Notes
La compression de nuages de points prend uniquement en charge le traitement synchrone (méthode x-oss-process).
Avant d'utiliser la compression de nuages de points, vous devez associer un projet IMM. Pour savoir comment associer un projet dans la console ou via une API, consultez les rubriques Démarrage rapide et AttachOSSBucket - Associer un bucket OSS.
L'accès anonyme est refusé.
Vous devez disposer des autorisations requises pour utiliser cette fonctionnalité. Pour plus d'informations, consultez la rubrique autorisations.
Paramètres
Action : pointcloud/compress
Le tableau suivant décrit les paramètres.
|
Paramètre |
Type |
Obligatoire |
Description |
|
f |
string |
Non |
Format du fichier PCD. Seul le format pcd est pris en charge. |
|
m |
string |
Oui |
Méthode de compression du fichier de nuage de points. Valeurs possibles :
|
|
fs |
string |
Non |
Champs de propriété PCD à compresser et ordre de compression. Après la compression, les données sont décompressées dans cet ordre. Seule la propriété xyz est prise en charge. Remarque
Ce paramètre doit être encodé en Base64 URL-safe. Par exemple, pour spécifier |
Les paramètres suivants concernent la méthode de compression Octree. Ajoutez ces paramètres après le paramètre /octree.
Le tableau suivant décrit les paramètres :
|
Paramètre |
Type |
Obligatoire |
Description |
|
lib |
string |
Non |
Nom de la bibliothèque de compression. Seul pcl est pris en charge. |
|
pr |
float |
Non |
Résolution du nuage de points. Cette variable détermine la précision des coordonnées des points lors de l'encodage. La valeur par défaut est 0,01. La plage de valeurs va de 0 à 1. |
|
or |
float |
Non |
Taille minimale de bloc lors du partitionnement de l'octree, correspondant à la longueur d'arête d'un voxel. La valeur par défaut est 0,01. La plage de valeurs va de 0 à 1. |
|
d |
int |
Non |
Indique s'il faut utiliser le sous-échantillonnage (downsampling). Une valeur de 1 signifie que le sous-échantillonnage est activé. Le sous-échantillonnage est utilisé par défaut. |
Les paramètres suivants concernent la méthode de compression Kdtree. Ajoutez ces paramètres après le paramètre /kdtree.
Le tableau suivant décrit les paramètres :
|
Paramètre |
Type |
Obligatoire |
Description |
|
lib |
string |
Non |
Nom de la bibliothèque de compression. Seul draco est pris en charge. |
|
cl |
int |
Oui |
Niveau de compression. Plus la valeur est élevée, meilleurs sont les détails conservés. La plage de valeurs va de 0 à 10. |
|
qb |
int |
Oui |
Nombre de bits de quantification. Plus la valeur est élevée, plus les détails sont conservés. La plage de valeurs va de 1 à 31. |
Utiliser l'API REST
Compresser un fichier de nuage de points à l'aide de la méthode Octree
Méthode de traitement
Nom du fichier compressé : example.pcd
-
Méthode de compression : Octree
Bibliothèque de compression : pcl
Résolution du nuage de points : 0,01
Taille minimale de bloc octree : 0,01
Utiliser le sous-échantillonnage : 1
Champs PCD à compresser : xyz
Exemple de requête
GET /example.pcd?x-oss-process=pointcloud/compress,m_octree,fs_eHl6/octree,or_0.001,pr_0.001,d_1,lib_pcl HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
Exemple de réponse
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865
{{Binary data of the compressed file}}
Compresser un fichier de nuage de points à l'aide de la méthode Kdtree
Méthode de traitement
Nom du fichier compressé : example.pcd
-
Méthode de compression : Kdtree
Bibliothèque de compression : draco
Niveau de compression : 1
Bits de quantification : 1
Champs PCD à compresser : xyz
Exemples
GET /example.pcd?x-oss-process=pointcloud/compress,m_kdtree,fs_eHl6/kdtree,cl_0,qb_0,lib_draco HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
Exemple de réponse
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865
{{Binary data of the compressed file}}
Utiliser un SDK
La compression de nuages de points prend uniquement en charge le traitement synchrone. Pour plus d'informations sur l'utilisation d'un SDK, consultez la rubrique Utiliser un SDK.
Facturation
La compression de nuages de points génère les éléments facturables suivants pour OSS et IMM :
-
OSS : pour plus d'informations sur les tarifs, consultez la page Tarification OSS.
API
Élément facturable
Description
GetObject
Requêtes GET
Les frais sont calculés en fonction du nombre de requêtes réussies.
Trafic sortant via Internet
Si vous appelez l'opération GetObject à l'aide d'un endpoint public (par exemple, oss-cn-hangzhou.aliyuncs.com) ou d'un endpoint d'accélération de transfert (par exemple, oss-accelerate.aliyuncs.com), des frais de trafic sortant via Internet sont générés. Ces frais sont facturés en fonction de la taille des données.
Récupération de données depuis le stockage Infrequent Access (IA)
Si les données récupérées sont stockées dans la classe de stockage IA, des frais de récupération de données sont générés. Ces frais sont facturés en fonction du volume de données récupérées.
Accélération de transfert
Si vous activez l'accélération de transfert et utilisez un endpoint d'accélération pour accéder à votre bucket, des frais d'accélération de transfert sont générés. Ces frais sont facturés en fonction de la taille des données.
-
IMM : pour plus d'informations sur les tarifs, consultez la rubrique Éléments facturables IMM.
ImportantÀ partir du 28 juillet 2025 à 11 h 00 (UTC+8), le service de compression de nuages de points IMM évoluera d'un service gratuit vers un service payant. L'élément facturable spécifique est PointCloudCompress. Pour plus d'informations, consultez l'Annonce relative à l'ajustement de la facturation IMM.
API
Élément facturable
Description
CreateCompressPointCloudTask
PointCloudCompress
Les frais sont calculés en fonction du nombre de requêtes réussies.