Skip To Content

Manifesto do compatilhamento de arquivo do big data

Anotação:

No ArcGIS Enterprise 10.9.1 ou superior, é recomendado que você adicione ou edite compartilhamentos de arquivos de grandes dados por meio da página de conteúdo do portal em vez de ArcGIS Server Manager. Saiba mais sobre como adicionar compartilhamentos de arquivos de grandes dados no portal.

Os compartilhamentos de arquivo do big data são registrados como um armazenamento de dados via página de conteúdo do seu portal. Os compartilhamentos de arquivos do big data exigem um manifesto para delinear o esquema de dados, como também, os campos que representam a geometria e o tempo no conjunto de dados. O manifesto é automaticamente gerado quando você registrar um compartilhamento de arquivo do big data, mas você pode precisar de modificações se houver qualquer alteração nos seus dados ou se a geração do manifesto não foi capaz de determinar todas as informações necessárias (por exemplo, o manifesto gerado automaticamente não selecionou o campo correto da geometria ou do tempo).

Anotação:

Editar seu compartilhamento de arquivo do big data através do manifesto é uma opção avançada. Para saber mais sobre como aplicar alterações a conjuntos de dados individuais em seu compartilhamento de arquivo do big data, consulte Gerenciar compartilhamentos de arquivo do big data no portal. Para aprender sobre como aplicar um arquivo de sugestões para arquivos delimitados, consulte Arquivo de sugestões.

O manifesto é composto de conjunto de dados. O número dos conjuntos de dados depende do número de pastas contidas no seu compartilhamento de arquivo do big data. No exemplo seguinte, há cinco conjunto de dados:

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

Dentro de cada conjunto de dados, há cinco objetos de níveis superiores que podem ser aplicáveis. Destes objetos, name, format e schema são exigidos.

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

Nome

O objeto name é exigido e define o nome do conjunto de dados. Este deve ser único dentro do manifesto.

Formato

O objeto format é exigido e define o tipo do conjunto de dados e seu formato.

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

Exemplo utilizando um shapefile:

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

Exemplo utilizando um arquivo delimitado:

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

Descrição

  • type—Uma propriedade exigida que define a fonte de dados. Esta pode ser delimited, shapefile, parquet ou orc.
  • extension—Uma propriedade exigida denotando a extensão do arquivo. Para shapefiles, esta é shp; os arquivos delimitados utilizam a extensão do arquivo de dados (por exemplo, csv ou tsv), arquivos ORC utilizam orc; e arquivos parquet utilizam parquet.
  • fieldDelimiter—Isto é exigido quando type for delimited. Este campo representa o que separa os campos no arquivo delimitado.
  • recordTerminator—Isto é somente exigido quando type for delimited. Este campo especifica o que finaliza as feições no arquivo delimitado.
  • quoteChar—Isto é somente exigido quando type for delimited. O caractere denota como aspas são especificadas no arquivo delimitado.
  • hasHeaderRow—Isto é somente exigido quando type for delimited. Esta propriedade especifica se a primeira linha em um arquivo delimitado deve ser tratada como um cabeçalho ou como a primeira feição.
  • encoding—Isto é somente exigido quando type for delimited. Esta propriedade especifica o tipo de codificação utilizada.

Esquema

O objeto schema é exigido; ele define os campos do conjunto de dados e o tipo de arquivo.

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

Descrição

  • fields—Uma propriedade exigida que define os campos no esquema.
  • name—Uma propriedade exigida que denota o nome do campo. O nome de campo deve ser único para o conjunto de dados e somente conter caracteres alfanuméricos e underscores.
  • type—Esta é uma propriedade exigida que define o tipo do campo. As opções incluem o seguinte:
    • esriFieldTypeInteger—Para inteiros.
    • esriFieldTypeSmallInteger—Para inteiros.
    • esriFieldTypeBigInteger—Para inteiros. Campos inteiros grandes serão armazenados como campos duplos em um serviço da feição.
    • esriFieldTypeString—Para strings.
    • esriFieldTypeDouble—Para duplos ou flutuantes.
    • esriFieldTypeDate—Para shapefiles com campos de data. Conjuntos de dados ORC e parquet delimitados com campos que representam uma data devem ter as datas representadas por um campo esriFieldTypeString.
    • esriFieldTypeSingle—Para valores únicos.
    • esriFieldTypeBlob—Para valores binários. Os campos de blob serão armazenados como campos de string em um serviço da feição.
Anotação:

Quando os compartilhamentos de arquivos do big data são analisados por GeoAnalytics Tools e salvos como um serviço da feição, os tipos podem mudar. Por exemplo, um esriFieldTypeBigInteger no compartilhamento de arquivo do big data se tornará um campo esriFieldTypeDouble em um serviço da feição.

