Skip To Content

Emettere modelli in una condivisione file Big Data

Le condivisioni file Big Data vengono registrate come Data Store tramite ArcGIS Server Manager. Una condivisione di file Big Data delinea il dataset di input usando un file Manifest di una condivisione file Big Data, nonché i modelli per riscrivere i risultati nella posizione della condivisione file Big Data. Quando si riscrive un risultato in una condivisione file Big Data, la condivisione si aggiorna automaticamente per includere il nuovo dataset di output come dataset di input. Questo argomento descrive la formattazione dei modelli di output e i loro possibili valori. Per una panoramica delle condivisioni file Big Data e su come funzionano i dataset di input, i modelli di output e il file dei suggerimenti, consultare Introduzione alle condivisioni file Big Data.

Nota:

Questo argomento illustra la modifica dei modelli di output. Per ulteriori informazioni sull'applicazione di un file dei suggerimenti per i file delimitati, consultare Informazioni sul file dei suggerimenti.

I modelli di output sono costituiti da uno o più modelli. Il numero di modelli dipende dal tipo di file e della formattazione che si desidera usare per memorizzare i risultati di output. Nell'esempio seguente, ci sono tre modelli di output:

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

In ogni modello, ci sono cinque oggetti di livello superiore applicabili. Di questi oggetti, name, title e format sono obbligatori.

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

Nome

L'oggetto name è obbligatorio e definisce il nome del dataset. Il nome deve essere univoco all'interno del file Manifest e non può includere caratteri speciali.

Titolo

L'oggetto title è obbligatorio e definisce il titolo mostrato quando si esegue uno strumento. Il titolo deve essere univoco all'interno del file Manifest e può includere spazi.

Formato

L'oggetto format è obbligatorio e definisce il tipo di file di output e il relativo formato.

SintassiQuesta funzione è stata aggiunta a partire da 10.1.
"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 >"
}

Esempio di utilizzo di uno shapefile:

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

Esempio di utilizzo di un file delimitato:

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

Esempio di utilizzo di un file parquet:

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

Esempio di utilizzo di un file ORC:

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

Descrizione

  • type: una proprietà obbligatoria che definisce il tipo di dati di output. Può essere delimited, shapefile, parquet o orc.
  • extension: una proprietà obbligatoria che indica l'estensione del file per i file delimitati.
  • fieldDelimiter: è utilizzata ed è obbligatoria solo quando type è delimited. Questo campo rappresenta ciò che separa i campi nel file delimitato.
  • recordTerminator: sempre impostata su \n in Linux e su \r\n in Windows. Se si modifica questa opzione, tali valori predefiniti vengono comunque usati.
  • quoteChar: obbligatoria solo quando type è delimited. Il carattere definisce come le virgolette vengono specificate nel file delimitato.
  • delimited.write.header: obbligatoria solo quando type è delimited. Questa proprietà specifica se la prima riga in un file delimitato è costituita da nomi di campo.
  • encoding: impostata sempre su UTF-8. Se si modifica questa opzione, il valore predefinito viene comunque usato.
  • dateFields: come saranno formattati i campi di tipo date. Questi sono i campi che non rappresentano il tempo della feature (istante o intervallo). Consultare i formati del tempo per saperne di più sulla formattazione dei campi delle date.

Non è possibile creare le impostazioni dei file delimitati tramite ArcGIS Server Manager. Per modificare le impostazioni dei file delimitati modificare i modelli passando sulla directory amministratore di GeoAnalytics Server e facendo clic su dati > elementi > bigDataFileShares e sulla condivisione di file Big Data e fare clic su modifica. Effettuare le modifiche e fare clic su aggiorna.

Geometria

L'oggetto geometry è facoltativo. Se non è fornito, il campo della geometria sarà scritto in XYZ per i punti memorizzati in file delimitati, ORC e parquet, mentre sarà scritto in WKT per le linee e i poligoni in file delimitati, ORC e parquet. Per gli shapefile, i campi saranno scritti in un campo relativo alla forma.

SintassiQuesta funzione è stata aggiunta a partire da 10.1.
"geometry" : {
 "spatialReference" : {
  "wkid": <wkidNum>,
  "latestwkid" : <latestWkidNum>
  },
 "encodings":[
 {
  "types" : ["< esriGeometryType >"],
  "fields" [
   {
    "name": "<fieldName1>",
    "formats": ["<fieldFormat1>"]
   },
   {
    "name": "<fieldName2>",
    "formats": ["<fieldFormat2>"]
   }
  },
 {...}
 ]
}

Esempio utilizzando un file delimitato con valori x e 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"]		}]	}
]  
}

Esempio utilizzando un file delimitato con valori x, y e z:

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

Esempio di utilizzo di un file .tsv:

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

Descrizione

Nota:

