Skip To Content

Modèles en sortie dans un 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 via la page de contenu de votre portail. Un partage de fichiers Big Data indique un ou plusieurs jeux de données en entrée à l’aide d’un manifeste de partage de fichiers Big Data, ainsi que des modèles pour l’écriture des résultats dans votre emplacement de partage de fichiers Big Data. Lorsque vous écrivez un résultat dans un partage de fichiers Big Data, ce dernier est automatiquement mis à jour pour inclure le nouveau jeu de données en sortie en tant que jeu de données en entrée. Cette rubrique décrit la mise en forme des modèles en sortie et leurs valeurs possibles. Pour disposer d’une vue d’ensemble des partages de fichiers Big Data et connaître le fonctionnement des jeux de données en entrée, des modèles en sortie et des fichiers d’astuces, consultez la rubrique Mise en route des partages de fichiers Big Data.

Remarque :

Cette rubrique concerne la mise à jour des modèles en sortie. Pour savoir comment appliquer un fichier d’astuces à des fichiers délimités, reportez-vous à la rubrique Fichier d’astuces.

Les modèles en sortie sont composés d’un ou plusieurs modèles. Le nombre de modèles dépend des types de fichiers et de la mise en forme que vous souhaitez utiliser pour stocker les résultats en sortie. L’exemple suivant contient trois modèles en sortie :

"outputTemplates":[
  {.. template1 ..},
  {.. template2 ..},
  {.. template3 ..}
]

Dans chaque modèle, cinq objets de niveau supérieur peuvent être applicables. Sur ces objets, name, title et format sont obligatoires.

{
 "name": "ExampleTemplate",
 "title": "My Example Template",
 "format": {},
 "geometry": {},
 "time": {}
}

Nom

L’objet name est obligatoire et définit le nom du jeu de données. Le nom doit être unique au sein du manifeste et ne peut pas inclure de caractères spéciaux.

Titre

L’objet title, obligatoire, définit le titre qui s’affiche lors de l’exécution d’un outil. Le titre doit être unique au sein du manifeste et peut inclure des espaces.

Format

L’objet format, obligatoire, définit le type de fichier en sortie et son format.

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

Exemple d'utilisation d'un fichier de formes :

"format" : {
 "type": "shapefile",
 "extension": "shp",
 "dateFields": "YYYY/MM/dd HH:mm:ss"
}

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

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

Exemple d’utilisation d’un fichier Parquet :

"format" : {
 "type": "parquet"
}

Exemple d’utilisation d’un fichier ORC :

"format" : {
 "type": "orc"
}

Description

  • type : propriété obligatoire définissant le type de données en sortie. Les valeurs possibles sont delimited, shapefile, parquet ou orc.
  • extension : propriété obligatoire indiquant l'extension de fichier pour des fichiers délimités.
  • fieldDelimiter : ce paramètre est uniquement utilisé et 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 toujours défini sur \n sous Linux, et sur \r\n sous Windows. Si vous modifiez cette option, ces valeurs par défaut sont encore utilisées.
  • 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é.
  • delimited.write.header : ce paramètre est obligatoire uniquement lorsque type est défini sur delimited. Cette propriété indique si la première ligne d’un fichier délimité correspond aux noms de champs.
  • encoding : ce paramètre est toujours défini sur UTF-8. Si vous modifiez cette option, cette valeur par défaut est encore utilisée.
  • dateFields : ce paramètre indique la façon dont les champs de type date seront mis en forme. Il s’agit des champs qui ne représentent pas l’heure de l’entité (instant ou intervalle). Pour en savoir plus sur les champs de mise en forme de la date, consultez la rubrique Formats d’heure.

Les paramètres de fichier délimité ne peuvent pas être créés via ArcGIS Server Manager. Pour modifier les paramètres de fichier délimité, mettez à jour les modèles en accédant au répertoire administrateur de votre serveur GeoAnalytics Server et en cliquant sur Data > items (Éléments de données) > bigDataFileShares et votre partage de fichiers Big Data, puis en cliquant sur Edit (Modifier). Apportez vos modifications, puis cliquez sur Update (Mettre à jour).

Géométrie

L'objet geometry est facultatif. S’il n’est pas indiqué, le champ de géométrie est écrit en XYZ pour les points stockés dans des fichiers délimités, ORC et Parquet, et écrit en WKT pour les lignes et les polygones dans des fichiers délimités, ORC et Parquet. Pour les shapefiles, les champs sont écrits dans un champ de forme.

