XGRIDSDocumentation
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Lixel CyberColor

    • LCC Studio

      • Prise en main
      • Version et mises à jour
      • Téléchargement et installation
      • Aperçu de l’interface et navigation
      • Avant la reconstruction
      • Reconstruction du modèle
      • Reconstruction d’un modèle unique
      • Fusion cartographique
      • Fusion aérienne-terrestre
      • Reconstruction aérienne
      • Mes modèles
      • Autres fonctionnalités
      • Paramètres et compte
      • Convertisseur
      • Reconstruction vidéo
      • Questions fréquentes
    • LCC Scene Editor

      • Version et mises à jour
      • Compte et connexion
      • Présentation du produit et accueil
      • Interface de l’éditeur
      • Modes de navigation de scène
      • Fichier
      • Paramètres
      • Opérations d’édition
      • Fenêtre
      • Barre d’outils globale
      • Ressources et propriétés
      • Barre d’outils gauche
      • Points de vue
      • Portail
      • Skybox
      • Annotations
      • Mesure
      • Parcours
      • Rapport de scène
      • 3D Layout
      • Mini-carte
      • Mode Prévisualisation, Viewer
      • Aide
      • FAQ
      • Point d’apparition
    • LCC Model Editor

      • Version et mises à jour
      • Guide de l’utilisateur
      • Aperçu et interface
      • Opérations sur les fichiers
      • Sélecteurs
      • Modification des modèles
      • Mesure
      • Réglage des couleurs
      • Gestion des ressources
      • Paramètres et aide
      • Questions fréquentes
    • Bonnes Pratiques

      • Fusion de plusieurs modèles 3DGS de grande taille
  • Plugin & SDK

    • Unreal

      • Introduction
      • Démarrage rapide - Windows
      • Démarrage rapide - Linux
      • Démarrage rapide - Quest3
      • Éditions et licences
      • Rendu
      • Rastérisation Tiled (expérimental)
      • Réglages visuels
      • Normales et éclairage
      • Édition de scène
      • Paramètres de performance
      • Guide d'optimisation des performances
      • Intégration avec les plugins tiers et moteur
      • Maillage proxy
      • Animation de chargement
      • Collision
      • Prise en charge du système de navigation
      • Prise en charge de l'eau à couche unique
      • Localisation
      • Questions fréquentes
      • Dépannage
      • Journaux et diagnostics
      • Nous contacter
      • Bonnes pratiques

        • Rééclairer un 3DGS avec un maillage LixelStudio
        • Rendu indépendant par caméra
      • Référence API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Journal des modifications

        • v3.5.0
        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Introduction au SDK Unity
      • Fonctionnalités techniques
      • Exigences de l'environnement de développement
      • Guide de démarrage rapide PC
      • Guide d'optimisation des paramètres de projet
      • Guide de développement Pico 4 Ultra
      • Guide de streaming PC du Pico 4 Ultra
      • Guide de développement Quest 3
      • Guide de streaming PC du Quest 3
      • Guide de développement OpenXR
      • Guide Business Streaming du Pico 4 Ultra
      • Glossaire
      • FAQ
      • Nous contacter
      • Guide de développement des fonctionnalités

        • Guide de développement du rendu mixte multi-scènes
        • Guide de développement de la réception des ombres
        • Guide de développement de l'éclairage en temps réel
        • Guide de développement du rendu multi-caméras
        • Guide de développement du rendu d'images haute résolution
        • Guide de développement de la compatibilité des formats de données LCC et LCC2
        • Guide de développement de l'effet de chargement
        • Guide de développement du basculement du mode de rendu Mip
        • Guide de développement de l'accrochage aux arêtes et aux coins
        • Guide de développement du décalque projeté
        • Guide de développement du décalque projeté vidéo
        • Guide de développement du surlignage
        • Guide de développement de la découpe en temps réel
        • Guide de développement du réglage des couleurs
        • Guide de développement de l'obtention des données Mesh de la scène
        • Guide de développement du mode éditeur
        • Guide de configuration des paramètres de performance de rendu
        • Guide de développement du co-packageage de l'application et des données
        • Guide de développement du système de collision
        • Guide des problèmes d'autorisation de développement macOS
        • Guide de développement de la compilation et du packageage sur appareil iOS
      • Référence de l'API

        • LCCManager
        • Renderer
        • Types de données
      • Journal des modifications

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
  • API

    • Modélisation spatiale structurée

      • Guide d'accès
      • Flux de modélisation
      • Référence des API
      • Identifiants temporaires d'importation
      • Codes d'erreur