Geometria

O objeto geometry é opcional. É exigido se um conjunto de dados tiver uma representação espacial, como, ponto, polilinha ou polígono.

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

Exemplo utilizando um arquivo delimitado com valores x e y:

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

Exemplo utilizando um arquivo delimitado com valores x, y e z:

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

Exemplo utilizando um arquivo .tsv:

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

Descrição

Anotação:

Já que o objeto geometry é opcional, as seguintes propriedades são listadas como exigidas ou opcionalmente assumindo que uma geometria será utilizada:

  • geometryType—Isto é exigido. As opções incluem o seguinte:
    • esriGeometryPoint
    • esriGeometryPolyline
    • esriGeometryPolygon
  • spatialReference—Uma propriedade exigida que denota a referência espacial do conjunto de dados.
    • wkid—Um campo que denota a referência espacial, onde wkid ou latestWkid é exigido para um conjunto de dados com uma geometria.
    • latestWkid—Um campo que denota a referência espacial em uma versão de software fornecida, onde wkid ou latestWkid é exigido para um conjunto de dados com geometria.
  • fields—Uma propriedade exigida para o conjunto de dados delimitado com uma representação espacial. Isto denota o nome de campo ou nomes e formatos da geometria.
    • name—Uma propriedade exigida para o conjunto de dados delimitado com uma representação espacial. Isto denota o nome do campo utilizado para representar a geometria. Pode haver múltiplas instâncias disto.
    • formats—Uma propriedade exigida para o conjunto de dados delimitado com uma representação espacial. Isto denota o formato do campo utilizado para representar a geometria. Pode haver múltiplas instâncias disto.
  • dropSourceFields—Uma propriedade opcional para conjuntos de dados com campos que representam a geometria. Isto denota se os campos utilizados para especificar a geometria serão utilizados como campos na análise. Se definido como verdadeiro, os campos utilizados para geometria não serão visíveis como campos de análise (como estatísticas de resumo) e descartados ao executar ferramentas. O padrão é falso. Esta propriedade não pode ser definida em conjuntos de dados de shapefile.

Tempo

O objeto time é opcional. É exigido se um conjunto de dados tiver uma representação temporal.

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

Exemplo utilizando uma instância com múltiplos formatos em campos de tempo:

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

Exemplo utilizando um intervalo, com múltiplos campos utilizados para 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"
  }
 ]
}

Descrição

Anotação:

Já que o objeto time é opcional, as seguintes propriedades são listadas como exigido ou opcionalmente, assumindo que time será utilizada:

  • timeType—O tipo de tempo é exigido se houver tempo incluído no conjunto de dados. As opções incluem o seguinte:
    • instant—Para um momento único no tempo
    • interval—Por um intervalo de tempo representado por um tempo inicial e final
  • timeReference—Um campo exigido se o conjunto de dados tiver tempo habilitado, denotando o fuso horário (timeZone).
    • timeZone—Um campo exigido de timeReference que denota o formato do fuso horário dos dados. Fusos horários são baseados em Joda-Time. Para aprender sobre os formatos de Joda-Time, consulte Fusos Horários Disponíveis de Joda-Time. timeZone pode ser formatado como segue:
      • Utilizando o nome completo do fuso horário: Pacific Standard Time.
      • Utilizando o deslocamento de fuso horário expresso em horas: -0100 ou -01:00.
      • Você pode utilizar abreviaturas de fuso horário para UTC ou GMT somente; caso contrário, utilize o nome completo ou o deslocamento de horas.
  • fields—Um campo exigido para denotar os nomes de campo e formatos de hora. Propriedades exigidas de fields são como seguem:
    • name—Um campo exigido que denota o nome do campo para representar o tempo. Pode haver múltiplas instâncias deste objeto.
    • formats—Um campo exigido que denota o formato do campo utilizado para representar a hora. Pode haver múltiplos formatos para um campo único (como mostrado acima). Pode haver múltiplas instâncias deste objeto. Para saber como os campos podem ser formatados, consulte Formatos de Hora.
    • role—Um campo exigido quando timeType for interval. Pode representar a startTime ou endTime de um intervalo de tempo.
  • dropSourceFields—Uma propriedade opcional para conjuntos de dados com campos que representam a hora. Isto denota se os campos utilizados para especificar a hora serão utilizados como campos na análise. Se definido como verdadeiro, os campos utilizados para hora não serão visíveis como campos de análise (como estatísticas de resumo) e descartados ao executar ferramentas. O padrão é falso.