Skip To Content

Informazioni sul manifesto di condivisione file Big Data

Le condivisioni file Big Data sono registrate come un Data Store in ArcGIS Server Manager e richiedono un manifesto per delineare lo schema dei dati e i campi che rappresentano geometria e tempo in un dataset. Il manifesto viene generato automaticamente quando si registra una condivisione file Big Data, ma è necessario apportare delle modifiche se i dati variano o se la generazione del manifesto non ha potuto determinare tutte le informazioni necessarie, ad esempio se nel manifesto generato automaticamente non era stato selezionato il campo esatto per la geometria o il tempo).

Nota:

La modifica della condivisione file Big Data è un'opzione avanzata. Per ulteriori informazioni sull'applicazione di modifiche ai singoli dataset nel manifesto, consultare Modificare i manifesti delle condivisioni file Big Data in Manager. Per ulteriori informazioni sull'applicazione di un file dei suggerimenti per i file delimitati, consultare Informazioni sul file dei suggerimenti.

Il manifesto è 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 obbligatori.

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

Nome

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

Formato

L'oggetto format è obbligatorio e definisce il tipo di dati di input e il relativo formato.

SintassiEsempio
"format" : {
 "type" :  "< delimited | shapefile>",
 "extension" : "< csv | tsv | shp >",
 "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. Può essere delimited o shapefile.
  • extension: una proprietà obbligatoria che indica l'estensione del file. Per i shapefile, è shp, mentre i file delimitati utilizzano l'estensione del file dei dati (ad esempio, csv o tsv).
  • fieldDelimiter: obbligatoria quando type è delimited. Questo campo rappresenta ciò che separa i campi nel file delimitato.
  • recordTerminator: obbligatoria solo quando type è delimited. Questo campo rappresenta 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. Specifica se la prima riga in un file delimitato deve essere considerata come intestazione o come prima feature.
  • encoding: obbligatoria solo quando type è delimited. Specifica il tipo di codifica utilizzata.

Schema

L'oggetto schema è obbligatorio e definisce i campi e il tipo di campo dei dati di input.

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:
    • esriFieldTypeString: per stringhe
    • esriFieldTypeDouble: per valori doppi o mobili
    • esriFieldTypeBigInteger: per valori interi
    • esriFieldTypeDate: per shapefile con campi data. I dataset delimitati con campi che rappresentano la data devono avere le date rappresentate da un campo esriFieldTypeString.

Geometria

L'oggetto geometry è facoltativo. È 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 di utilizzo di un file .csv:

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

Esempio di utilizzo di un file .tsv:

"geometry" : {
 "geometryType" : "esriGeometryPolygon", "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.

Ora

L'oggetto time è facoltativo. 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 di utilizzo di un istante con più formati nei campi del 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"}, "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. 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
  • 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 ulteriori informazioni sulla formattazione dei campi, consultare Formati del tempo nel manifesto 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.

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