Référence des API

Toutes les API de cette page utilisent POST avec un corps de requête JSON. Chaque requête utilise les En-têtes de requête communs, qui ne sont pas répétés pour chaque API. La structure externe de la réponse est décrite dans Structure de réponse unifiée ; la section « Réponse » de chaque API ne liste que les champs métier contenus dans data.

Domaines

RégionDomaine
Chine continentalehttps://open-api-gw.xgrids.cloud/
Hors Chine continentale (y compris Hong Kong, Macao et Taïwan)https://open-api-gw.xgrids.com/

En-têtes de requête communs

Chaque API exige les paramètres d'en-tête suivants.

ParamètreSignificationRègleObligatoireValeur par défaut
APP-IDIdentifiant de l'applicationObtenu lors de la demande d'applicationOuiAucune
X-TimestampHorodatage de la requêteHorodatage en secondesOuiAucune
X-NonceChaîne aléatoireLettres et chiffres uniquement, de 16 à 32 caractères. Expression régulière ^[A-Za-z0-9]{16,32}$. Il est recommandé d'utiliser UUID.randomUUID() sans les -OuiAucune
X-SignSignature de la requêteVérifie que la requête n'a pas été altérée et empêche le rejeu. Voir Mécanisme de signatureOuiAucune
Content-TypeType de contenuToujours application/jsonOuiAucune
languageLangue des messages de réponsezh-CN ou en-USNonzh-CN

Structure de réponse unifiée

Toutes les API renvoient la même structure externe. Le code externe ne reflète que le résultat de la couche API ; lisez data.bizCode pour connaître le résultat métier.

NomSignificationRègle
codeCode de résultat de l'API0 succès, 401 échec de l'authentification, 429 trop de requêtes
msgDescription du résultat de l'API—
dataDonnées métier—
data.bizCodeCode de résultat métier0 signifie succès ; pour les autres valeurs, voir Codes d'erreur
data.bizMsgMessage d'erreur métier—

Remarque : un appel n'aboutit que si code == 0 et data.bizCode == 0.

Créer une tâche et obtenir les identifiants d'importation

Crée une tâche de modélisation et délivre des identifiants temporaires de stockage cloud pour importer les données d'entrée.

Point de terminaison

POST /open-apis/spatial-model/v1/model/create

Limites

ÉlémentLimite
Concurrence10 requêtes / seconde
Validité des identifiants temporaires12 heures
Région de stockage des donnéesLiée lors de la demande d'application ; inutile de la transmettre

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelNameNom de la tâche de modélisationMoins de 50 caractèresOuiAucune
modelDesDescription de la tâcheMoins de 200 caractèresNonVide
qualityQualité de modélisation"1" rapide, "2" standard, "3" lenteNon"2"
autoRebuildDémarrer automatiquement la modélisation après l'importation0 importation seule, 1 modélisation automatique après l'importationNon1
tagsÉtiquettes de la tâcheList<String>, moins de 20 élémentsNonVide

Réponse

