Skip To Content

Modelos de saída em um compartilhamento do arquivo de grandes dados

Os compartilhamentos do arquivo de dados grandes são registrados como um armazenamento de dados pelo ArcGIS Server Manager. Um compartilhamento do arquivo de grandes dados descreve o conjunto de dados de entrada utilizando um manifesto de compartilhamento do arquivo de grandes dados, como também, modelos para gravar resultados de volta ao local de compartilhamento do arquivo de grandes dados. Quando você grava um resultado de volta em um compartilhamento do arquivo de grandes dados, o compartilhamento do arquivo de grandes dados é atualizado automaticamente para incluir o novo conjunto de dados de saída como um conjunto de dados de entrada. Este tópico descreve a formatação dos modelos de saída e seus possíveis valores. Para uma visão geral de compartilhamentos do arquivo de grandes dados, e como os conjuntos de dados de entrada, os modelos de saída e o arquivo de dicas funcionam, consulte Iniciar com compartilhamentos do arquivo de grandes dados.

Anotação:

Este tópico é sobre a edição de modelos de saída. Para aprender sobre como aplicar um arquivo de sugestões para arquivos delimitados, consulte Entendendo o arquivo de sugestões.

Modelos de saída são compostos por um ou mais modelos. O número de modelos depende dos tipos de arquivos e formatação que você deseja utilizar para armazenar os resultados de saída. No seguinte exemplo, há três modelos de saída:

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

Em cada modelo, há cinco objetos de níveis superiores que podem ser aplicáveis. Destes objetos, name, title e format são exigidos.

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

Nome

O objeto name é exigido e define o nome do conjunto de dados. O nome deve ser exclusivo dentro do manifesto e não pode incluir caracteres especiais.

Título

O objeto title é necessário e define o título que é mostrado ao executar uma ferramenta. O título deve ser único dentro do manifesto e pode incluir espaços.

Formato

O objeto format é exigido e define o tipo do arquivo de saída e seu formato.

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

Exemplo utilizando um shapefile:

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

Exemplo utilizando um arquivo delimitado:

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

Exemplo utilizando um arquivo parquet:

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

Exemplo utilizando um arquivo ORC:

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

Descrição

  • type—Uma propriedade exigida que define o tipo de dados de saída. Isto pode ser delimited, shapefile, parquet ou orc.
  • extension—Uma propriedade exigida denotando a extensão do arquivo para arquivos delimitados.
  • fieldDelimiter—Isto é utilizado somente e exigido quando type for delimited. Este campo representa o que separa os campos no arquivo delimitado.
  • recordTerminator—Isto é sempre configurado para \n no Linux, e \r\n no Windows. Se você modificar esta opção, estes padrões ainda serão utilizados.
  • quoteChar—Isto é somente exigido quando type for delimited. O caractere denota como aspas são especificadas no arquivo delimitado.
  • delimited.write.header—Isto é somente exigido quando type for delimited. Esta propriedade especifica se a primeira linha em um arquivo delimitado é o nome dos campos.
  • encoding—Isto é sempre configurado para UTF-8. Se você modificar esta opção, este padrão ainda será utilizado.
  • dateFields—Como campos do tipo date serão executados. Estes são os campos que não estão representando o tempo da feição (instantâneo ou intervalo). Consulte formatos de time para aprender sobre formatação de campos de data.

Configurações de arquivos delimitados não podem ser criadas por ArcGIS Server Manager. Para modificar configurações de arquivos delimitados, edite os modelos navegando até o seu Diretório de Administrador do GeoAnalytics Server e clique em data > items > bigDataFileShares e seu compartilhamento do arquivo de grandes dados e clique em edit. Faça suas alterações e clique em Atualizar:

Geometria

O objeto geometry é opcional. Se não for fornecido, o campo de geometria será gravado em XYZ para os pontos armazenados em arquivos delimitados, ORC e em parquet, e será gravado em WKT para linhas e polígonos em arquivos delimitados, ORC e em parquet. Para shapefiles, os campos serão gravados em um campo de forma.

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

Exemplo utilizando um arquivo delimitado com valores 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"]		}]	}
]  
}

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

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

Exemplo utilizando um arquivo .tsv:

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

Descrição

Anotação:

A tabela acima descreve as opções padrão para o objeto geometry , se você não especificar, com base na geometria e no tipo de arquivo. As seguintes propriedades são listadas como obrigatórias ou opcionais, supondo que uma geometria seja utilizada:

  • spatialReference—Uma propriedade exigida que indica a referência espacial para a saída de conjuntos 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.
  • encodings—Isto é exigido. Isto especifica como codificar a geometria de saída. A propriedade é composta de duas partes: o tipo de geometria e os campos nos quais a geometria será gravada.
    • types—Os tipos de geometria especificados nesta codificação. As opções incluem o seguinte:
      • esriGeometryPoint
      • esriGeometryPolyline
      • esriGeometryPolygon
    • fields—Isto é exigido. Este especifica o name de um ou mais campos utilizados para armazenar os resultados da geometria, como também, o formats dos campos nos quais a geometria é armazenada.
      • name—Uma propriedade exigida para nomear o campo utilizado para a geometria do conjunto de dados de saída. 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 vários formatos. O campo de geometria dos shapefiles não pode ser especificado. Os seguintes tipos de formato são suportados:
        • WKT—O padrão para linhas e polígonos armazenados como arquivos delimitados, ORC e parquet.
        • GeoJSON
        • EsriJSON
        • X, Y,Z—O padrão para pontos armazenados como arquivos delimitados, ORC e parquet.
        • EsriShape—Esta opção está disponível somente para arquivos ORC e parquet.
        • WKB—Esta opção está disponível somente para arquivos ORC e parquet.

Hora

O objeto time é opcional. Se não for especificado e os resultados estiverem habilitados para tempo, o padrão será utilizado.

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

Exemplo utilizando um momento com múltiplos formatos em campos de tempo:

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

Descrição

Anotação:

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

  • encodings—Isto é exigido se você estiver formatando a hora. Isto especifica como codificar a hora de saída. A propriedade é composta de duas partes: o tipo de hora e os campos nos quais a hora será gravada.
    • types—Os tipos de geometria especificados nesta codificação. 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.
    • fields—Isto é exigido. Este especifica o name de um ou mais campos utilizados para armazenar os resultados de tempo, como também, o formats dos campos nos quais o tempo é armazenada.
      • name—Uma propriedade exigida para nomear o campo utilizado para o tempo do conjunto de dados de saída. Isto denota o nome do campo utilizado para representar a hora. Pode haver múltiplas instâncias disto.
      • formats—Um campo exigido que denota o formato do campo utilizado para representar o tempo. Pode haver múltiplos formatos para um campo único (como mostrado acima). Pode haver múltiplas instâncias deste objeto. Para aprender como os campos podem ser formatados, consulte Formatos de hora em um manifesto de compartilhamento do arquivo de grandes dados.
    • role—Um campo exigido quando o timeType for interval. Pode representar o startTime ou endTime de um intervalo de tempo.
  • timeReference—Um campo exigido se o conjunto de dados tiver tempo habilitado, denotando o fuso horário (timeZone).
    • timeZone—Um campo opcional de timeReference que denota o formato do fuso horário dos dados. timeZone pode ser formatado como segue:
      • Utilizando o nome completo do fuso horário: Pacific Standard Time
      • Utilizando a abreviação do fuso horário: PST
      • Utilizando o deslocamento de fuso horário em horas: -0900.