Skip To Content

Manifeste de partage de fichiers Big Data

Remarque :

Dans ArcGIS Enterprise 10.9.1 ou version supérieure, il est recommandé d’ajouter ou de mettre à jour les partages de fichiers Big Data via la page de contenu de votre portail et non via ArcGIS Server Manager. En savoir plus sur l’ajout de partages de fichiers Big Data dans le portail.

Les partages de fichiers Big Data sont inscrits en tant que data store par le biais de la page de contenu de votre portail. Les partages de fichiers Big Data requièrent un manifeste indiquant la structure des données, ainsi que les champs qui représentent la géométrie et le temps dans le jeu de données. Le manifeste est généré automatiquement lorsque vous inscrivez un partage de fichiers Big Data. Vous pouvez être amené à apporter des modifications si vos données viennent à changer ou si la génération du manifeste n’a pas permis de déterminer toutes les informations requises (par exemple, le manifeste généré automatiquement n’a pas sélectionné le champ approprié pour la géométrie ou le temps).

Remarque :

La mise à jour de votre partage de fichiers Big Data au moyen du manifeste est une fonctionnalité avancée. Pour savoir comment appliquer des modifications à certains jeux de données de votre partage de fichiers Big Data, reportez-vous à la rubrique Gérer les partages de fichiers Big Data dans un portail. Pour savoir comment appliquer un fichier d’astuces à des fichiers délimités, reportez-vous à la rubrique Fichier d’astuces.

Le manifeste se compose de jeux de données. Le nombre de jeux de données dépend du nombre de dossiers que renferme votre partage de fichiers Big Data. L'exemple suivant compte cinq jeux de données :

"datasets":[
  {.. dataset1 ..},
  {.. dataset2 ..},
  {.. dataset3 ..},
  {.. dataset4 ..},
  {.. dataset5 ..},
]

Au sein de chaque jeu de données, cinq objets de niveau supérieur peuvent être applicables. Sur ces objets, name, format et schema sont obligatoires.

{
 "name": "dataset1",
 "format": {},
 "schema": {},
 "geometry": {},
 "time": {}
}

Nom

L’objet name est obligatoire et définit le nom du jeu de données. Il doit être unique au sein du manifeste.

Format

L’objet format est requis est définit le type de jeu de données et son format.

SyntaxeExemple
"format" : {
 "type" :  "< delimited | shapefile | orc | parquet >",
 "extension" : "< csv | tsv | shp | orc | parquet >",
 "fieldDelimiter" : "< delimiter >",
 "recordTerminator: "< terminator >",
 "quoteChar":  "< character for quotes>",
 "hasHeaderRow" :  < true | false >, 
 "encoding" : "< encoding format >"
}

Exemple d'utilisation d'un fichier de formes :

"format" : {
 "type": "shapefile",
 "extension": "shp"
}

Exemple d'utilisation d'un fichier délimité :

"format" : {
 "type": "delimited",
 "extension": "csv",
 "fieldDelimiter": ",",
 "recordTerminator": "\n", 
 "quoteChar" "\"",
 "hasHeaderRow": true,
 "encoding" : "UTF-8"
}

Description

  • type : propriété obligatoire définissant les données source. Il peut s’agir de delimited, shapefile, parquet ou orc.
  • extension : propriété obligatoire indiquant l’extension de fichier. Pour les shapefiles, il s’agit de shp. Les fichiers délimités utilisent l’extension de fichier des données (par exemple, csv ou tsv), les fichiers OCR utilisent orc, et les fichiers Parquet utilisent parquet.
  • fieldDelimiter : ce paramètre est obligatoire lorsque type est défini sur delimited. Ce champ représente ce qui sépare les champs dans le fichier délimité.
  • recordTerminator : ce paramètre est obligatoire uniquement lorsque type est défini sur delimited. Ce champ précise ce qui délimite les entités dans le fichier délimité.
  • quoteChar : ce paramètre est obligatoire uniquement lorsque type est défini sur delimited. Le caractère indique comment les guillemets sont spécifiés dans le fichier délimité.
  • hasHeaderRow : ce paramètre est obligatoire uniquement lorsque type est défini sur delimited. Cette propriété précise si la première ligne d’un fichier délimité doit être traitée comme un en-tête ou comme la première entité.
  • encoding : ce paramètre est obligatoire uniquement lorsque type est défini sur delimited. Cette propriété précise le type de chiffrement utilisé.

Structure

L’objet schema est obligatoire ; il définit les champs de jeu de données et le type de champ.