NomTypeSignification
data.modelIdLongIdentifiant de la tâche de modélisation généré par le serveur
data.paramsObjectParamètres des identifiants temporaires pour l'importation des données
data.params.cloudServiceStringFournisseur cloud qui reçoit l'importation. OSS Alibaba Cloud, AWS Amazon, KS3 Kingsoft Cloud. Chaque intégrateur travaille normalement avec un seul fournisseur fixe ; vous n'avez donc pas besoin de les prendre tous en charge
data.params.endpointStringPoint de terminaison d'importation du fournisseur de stockage cloud
data.params.regionStringRégion de stockage du fournisseur de stockage cloud
data.params.bucketStringBucket d'importation du fournisseur de stockage cloud
data.params.savePathStringKey du répertoire cible des fichiers importés. Il s'agit du préfixe du répertoire input ; ajoutez-y le chemin relatif de chaque fichier pour former sa Key réelle
data.params.accessKeyIdStringAccessKeyId temporaire
data.params.accessKeySecretStringAccessKeySecret temporaire
data.params.securityTokenStringSecurityToken d'importation
data.params.requestIdStringIdentifiant de cette requête

Exemple de requête

POST /open-apis/spatial-model/v1/model/create HTTP/1.1
Host: open-api-gw.xgrids.com
APP-ID: your_app_id
X-Timestamp: 1791763200
X-Nonce: a3f91c2d8e7b4a6590fd12cb77ae40d1
X-Sign: 9mQk7xL2vTbR4pNw8sYcA1dHfZ3eJgU6oIyK0rVnBsM=
Content-Type: application/json

{
  "modelName": "Design Commune C Facade",
  "modelDes": "Nanshan, Shenzhen, LCC2 scene package",
  "quality": "2",
  "autoRebuild": 1,
  "tags": ["facade", "nanshan"]
}

Exemple de réponse

{
  "code": 0,
  "msg": "success",
  "data": {
    "bizCode": 0,
    "bizMsg": "",
    "modelId": 100231987,
    "params": {
      "cloudService": "AWS",
      "endpoint": "s3.ap-southeast-1.amazonaws.com",
      "region": "ap-southeast-1",
      "bucket": "your-bucket-name",
      "savePath": "prd/spatial-model/{accountId}/{taskCode}/input/",
      "accessKeyId": "ASIA****************",
      "accessKeySecret": "wJalrXUtnFEMI/K7MDENG/bPxRfiCY****",
      "securityToken": "IQoJb3JpZ2luX2VjE****",
      "requestId": "b7f1e2a9-5c43-4d8e-9a10-6f2c3b84d517"
    }
  }
}

Démarrer une tâche

Démarre la modélisation manuellement.

Point de terminaison

POST /open-apis/spatial-model/v1/model/start

Limites

ÉlémentLimite
Quand l'utiliserUniquement lorsque la tâche a été créée avec autoRebuild = 0 :
① Seules les tâches à l'état Importation terminée (3) peuvent être démarrées ; sinon 100041018 est renvoyé ;
② Le répertoire input doit contenir au moins un fichier .lcc2 / .ply / .las ; sinon 100041019 est renvoyé ;
③ Le démarrage gèle des crédits ; si le solde est insuffisant, un code d'erreur lié aux crédits est renvoyé
Limitation de fréquenceUn appel toutes les 3 secondes par modelId
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisationRenvoyé à la création de la tâcheOuiAucune

Réponse

Renvoie uniquement la Structure de réponse unifiée.

Exemple de requête

{
  "modelId": 100231987
}

Obtenir à nouveau les identifiants d'importation

Obtient de nouveaux identifiants temporaires d'importation lorsqu'une importation est interrompue ou que les identifiants temporaires ont expiré.

Point de terminaison

POST /open-apis/spatial-model/v1/model/sts

Limites

ÉlémentLimite
Validité des identifiants temporaires12 heures
Limitation de fréquenceUn appel toutes les 3 secondes par modelId ; 10000003 est renvoyé en cas d'appels trop fréquents
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisation—OuiAucune

Réponse

