Skip To Content

Manifesto di condivisione di file di grandi dati

Nota:

In ArcGIS Enterprise 10.9.1 o succerssivo, si consiglia di aggiungere o modificare condivisioni di file di big data tramite la pagina dei contenuti del portale anziché ArcGIS Server Manager. Ulteriori informazioni sull'aggiunta di condivisioni di file di big data nel portale.

Le condivisioni di file di grandi dati sono registrate come un negozio di dati attraverso la pagina dei contenuti del tuo portale. Le condivisioni di file di grandi dati richiedono un manifesto per delineare lo schema dei dati, così come i campi che rappresentano la geometria e il tempo nel set di dati. Il manifesto viene generato automaticamente quando si registra una condivisione di file di big data, ma potrebbe essere necessario apportare modifiche se ci sono cambiamenti ai dati, o se la generazione del manifesto non è stata in grado di determinare tutte le informazioni necessarie (per esempio, se il manifesto generato automaticamente non ha selezionato il campo corretto per la geometria o il tempo).

Nota:

La modifica della condivisione di file di grandi dati attraverso il manifesto è un'opzione avanzata. Per saperne di più su come applicare le modifiche ai singoli set di dati nella tua condivisione di file di grandi dati, vedi Gestire le condivisioni di file di grandi dati nel portale. Per sapere come applicare un file di suggerimenti per i file delimitati, vedi File di suggerimenti.

Il Manifest è costituito da dataset. Il numero di dataset dipende dal numero di cartelle contenute dalla condivisione file Big Data. Nell'esempio seguente, ci sono cinque dataset:

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

All'interno di ogni dataset, ci sono cinque oggetti di livello superiore applicabili. Di questi oggetti, name, format, e schema sono richiesti.

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

Nome

L'oggetto name è richiesto e definisce il nome del dataset. Deve essere univoco nel Manifest.

Formato

L’oggetto format è obbligatorio e definisce il tipo di dataset e il relativo formato.

SintassiEsempio
"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 >"
}

Esempio di utilizzo di uno shapefile:

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

Esempio di utilizzo di un file delimitato:

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

Descrizione

  • type: una proprietà obbligatoria che definisce i dati di origine. Questo può essere delimited, shapefile, parquet, o orc.
  • extension: una proprietà obbligatoria che indica l'estensione del file. Per gli shapefile, questo è shp; i file delimitati usano l'estensione del file dei dati (per esempio, csv o tsv); i file ORC usano orc; e i file parquet usano parquet.
  • fieldDelimiter: obbligatoria quando type è delimited. Questo campo rappresenta ciò che separa i campi nel file delimitato.
  • recordTerminator: obbligatoria solo quando type è delimited. Questo campo specifica ciò che termina le feature nel file delimitato.
  • quoteChar: obbligatoria solo quando type è delimited. Il carattere definisce come le virgolette vengono specificate nel file delimitato.
  • hasHeaderRow: obbligatoria solo quando type è delimited. Questa proprietà specifica se la prima riga di un file delimitato deve essere trattata come un'intestazione o come la prima feature.
  • encoding: obbligatoria solo quando type è delimited. Questa proprietà specifica il tipo di codifica utilizzata.

Schema

L’oggetto schema è obbligatorio; definisce i campi di dataset e il tipo di campo.

SintassiEsempio
"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"
  }
 ]
}

Descrizione

  • fields: una proprietà obbligatoria che definisce i campi nello schema.
  • name: una proprietà obbligatoria che indica il nome del campo. Il nome del campo deve essere univoco nel dataset e può contenere solo caratteri alfanumerici e di sottolineatura.
  • type: una proprietà obbligatoria che definisce il tipo di campo. Le opzioni includono le seguenti:
    • esriFieldTypeInteger:Per i numeri interi.
    • esriFieldTypeSmallInteger:Per i numeri interi.
    • esriFieldTypeBigInteger:Per i numeri interi. I grandi campi interi saranno memorizzati come campi doppi in un servizio di funzioni.
    • esriFieldTypeString: per stringhe.
    • esriFieldTypeDouble: per valori doppi o mobili
    • esriFieldTypeDate: per shapefile con campi data. I dataset delimitati, ORC Dataset e Parquet Dataset, con campi che rappresentano la data devono avere le date rappresentate da un campo esriFieldTypeString.
    • esriFieldTypeSingle: per singoli.
    • esriFieldTypeBlob:per valori binari. I campi blob saranno memorizzati come campi stringa in un servizio di funzioni.