SyntaxeExemple
"schema" : {
 "fields" : {
  "name": "< fieldName >",
  "type" : "< esriFieldTypeString | 
     esriFieldTypeBigInteger | 
     esriFieldTypeDouble >"
 }
}
"schema" : {
 "fields":[
  {
   "name": "trackid",
   "type": "esriFieldTypeString"
  },
  {
   "name": "x",
   "type": "esriFieldTypeDouble"
  },
  {
   "name": "y",
   "type": "esriFieldTypeDouble"
  },
  {
   "name": "time",
   "type": "esriFieldTypeBigInteger"
  },
  {
   "name": "value",
   "type": "esriFieldTypeBigInteger"
  }
 ]
}

Description

  • fields : propriété obligatoire définissant les champs dans la structure.
  • name : propriété obligatoire indiquant le nom du champ. Le nom du champ doit être unique pour le jeu de données, et il ne peut contenir que des caractères alphanumériques et des traits de soulignement.
  • type : propriété obligatoire définissant le type du champ. Les options sont notamment les suivantes :
    • esriFieldTypeInteger : pour les entiers.
    • esriFieldTypeSmallInteger : pour les entiers.
    • esriFieldTypeBigInteger : pour les entiers. Les champs de grands nombres entiers (BigInteger) sont stockés comme des champs de type réel double dans un service d’entités.
    • esriFieldTypeString : pour les chaînes.
    • esriFieldTypeDouble : pour les réels doubles ou les réels simples (flottants).
    • esriFieldTypeDate : pour les shapefiles comportant des champs de date. Pour les jeux de données délimités, OCR et Parquet comportant des champs de date, les dates doivent être représentées par un champ esriFieldTypeString.
    • esriFieldTypeSingle : pour les valeurs uniques.
    • esriFieldTypeBlob : pour les valeurs binaires. Les champs BLOB sont stockés comme des champs de type chaîne dans un service d’entités.
Remarque :

Les types sont susceptibles de changer lorsque les partages de fichiers Big Data sont analysés avec les GeoAnalytics Tools et enregistrés sous la forme d’un service d’entités. Par exemple, un champ esriFieldTypeBigInteger dans un partage de fichiers Big Data devient un champ esriFieldTypeDouble dans un service d’entités.

Géométrie

L'objet geometry est facultatif. Cela est requis si un jeu de données a une représentation spatiale, comme un point, une polyligne ou un polygone.

SyntaxeExemple
"geometry" : {
 "geometryType" : "< esriGeometryType >",
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "fields": [
 {
  "name": "<fieldName1>",
  "formats": ["<fieldFormat1>"]
 },
 {
  "name": "<fieldName2>",
  "formats": ["<fieldFormat2>"]
 }
 ]
}

Exemple utilisant un fichier délimité avec les valeurs x et y :

"geometry" : {
 "geometryType" : "esriGeometryPoint",
 "spatialReference" : {
  "wkid": 3857
 },
 "fields": [
 {
  "name": "XValue",
  "formats": ["x"]
 },
 {
  "name": "YValue",
  "formats": ["y"]
 }
 ]
}

Exemple utilisant un fichier délimité avec les valeurs x, y et z :

"geometry" : {
 "geometryType" : "esriGeometryPoint",
 "spatialReference" : {
  "wkid": 4326
 },
 "fields": [
 {
  "name": "Longitude",
  "formats": ["x"]
 },
 {
  "name": "Latitude",
  "formats": ["y"]
 },
 {
  "name": "Height",
  "formats": ["z"]
 }
 ]
}

Exemple utilisant un fichier .tsv :

"geometry" : {
 "geometryType" : "esriGeometryPolygon",
 "dropSourceFields": true,
 "spatialReference" : {
  "wkid": 3857
 },
 "fields": [
 {
  "name": "Shapelocation",
  "formats": ["WKT"]
 }
 ]
}

Description

Remarque :