Identique à la réponse de Créer une tâche et obtenir les identifiants d'importation (data.modelId et data.params.*).

Exemple de requête

{
  "modelId": 100231987
}

Mettre à jour l'état d'importation

Signale l'état d'importation des données d'entrée. Vous devez appeler cette API une fois l'importation terminée ; sinon, la modélisation ne démarre pas.

Point de terminaison

POST /open-apis/spatial-model/v1/model/upload_status/update

Limites

ÉlémentLimite
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisation—OuiAucune
statusÉtat d'importation1 en cours, 2 suspendue, 3 réussie, 4 échouéeOuiAucune
uploadTimeDurée de l'importationEn millisecondes ; recommandé lorsque l'importation réussitNonVide
failedReasonCause de l'échecRecommandé lorsque l'importation échoueNonVide

Réponse

Renvoie uniquement la Structure de réponse unifiée.

Exemple de requête

{
  "modelId": 100231987,
  "status": 3,
  "uploadTime": 184620
}

Annuler la modélisation

Ne peut être appelée que pour les tâches en cours de modélisation.

  • Seules les tâches à l'état Modélisation en cours peuvent être annulées. Après l'annulation, la tâche passe à l'état Échec de la modélisation.
  • L'annulation déduit les crédits correspondant à l'utilisation déjà consommée ; les crédits gelés excédentaires sont restitués au solde.
  • Les crédits sont généralement réglés en quelques minutes, au maximum environ 10 minutes.

Point de terminaison

POST /open-apis/spatial-model/v1/model/cancel

Limites

ÉlémentLimite
Restriction d'étatSeules les tâches à l'état Modélisation en cours (7) peuvent être annulées ; les autres états renvoient 100041017
Concurrence10 requêtes / seconde ; un appel toutes les 3 secondes par modelId, 10000003 est renvoyé en cas d'appels trop fréquents

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisation—OuiAucune

Réponse

Renvoie uniquement la Structure de réponse unifiée.

Exemple de requête

{
  "modelId": 100231987
}

Liste paginée des tâches

Interroge les tâches de modélisation page par page, avec des filtres.

Point de terminaison

POST /open-apis/spatial-model/v1/model/list

Limites

ÉlémentLimite
Périmètre des donnéesRenvoie uniquement les tâches du compte associé à l'appId actuel
InterrogationIntervalle d'au moins 5 secondes
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelNameNom de la tâcheMoins de 50 caractères, correspondance approximativeNonTous
statusListÉtats de la tâcheValeurs dans Machine à états de la tâcheNonTous
startTimeHeure de débutHorodatage en millisecondes ; filtre les enregistrements créés à partir de startTimeNonTous
endTimeHeure de finHorodatage en millisecondes ; filtre les enregistrements créés jusqu'à endTimeNonTous
page.pageNuméro de page—Non1
page.limitTaille de page—NonDéfinie par le serveur
page.orderOrdre de triASC croissant, DESC décroissant, par date de créationNonDESC

Réponse

NomTypeSignification
data.pageIntegerNuméro de page
data.limitIntegerTaille de page
data.totalLongNombre total
data.dataListListe des données
data.data[].modelIdLongIdentifiant de la tâche de modélisation
data.data[].modelNameStringNom de la tâche
data.data[].modelDesStringDescription de la tâche
data.data[].coverStringURL de la couverture ; une fois la modélisation terminée, il s'agit de l'aperçu de rendu global du modèle. Lien temporaire signé, ne le conservez pas
data.data[].percentDoubleProgression de la modélisation
data.data[].tagsListÉtiquettes
data.data[].statusIntegerÉtat de la tâche ; valeurs dans Machine à états de la tâche
data.data[].errorCodeStringCode d'erreur
data.data[].failedReasonStringCause de l'échec
data.data[].createTimeLongDate de création, horodatage en millisecondes
data.data[].taskSuccessAtLongDate de fin de la modélisation, horodatage en millisecondes