SyntaxeExemple
"geometry" : {

 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "encodings":[
 {
  "types" : ["< esriGeometryType >"],
  "fields" [
   {
    "name": "<fieldName1>",
    "formats": ["<fieldFormat1>"]
   },
   {
    "name": "<fieldName2>",
    "formats": ["<fieldFormat2>"]
   }
  },
 {...}
 ]
}

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

"geometry" : {
 "spatialReference" : {
  "wkid": 3857
 },
 "encodings": [{
		"types": ["esriGeometryPoint"],
		"fields": [{
				"name": "XValue",
				"formats": ["x"]
			},
			{
				"name": "YValue",
				"formats": ["y"]
			}
		]
	},
	{
		"types": ["esriGeometryPolyline",
			"esriGeometryPolygon"
		],
		"fields": [{
			"name": "geometry",
			"formats": ["geojson"]
		}]
	}
]
  
}

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

"geometry" : {

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

Exemple utilisant un fichier .tsv :

"geometry" : {

	"spatialReference": {
		"wkid": 3857
	},
	"encodings": [{
	"types": ["esriGeometryPolygon", "esriGeometryPoint"],
   "fields": [{
			"name": "Shapelocation",
			"formats": ["WKT"]
		}]
	}]
}

Description

Remarque :

Le tableau ci-dessus indique les options par défaut pour l’objet geometry, si vous ne le spécifiez pas, en fonction de la géométrie et du type de fichier. Les propriétés ci-dessous sont identifiées comme obligatoires ou facultatives en supposant qu'une géométrie est utilisée :

  • spatialReference : propriété obligatoire indiquant la référence spatiale pour générer des jeux de données en sortie.
    • 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.
  • encodings : cette propriété est obligatoire. Elle indique comment coder la géométrie en sortie. La propriété se compose de deux parties : le type de géométrie et les champs dans lesquels la géométrie sera écrite.
    • types : les types de géométrie indiqués dans ce codage. Les options sont notamment les suivantes :
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields : ce champ est obligatoire. Il indique le name d’un ou plusieurs champs utilisés pour stocker les résultats de la géométrie, ainsi que les formats des champs dans lesquels la géométrie est stockée.
      • name : propriété obligatoire permettant de nommer le champ utilisé pour la géométrie du jeu de données en sortie. 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. Plusieurs formats peuvent être utilisés. Le champ de géométrie des shapefiles ne peut pas être spécifié. Les types de format suivants sont pris en charge :
        • WKT : format par défaut pour les lignes et les polygones stockés en tant que fichiers délimités, ORC et Parquet.
        • GeoJSON
        • EsriJSON
        • X, Y, Z : format par défaut pour les points stockés en tant que fichiers délimités, ORC et Parquet.
        • EsriShape : cette option est uniquement disponible pour les fichiers ORC et Parquet.
        • WKB : cette option est uniquement disponible pour les fichiers ORC et Parquet.

Durée

L'objet time est facultatif. S’il n’est pas indiqué et que les résultats sont de type temporel, la valeur par défaut est utilisée.

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

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

"time": {
	"timeReference": {
		"timeZone": "UTC"
	},
	"encodings": [{
		"types": ["instant"],
		"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": {
	"timeReference": {
		"timeZone": "-0900"
	},
	"encodings": [{
		"types": ["interval"],
		"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"
			}
		]
	},{
		"types": ["instant"],
		"fields": [{
				"name": "time",
				"formats": ["HH:mm:ss"],
				"role": "start"
			},
			{
				"name": "date",
				"formats": ["yyyy-MM-dd"]
			}
		]
	}]
}

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 :

  • encodings : propriété obligatoire pour la mise en forme de l’heure. Elle indique comment coder l’heure en sortie. La propriété se compose de deux parties : le type d’heure et les champs dans lesquels l’heure sera écrite.
    • types : les types de géométrie indiqués dans ce codage. Les options sont notamment les suivantes :
      • Instant : pour un seul moment dans le temps.
      • Interval : pour un intervalle temporel représenté par une heure de début et de fin.
    • fields : ce champ est obligatoire. Il indique le name d’un ou plusieurs champs utilisés pour stocker les résultats temporels, ainsi que les formats des champs dans lesquels l’heure est stockée.
      • name : propriété obligatoire permettant de nommer le champ utilisé pour l’heure du jeu de données en sortie. Elle indique le nom du champ qui permet de représenter le temps. Il peut en exister plusieurs instances.
      • 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.
  • timeReference : champ obligatoire si le jeu de données est de type temporel, indiquant le fuseau horaire (timeZone).
    • timeZone : champ facultatif de timeReference indiquant le format du fuseau horaire des données. timeZone peut être mis en forme comme suit :
      • À l'aide du nom complet du fuseau horaire : Pacific Standard Time
      • À l'aide de l'abréviation du fuseau horaire : PST
      • À l’aide du décalage de fuseau horaire exprimé en heures : -0900

Dans cette rubrique
  1. Nom
  2. Titre
  3. Format
  4. Géométrie
  5. Durée