L’objet geometry étant facultatif, les propriétés ci-après sont indiquées comme obligatoires ou facultatives en supposant qu’une géométrie est utilisée :

  • geometryType : ce champ est obligatoire. Les options sont notamment les suivantes :
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference : propriété obligatoire indiquant la référence spatiale du jeu de données.
    • wkid : champ indiquant la référence spatiale, où wkid ou latestWkid est obligatoire pour un jeu de données avec une géométrie.
    • latestWkid : champ indiquant la référence spatiale dans une version logicielle donnée, où wkid ou latestWkid est obligatoire pour un jeu de données avec géométrie.
  • fields : propriété obligatoire pour les jeux de données délimités avec une représentation spatiale. Ce paramètre indique le ou les noms de champ et les formats de la géométrie.
    • name : propriété obligatoire pour les jeux de données délimités avec une représentation spatiale. Ceci indique le nom du champ qui permet de représenter la géométrie. Il peut en exister plusieurs instances.
    • formats : propriété obligatoire pour les jeux de données délimités avec une représentation spatiale. Ceci indique le format du champ qui permet de représenter la géométrie. Il peut en exister plusieurs instances.
  • dropSourceFields : propriété facultative pour les jeux de données avec des champs représentant la géométrie. Elle détermine si les champs utilisés pour préciser la géométrie sont utilisés comme champs d’analyse. S’ils sont définis sur True (Vrai), les champs utilisés pour la géométrie ne seront pas visibles comme champs d'analyse (comme les statistiques de synthèse) et ignorés lors de l’exécution des outils. Par défaut, cette propriété est définie sur faux. Cette propriété ne peut pas être définie sur les jeux de données de shapefile.

Durée

L'objet time est facultatif. Il est obligatoire si un jeu de données possède une représentation temporelle.

SyntaxeExemple
"time" : {
 "timeType" : "< instant | interval >",
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"]
   "role": "< start | end >"
  }
 ]
}

Exemple utilisant un instant, avec plusieurs formats dans les champs temporels :

"time": {
 "timeType": "instant",
 "timeReference": {"timeZone": "UTC"},
 "fields": [
 {
  "name": "iso_time",
  "formats": [
   "yyyy-MM-dd HH:mm:ss",
   "MM/dd/yyyy HH:mm"
   ]
  }
 ]
}

Exemple utilisant un intervalle, avec plusieurs champs pour startTime :

"time": {
 "timeType": "interval",
 "timeReference": {"timeZone": "-0900"},
 "dropSourceFields" : true,
 "fields": [
 {
  "name": "time_start",
  "formats": ["HH:mm:ss"],
  "role" : "start"
  },
 {
  "name": "date_start",
  "formats": ["yyyy-MM-dd"],
  "role" : "start"
  },
 {
  "name": "datetime_ending",
  "formats": ["yyyy-MM-dd HH:mm:ss"],
  "role" : "end"
  }
 ]
}

Description

Remarque :

Puisque l’objet time est facultatif, les propriétés suivantes sont répertoriées comme requis ou facultatives, en supposant que time est utilisée :

  • timeType : le type temporel est obligatoire si le temps est inclus dans le jeu de données. Les options sont notamment les suivantes :
    • instant - Pour un instant précis
    • interval - Pour un intervalle de temps représenté par une heure de début et de fin
  • timeReference : champ obligatoire si le jeu de données est de type temporel, indiquant le fuseau horaire (timeZone).
    • timeZone : champ obligatoire de timeReference indiquant le format du fuseau horaire des données. Les fuseaux horaires sont basés sur l’heure de Joda. Pour en savoir plus sur les formats d’heure de Joda, consultez la rubrique Fuseaux horaires disponibles à l’heure de Joda. timeZone peut être mis en forme comme suit :
      • Avec indication du nom complet du fuseau horaire : Pacific Standard Time.
      • Avec indication du décalage de fuseau horaire exprimé en heures : -0100 ou -01:00.
      • Vous pouvez utiliser les abréviations des fuseaux horaires pour UTC ou GMT uniquement ; sinon, utilisez le nom complet ou le décalage horaire.
  • fields : champ obligatoire indiquant les noms de champ et les formats de date et d’heure. Les propriétés obligatoires de fields sont les suivantes :
    • name : champ obligatoire indiquant le nom du champ qui permet de représenter le temps. Plusieurs instances de cet objet peuvent être présentes.
    • formats : champ obligatoire indiquant le format du champ qui permet de représenter le temps. Plusieurs formats peuvent être présents pour un seul champ (comme illustré ci-dessus). Plusieurs instances de cet objet peuvent être présentes. Pour savoir quel formatage appliquer aux champs, reportez-vous à la rubrique Formats d’heure.
    • role : champ obligatoire lorsque timeType correspond à interval. Il peut représenter la valeur startTime ou endTime d’un intervalle temporel.
  • dropSourceFields : propriété facultative pour les jeux de données avec des champs représentant le temps. Elle détermine si les champs utilisés pour préciser le temps sont utilisés comme champs d’analyse. S’ils sont définis sur True (Vrai), les champs utilisés pour le temps ne seront pas visibles comme champs d'analyse (comme les statistiques de synthèse) et ignorés lors de l’exécution des outils. Par défaut, cette propriété est définie sur faux.