Exemple de requête

{
  "modelName": "Design Commune",
  "statusList": [7, 8],
  "startTime": 1790899200000,
  "endTime": 1791763200000,
  "page": {
    "page": 1,
    "limit": 20,
    "order": "DESC"
  }
}

Détails de la tâche

Interroge par lots les détails des tâches de modélisation, y compris des statistiques comme la durée de modélisation.

Point de terminaison

POST /open-apis/spatial-model/v1/model/detail

Limites

ÉlémentLimite
Requête par lotsJusqu'à 50 modelIds par requête
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdListIdentifiants des tâches de modélisationList<Long>, jusqu'à 50 à la foisOuiAucune

Réponse

NomTypeSignification
data.dataListListDétails des tâches
data.dataList[].modelIdLongIdentifiant de la tâche de modélisation
data.dataList[].modelNameStringNom de la tâche
data.dataList[].modelDesStringDescription de la tâche
data.dataList[].coverStringURL de la couverture. Lien temporaire signé, ne le conservez pas
data.dataList[].percentDoubleProgression de la modélisation
data.dataList[].tagsListÉtiquettes
data.dataList[].statusIntegerÉtat de la tâche ; valeurs dans Machine à états de la tâche
data.dataList[].errorCodeStringCode d'erreur
data.dataList[].failedReasonStringCause de l'échec
data.dataList[].createTimeLongDate de création, horodatage en millisecondes
data.dataList[].rebuildInfoObjectInformations de modélisation
data.dataList[].rebuildInfo.qualityStringQualité de modélisation. 1 rapide, 2 standard, 3 lente
data.dataList[].rebuildInfo.autoRebuildIntegerIndicateur de modélisation automatique. 0 importation seule, 1 modélisation automatique après l'importation
data.dataList[].rebuildInfo.inputTotalSizeLongTaille des données d'entrée, en octets
data.dataList[].rebuildInfo.outputTotalSizeLongTaille des résultats de modélisation, en octets
data.dataList[].rebuildInfo.uploadTimeLongDurée de l'importation, en millisecondes
data.dataList[].rebuildInfo.buildTimeLongDurée de la modélisation, en millisecondes
data.dataList[].rebuildInfo.taskStartAtLongDate de début de la modélisation, horodatage en millisecondes
data.dataList[].rebuildInfo.taskSuccessAtLongDate de réussite de la modélisation, horodatage en millisecondes
data.dataList[].rebuildInfo.creditObjectInformations de facturation des crédits (lecture seule), pour vérifier le montant facturé pour cette modélisation. Cet objet est toujours renvoyé ; ses champs valent null tant qu'aucune donnée de facturation n'existe
data.dataList[].rebuildInfo.credit.freezeNoStringNuméro de gel des crédits, au format SPATIAL_MODELING_{modelId}_{attempt}. N'a de valeur qu'après le gel réussi des crédits par Démarrer une tâche ; null auparavant
data.dataList[].rebuildInfo.credit.frozenCreditLongCrédits gelés pour ce cycle. Une estimation est gelée au démarrage de la modélisation ; si l'algorithme estime ensuite une surface nécessitant davantage de crédits, des crédits supplémentaires sont gelés et ce champ affiche le total après l'augmentation
data.dataList[].rebuildInfo.credit.actualCreditLongCrédits réellement déduits. Null avant le règlement ; après la réussite ou l'annulation de la modélisation, contient le montant facturé selon l'utilisation réelle ; 0 en cas de libération après l'échec de la modélisation
data.dataList[].rebuildInfo.credit.settleStatusStringÉtat du règlement. FROZEN gelé, en attente de règlement ; SETTLED réglé et facturé (modélisation réussie ou annulée) ; RELEASED libéré, crédits intégralement remboursés (échec de la modélisation, etc.). Null en l'absence de gel
data.dataList[].rebuildInfo.credit.attemptIntegerCycle de modélisation, à partir de 1. N'augmente de 1 que lorsque Démarrer une tâche est appelée à nouveau ; une nouvelle répartition interne par la plateforme ne le modifie pas. Chaque cycle a son propre freezeNo
data.dataList[].rebuildInfo.credit.areaM2DoubleSurface de modélisation estimée par l'algorithme, en mètres carrés ; base du gel supplémentaire. Null tant que l'algorithme ne l'a pas transmise