La tabella riportata delinea le opzioni predefinite per l'oggetto geometry, se non lo si specifica, in base al tipo di geometria e tipo di file. Le seguenti proprietà sono elencate come obbligatorie o facoltative presupponendo che è utilizzata una geometria:

  • spatialReference: una proprietà obbligatoria che indica il riferimento spaziale per emettere dataset.
    • wkid: un campo che indica il riferimento spaziale, in cui wkid o latestWkid è obbligatoria per un dataset con una geometria.
    • latestWkid: un campo che indica il riferimento spaziale in una determinata versione di software, in cui wkid o latestWkid è obbligatoria per un dataset con una geometria.
  • encodings: è obbligatoria. Ciò specifica come codificare la geometria di output. La proprietà è composta da due parti: il tipo di geometria e i campi in cui la geometria sarà scritta.
    • types: il tipi di geometria specificato in questa codifica. Le opzioni includono le seguenti:
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields: è obbligatoria. Ciò specifica l'opzione name di uno o più campi utilizzati per memorizzare i risultati della geometria, nonché l'opzione formats dei campi in cui è memorizzata la geometria.
      • name: una proprietà obbligatoria per denominare il campo utilizzato per la geometria del dataset di output. Indica il nome del campo utilizzato per rappresentare la geometria. Potrebbero esserci istanze multiple.
      • formats: una proprietà obbligatoria per dataset delimitati con una rappresentazione spaziale. Indica il formato del campo utilizzato per rappresentare la geometria. Possono esserci più formati. Non è possibile specificare il campo geometria degli shapefile. I seguenti tipi di formato sono supportati:
        • WKT: il predefinito per le linee e i poligoni memorizzati come file delimitati, ORC e parquet.
        • GeoJSON
        • EsriJSON
        • X, Y,Z: predefiniti per i punti memorizzati come file delimitati, ORC e parquet.
        • EsriShape: questa opzione è disponibile solo per i file ORC e parquet.
        • WKB: questa opzione è disponibile solo per i file ORC e parquet.

Tempo

L'oggetto time è facoltativo. Se non è specificato e i risultati sono abilitati per variazioni temporali, si userà il predefinito.

SintassiQuesta funzione è stata aggiunta a partire da 10.1.
"time" : {
 "timeReference" : {
  "timeZone" : "<timeZone >"
  },
 "encodings":[{
  "types" : ["< instant | interval >",]
  "fields": [
  {
   "name": "<fieldName1>",
   "formats": ["<fieldFormat1>"],
   "role": "< start | end >"
  }
 ]
}]
}

Esempio di utilizzo di un istante con più formati nei campi del tempo:

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

Esempio di utilizzo di un intervallo con più campi utilizzati per 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"]			}
		]	}]
}

Descrizione

Nota:

Dal momento che l’oggetto time è facoltativo, le seguenti proprietà sono obbligatorie o facoltative presupponendo l’uso di time.

  • encodings: obbligatorio se si sta formattando l'orario. Ciò specifica come codificare il tempo di output. La proprietà è composta da due parti: il tipo di tempo e i campi in cui il tempo sarà scritto.
    • types: il tipi di geometria specificato in questa codifica. Le opzioni includono le seguenti:
      • Instant: per un singolo momento di tempo.
      • Interval: per un intervallo di tempo rappresentato da un tempo di inizio e uno di fine.
    • fields: è obbligatoria. Ciò specifica l'opzione name di uno o più campi utilizzati per memorizzare i risultati del tempo, nonché l'opzione formats dei campi in cui è memorizzato il tempo.
      • name: una proprietà obbligatoria per denominare il campo utilizzato per il tempo del dataset di output. Indica il nome del campo utilizzato per rappresentare il tempo. Potrebbero esserci istanze multiple.
      • formats: un campo obbligatorio che indica il formato del campo utilizzato per rappresentare il tempo. Potrebbero esserci formati multipli per un singolo campo (come indicato sopra). Possono esserci istanze multiple di questo oggetto. Per ulteriori informazioni sulla formattazione dei campi, consultare Formati del tempo nel file Manifest di una condivisione file Big Data.
    • role: un campo obbligatorio quando timeType è interval. Può rappresentare sia la proprietà startTime che endTime di un intervallo di tempo.
  • timeReference: un campo obbligatorio se il dataset è abilitato per variazioni temporali, indicando il fuso orario (timeZone).
    • timeZone: un campo opzionale di timeReference che indica il formato del fuso orario dei dati. timeZone può essere formattato come mostrato di seguito:
      • Utilizzo del nome completo del fuso orario: Pacific Standard Time
      • Utilizzo dell'abbreviazione del fuso orario: PST
      • Uso dell'offset del fuso orario in ore: -0900

In questo argomento
  1. Nome
  2. Titolo
  3. Formato
  4. Geometria
  5. Tempo