Nota:

Quando i file di grandi dati vengono analizzati attraverso GeoAnalytics Toolss e salvati come servizio di funzioni, i tipi potrebbero cambiare. Per esempio, un esriFieldTypeBigInteger in una condivisione di file di big data diventerà un campo esriFieldTypeDouble in un servizio di funzioni.

Geometria

L'oggetto geometry è opzionale. È obbligatorio se un dataset ha una rappresentazione spaziale come un punto, una polilinea o un poligono.

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

Esempio utilizzando un file delimitato con valori x e y:

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

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

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

Esempio usando un file .tsv:

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

Descrizione

Nota:

Dal momento che l’oggetto geometry è facoltativo, le seguenti proprietà sono obbligatorie o facoltative presupponendo che è utilizzata una geometria.

  • geometryType: è obbligatoria. Le opzioni includono le seguenti:
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference: una proprietà obbligatoria che indica il riferimento spaziale del 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.
  • fields: una proprietà obbligatoria per dataset delimitati con una rappresentazione spaziale. Indica il nome del campo o i nomi e i formati della geometria.
    • name: una proprietà obbligatoria per dataset delimitati con una rappresentazione spaziale. 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. Potrebbero esserci istanze multiple.
  • dropSourceFields: una proprietà opzionale per dataset con campi rappresentanti la geometria. Questo denota se i campi usati per specificare la geometria saranno usati come campi nell'analisi. Se impostato su “True”, i campi utilizzati per la geometria non saranno visibili come campi di analisi (come le statistiche di riepilogo) e verranno tralasciati durante l’esecuzione degli strumenti. Il valore predefinito è "False". Questa proprietà non può essere impostata su set di dati shapefile.

Ora

L'oggetto time è opzionale. Obbligatorio se un dataset ha una rappresentazione temporale.

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

Esempio usando un istante, con formati multipli nei campi di tempo:

"time": {
 "timeType": "instant",
 "timeReference": {"timeZone": "UTC"},
 "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": {
 "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"
  }
 ]
}

Descrizione

Nota:

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

  • timeType: il tipo di tempo è obbligatorio se nel dataset è incluso il tempo. 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
  • timeReference: un campo obbligatorio se il dataset è abilitato per variazioni temporali, indicando il fuso orario (timeZone).
    • timeZone: un campo obbligatorio di timeReference che indica il formato del fuso orario dei dati. I fusi orari si basano su Joda-Time. Per conoscere i formati di Joda-Time, vedi Fusi orari disponibili di Joda-Time. timeZone può essere formattato come segue:
      • Utilizzo del nome completo del fuso orario: Pacific Standard Time
      • Utilizzo dell’offset del fuso orario espresso in ore: -0100 o -01:00.
      • È possibile utilizzare abbreviazioni per i fusi orari solamente per UTC o GMT; altrimenti, utilizzare il nome completo o l’offset orario.
  • fields: un campo obbligatorio che indica i nomi dei campi e i formati del tempo. Le proprietà obbligatoria di fields sono le seguenti:
    • name: un campo obbligatorio che indica il nome del campo utilizzato per rappresentare il tempo. Potrebbero esserci istanze multiple di questo oggetto.
    • 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). Potrebbero esserci istanze multiple di questo oggetto. Per sapere come i campi possono essere formattati, vedi Formati temporali.
    • role: un campo obbligatorio quando timeType è interval. Può rappresentare sia il startTime o endTime di un intervallo di tempo.
  • dropSourceFields: una proprietà opzionale per dataset con campi rappresentanti il tempo. Questo denota se i campi usati per specificare il tempo saranno usati come campi nell'analisi. Se impostato su “True”, i campi utilizzati per il tempo non saranno visibili come campi di analisi (come le statistiche di riepilogo) e verranno tralasciati durante l’esecuzione degli strumenti. Il valore predefinito è "False".

In questo argomento
  1. Nome
  2. Formato
  3. Schema
  4. Geometria
  5. Ora