Exemple de requête

{
  "modelIdList": [100231987, 100231988]
}

Crédits du compte

Interroge le solde de crédits du compte associé à l'appId.

Point de terminaison

POST /open-apis/spatial-model/v1/credit/info

Limites

ÉlémentLimite
Cible de la requêteLe compte de crédits du compte associé à l'appId ; aucun identifiant utilisateur n'est nécessaire
Compte non ouvertSi aucun crédit n'a jamais été attribué, tous les soldes valent 0 ; ce n'est pas considéré comme une erreur
FraîcheurRenvoie le solde en temps réel au moment de la requête, sans cache
Concurrence10 requêtes / seconde

Paramètres de la requête

Aucun paramètre métier. Transmettez un objet vide {}.

Réponse

NomTypeSignification
data.availableCreditLongCrédits disponibles, utilisables immédiatement
data.frozenCreditLongCrédits gelés, réservés mais pas encore réglés
data.totalCreditLongTotal des crédits, égal à availableCredit plus frozenCredit

Exemple de réponse

{
  "code": 0,
  "msg": "success",
  "data": {
    "bizCode": 0,
    "bizMsg": "",
    "availableCredit": 8500,
    "frozenCredit": 1500,
    "totalCredit": 10000
  }
}

Remarque : cette API interroge uniquement le solde de crédits du compte. Les règles de facturation des crédits pour les tâches de modélisation (moment de la déduction et base de facturation) seront définies et documentées dans une version ultérieure. Dans la version actuelle, les appels aux API de modélisation ne dépendent pas des valeurs renvoyées ici.

Télécharger les résultats de modélisation

Obtient des liens de téléchargement temporaires pour les résultats de modélisation. Pour leur contenu, voir Résultats de modélisation.

Point de terminaison

POST /open-apis/spatial-model/v1/model/data/download

Limites

ÉlémentLimite
Condition préalableLa tâche doit être à l'état Modélisation terminée (8)
Validité des liensLiens temporaires signés ; téléchargez peu après les avoir obtenus et ne les conservez pas
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisation—OuiAucune
typeType de résultatDXF, GLB, BLEND, RVTNonS'il est omis, tous les résultats générés sont renvoyés : DXF / GLB / BLEND, ainsi que RVT s'il est disponible

Réponse

NomTypeSignification
data.dataListList<String>Liens de téléchargement des résultats de modélisation. Liens temporaires signés, ne les conservez pas

Exemple de requête

{
  "modelId": 100231987,
  "type": "GLB"
}

Supprimer une tâche

Supprime une tâche de modélisation et les données associées.

Point de terminaison

POST /open-apis/spatial-model/v1/model/del

Limites

ÉlémentLimite
Restriction d'étatLes tâches à l'état Modélisation en cours (7) ne peuvent pas être supprimées
ImpactSupprime également les données d'entrée importées et les résultats de modélisation ; opération irréversible
Concurrence10 requêtes / seconde

Paramètres de la requête

ParamètreSignificationRègleObligatoireValeur par défaut
modelIdIdentifiant de la tâche de modélisation—OuiAucune

Réponse

Renvoie uniquement la Structure de réponse unifiée.

Exemple de requête

{
  "modelId": 100231987
}

Remarque : la suppression est irréversible ; les données d'entrée et les résultats de modélisation sont supprimés ensemble. Prévoyez une seconde confirmation de votre côté.