Você está na página 1de 34

Machine Translated by Google

Descrição Técnica do ESRI Shapefile

Um ESRI Livro Branco—Julho de 1998


Machine Translated by Google

Copyright © 1997, 1998 Environmental Systems Research Institute, Inc.


Todos os direitos reservados.
Impresso nos Estados Unidos da América.

As informações contidas neste documento são de propriedade exclusiva do Environmental Systems Research Institute, Inc.
Este trabalho é protegido pela lei de direitos autorais dos Estados Unidos e outros tratados e convenções internacionais de direitos autorais.
Nenhuma parte deste trabalho pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio, eletrônico ou mecânico, incluindo
fotocópia e gravação, ou por qualquer sistema de armazenamento ou recuperação de informações, exceto conforme expressamente permitido
por escrito pelo Environmental Systems Research Institute, Inc. Todas as solicitações devem ser enviadas para Attention: Contracts Manager,
Environmental Systems Research Institute, Inc., 380 New York Street, Redlands, CA 92373-8100 USA.

As informações contidas neste documento estão sujeitas a alterações sem aviso prévio.

DIREITOS RESTRITOS/LIMITADOS DO GOVERNO DOS EUA Qualquer


software, documentação e/ou dados fornecidos aqui estão sujeitos aos termos do Contrato de Licença. Em nenhum caso o Governo adquirirá
mais do que DIREITOS RESTRITOS/LIMITADOS. No mínimo, o uso, duplicação ou divulgação pelo Governo está sujeito a restrições conforme
estabelecido no FAR §52.227-14 Alternativas I, II e III (JUN 1987); FAR §52.227-19 (JUN 1987) e/ou FAR §12.211/12.212 (Dados Técnicos
Comerciais/Software de Computador); e DFARS §252.227-7015 (NOV 1995) (Dados Técnicos) e/ou DFARS §227.7202 (Software de Computador),
conforme aplicável.
O empreiteiro/fabricante é o Environmental Systems Research Institute, Inc., 380 New York Street, Redlands, CA 92373-8100 USA.

Nos Estados Unidos e em alguns países, ARC/INFO, ArcCAD, ArcView, ESRI e PC ARC/INFO são marcas registradas; Analista 3D, ADF, AML,
ARC COGO, ARC GRID, ARC NETWORK, ARC News, ARC TIN, ARC/INFO, ARC/INFO LIBRARIAN, ARC/INFO—Professional GIS, ARC/INFO
—The World's GIS, ArcAtlas, ArcBrowser, ArcCAD, ArcCensus, ArcCity, ArcDoc, ARCEDIT, ArcExplorer, ArcExpress, ARCPLOT, ArcPress,
ArcScan, ArcScene, ArcSchool, ArcSdl, ARCSHELL, ArcStorm, ArcTools, ArcUSA, ArcUser, ArcView, ArcWorld, Atlas GIS, AtlasWare, Avenue,
BusinessMAP, DAK , DATABASE INTEGRATOR, DBI Kit, ESRI, ESRI—Team GIS, ESRI—The GIS People, FormEdit, Geographic Design
System, GIS by ESRI, GIS for Everyone, GISData Server, IMAGE INTEGRATOR, InsiteMAP, MapCafé, MapObjects, NetEngine, PC ARC /INFO,
PC ARCEDIT, PC ARCPLOT, PC ARCSHELL, PC DATA CONVERSION, PC NETWORK, PC OVERLAY, PC STARTER KIT, PC TABLES, SDE,
SML, Spatial Database Engine, StreetMap, TABLES, o logotipo ARC COGO, o logotipo ARC GRID , o logotipo ARC NETWORK, o logotipo ARC
TIN, o logotipo ARC/INFO, o logotipo ArcCAD, o logotipo ArcCAD WorkBench, o emblema ArcData, o logotipo ArcData, o logotipo ArcDat um
logotipo Online, o logotipo ARCEDIT, o logotipo ArcExplorer, o logotipo ArcExpress, o logotipo ARCPLOT, o logotipo ArcPress, o logotipo ArcPress
for ArcView, o logotipo ArcScan, o logotipo ArcStorm, o logotipo ArcTools, o logotipo ArcView 3D Analyst, o ArcView Logotipo Data Publisher,
logo ArcView GIS, logo ArcView Internet Map Server, logo ArcView Network Analyst, logo ArcView Spatial Analyst, logo ArcView StreetMap, logo
Atlas GIS, logo Avenue, logo BusinessMAP , logo BusinessMAP PRO , a Common Design Mark, o logotipo DAK, o logotipo corporativo ESRI, o
logotipo ESRI Globe, o logotipo MapCafé, o logotipo MapObjects, o logotipo MapObjects Internet Map Server, o logotipo NetEngine, o logotipo PC
ARC/INFO, o logotipo SDE, o logotipo do SDE CAD Client, o GIS de desktop líder do mundo, ViewMaker, Water Writes e Seu Sistema de
Informações Geográficas Pessoais são marcas registradas; e ArcData, ARCMAIL, ArcOpen, ArcQuest, ArcWatch, ArcWeb, Rent-a-Tech,
www.esri.com e @esri.com são marcas de serviço do Environmental Systems Research Institute, Inc.

Os nomes de outras empresas e produtos aqui contidos são marcas comerciais ou marcas registradas de suas respectivas marcas comerciais
os Proprietários.
Machine Translated by Google

J-7855

ESRI Shapefile Técnico


Descrição

Um Livro Branco da ESRI

Conteúdo Página

Por que Shapefiles? 1

Descrição Técnica do Shapefile 2

Organização do arquivo principal 2

Conteúdo do Registro do Arquivo Principal 5

Organização do arquivo de índice 23

Organização do arquivo dBASE 25

Glossário 26

eu
Livro Branco da ESRI
Machine Translated by Google
Machine Translated by Google

J-7855

ESRI Shapefile Técnico


Descrição
Este documento define o formato de dados espaciais do shapefile (.shp) e
descreve por que os shapefiles são importantes. Ele lista as ferramentas
disponíveis no Environmental Systems Research Institute, Inc. (ESRI), software
para criar shapefiles diretamente ou converter dados em shapefiles de outros
formatos. Este documento também fornece todas as informações técnicas
necessárias para escrever um programa de computador para criar shapefiles sem o
uso do software ESRI® para organizações que desejam escrever seus próprios
tradutores de dados.

Por que Shapefiles? Um shapefile armazena geometria não topológica e informações de atributos para os recursos espaciais em um
conjunto de dados. A geometria de um recurso é armazenada como uma forma que compreende um conjunto
de coordenadas vetoriais.

Como os shapefiles não têm a sobrecarga de processamento de uma estrutura de dados topológica, eles têm
vantagens sobre outras fontes de dados, como maior velocidade de desenho e capacidade de edição. Shapefiles lidam
com recursos únicos que se sobrepõem ou não são contíguos. Eles também normalmente requerem menos espaço
em disco e são mais fáceis de ler e escrever.

Shapefiles podem suportar recursos de ponto, linha e área. As feições de área são representadas como polígonos
de loop fechado com dupla digitação. Os atributos são mantidos em um arquivo de formato dBASE® .
Cada registro de atributo tem um relacionamento de um para um com o registro de forma associado.

Como Shapefiles Shapefiles podem ser criados com os quatro métodos gerais a seguir:
Pode ser criado
ExportaçãoÿShapefiles podem ser criados exportando qualquer fonte de dados para um shapefile usando o
software ARC/INFO®, PC ARC/INFO®, Spatial Database Engine™ (SDE™), ArcView® GIS ou BusinessMAP™ .

DigitalizarÿShapefiles podem ser criados diretamente pela digitalização de formas usando as ferramentas de criação
de recursos do ArcView GIS.

ProgramaçãoÿUsando Avenue™ (ArcView GIS), MapObjects™, ARC Macro Language (AML™) (ARC/
INFO) ou Simple Macro Language (SML™)
(PC ARC/INFO), você pode criar shapefiles dentro de seus programas.

Escreva diretamente nas especificações do shapefile criando um programa.

Livro Branco da ESRI


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Os softwares SDE, ARC/INFO, PC ARC/INFO, Data Automation Kit (DAK™) e ArcCAD® fornecem
conversores de dados de forma para cobertura, e o ARC/INFO também fornece um conversor de cobertura
para forma. Para troca com outros formatos de dados, as especificações do shapefile são publicadas neste
artigo. Outros fluxos de dados, como os de receptores do sistema de posicionamento global (GPS), também podem
ser armazenados como shapefiles ou tabelas de eventos X,Y.

Técnico Shapefile Programas de computador podem ser criados para ler ou gravar shapefiles usando a especificação técnica
Descrição nesta seção.

Um shapefile ESRI consiste em um arquivo principal, um arquivo de índice e uma tabela dBASE. O arquivo
principal é um arquivo de comprimento de registro variável de acesso direto no qual cada registro descreve uma
forma com uma lista de seus vértices. No arquivo de índice, cada registro contém o deslocamento do registro do
arquivo principal correspondente desde o início do arquivo principal. A tabela dBASE contém atributos de recurso
com um registro por recurso. A relação um-para-um entre a geometria e os atributos é baseada no número do
registro. Os registros de atributo no arquivo dBASE devem estar na mesma ordem dos registros no arquivo principal.

Convenções de nomenclatura Todos os nomes de arquivo seguem a convenção de nomenclatura 8.3. O arquivo principal, o arquivo de índice e o arquivo
dBASE têm o mesmo prefixo. O prefixo deve começar com um caractere alfanumérico (a–Z, 0–9), seguido por zero
_, -). é
ou até sete caracteres (a–Z, 0–9, o arquivo principal é .shp. O sufixo para o arquivo de índice O.sufixo
shx. Opara
sufixo para a
tabela dBASE é .dbf. Todas as letras em um nome de arquivo estão em minúsculas em sistemas operacionais com
nomes de arquivo que diferenciam maiúsculas de minúsculas.

Exemplos Arquivo principal: condados.shp


Arquivo de índice: condados.shx
tabela dBASE:
condados.dbf

Tipos Numéricos Um shapefile armazena números inteiros e de precisão dupla. O restante deste documento se referirá aos seguintes tipos:

Inteiro: inteiro de 32 bits assinado (4 bytes)


Duplo: Número de ponto flutuante de precisão dupla IEEE de 64 bits assinado (8 bytes)

Os números de ponto flutuante devem ser valores numéricos. Os valores de infinito positivo, infinito negativo e Não-
um-Número (NaN) não são permitidos em shapefiles. No entanto, os shapefiles suportam o conceito de valores
"sem dados", mas atualmente são usados apenas para medidas.
Qualquer número de ponto flutuante menor que –1038 é considerado por um leitor de shapefile para
representar um valor "sem dados".

A primeira seção abaixo descreve a estrutura geral e a organização do shapefile.


A segunda seção descreve o conteúdo do registro para cada tipo de forma suportada no shapefile.

Organização do O arquivo principal (.shp) contém um cabeçalho de arquivo de tamanho fixo seguido por registros de tamanho
Arquivo principal variável. Cada registro de comprimento variável é composto por um cabeçalho de registro de comprimento fixo
seguido pelo conteúdo do registro de comprimento variável. A Figura 1 ilustra a organização do arquivo principal.

março de 1998 2
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

figura 1
Organização do arquivo principal

Cabeçalho do arquivo

Cabeçalho do Registro Conteúdo do Registro

Cabeçalho do Registro Conteúdo do Registro

Cabeçalho do Registro Conteúdo do Registro

Cabeçalho do Registro Conteúdo do Registro

...

...

Cabeçalho do Registro Conteúdo do Registro

Byte Order Todo o conteúdo de um shapefile pode ser dividido em duas categorias:

Dados relacionados

• Conteúdo do registro do arquivo principal

• Campos de descrição de dados do cabeçalho do arquivo principal (tipo de forma, caixa delimitadora, etc.)

Relacionado ao gerenciamento de

arquivos • Comprimentos de arquivos e registros

• Compensações de registro e assim por diante

Os inteiros e inteiros de precisão dupla que compõem os campos de descrição de dados no cabeçalho do arquivo
(identificados abaixo) e o conteúdo do registro no arquivo principal estão em ordem de byte little endian (PC ou Intel®).
Os números inteiros e de ponto flutuante de precisão dupla que compõem o restante do arquivo e do gerenciamento de
arquivos estão em ordem de byte big endian (Sun® ou Motorola®) .

O Cabeçalho do Arquivo Principal O cabeçalho do arquivo principal tem 100 bytes. A Tabela 1 mostra os campos no cabeçalho do arquivo com sua posição de
byte, valor, tipo e ordem de byte. Na tabela, a posição é em relação ao início do arquivo.

Livro Branco da ESRI 3


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

tabela 1

Descrição do cabeçalho do arquivo principal

Byte
Posição Campo Valor Modelo Ordem

Byte 0 Código do arquivo 9994 inteiro Grande

Byte 4 Não usado 000 inteiro Grande

Byte 8 Não usado 00 inteiro Grande

Byte 12 Não usado inteiro Grande

Byte 16 Não usado inteiro Grande

Byte 20 Não usado inteiro Grande

Byte 24 Tamanho do arquivo Comprimento do inteiro Grande

Byte 28 Versão arquivo 1000 inteiro Pequena

Byte 32 Tipo de forma Tipo de forma inteiro Pequena

Byte 36 Caixa delimitadora Xmin Dobro Pequena

Byte 44 Caixa delimitadora Ymin Dobro Pequena

Byte 52 Caixa delimitadora Xmax Dobro Pequena

Byte 60 Caixa delimitadora Ymax Dobro Pequena

Byte 68* Caixa delimitadora Zmin Dobro Pequena

Byte 76* Caixa delimitadora Zmax Dobro Pequena

Byte 84* Caixa delimitadora Mmin Dobro Pequena

Byte 92* Caixa delimitadora Mmax Dobro Pequena

* Não utilizado, com valor 0,0, se não for Medido ou tipo Z

O valor para o comprimento do arquivo é o comprimento total do arquivo em palavras de 16 bits (incluindo os cinquenta
palavras de 16 bits que compõem o cabeçalho).

Todas as formas não nulas em um shapefile devem ser do mesmo tipo de forma. o
os valores para o tipo de forma são os seguintes:

Valor Tipo de forma


0 Forma Nula
1 Ponto
3 Polilinha
5 Polígono
8 Multiponto
11 Ponto Z
13 PolyLineZ
15 Polígono Z
18 MultiPointZ
21 Ponto M
23 PolyLineM
25 Polígono M
28 MultiPointM
31 MultiPatch

março de 1998 4
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Os tipos de forma não especificados acima (2, 4, 6, etc., e até 33) são reservados para uso futuro.
Atualmente, os shapefiles são restritos a conter o mesmo tipo de forma conforme especificado acima.
No futuro, os shapefiles poderão conter mais de um tipo de forma. Se misturado
tipos de forma são implementados, o campo tipo de forma no cabeçalho sinalizará o arquivo como tal.

A caixa delimitadora no cabeçalho do arquivo principal armazena a extensão real das formas no arquivo:
o retângulo delimitador mínimo ortogonal ao X e Y (e potencialmente ao M e Z)
eixos que contém todas as formas. Se o shapefile estiver vazio (ou seja, não tiver registros), os valores
para Xmin, Ymin, Xmax e Ymax não são especificados. Mmin e Mmax podem conter "não
data" valores (consulte Tipos Numéricos na página 2) para shapefiles de tipos de forma medidos que
não contém medidas.

Cabeçalhos de registro O cabeçalho de cada registro armazena o número do registro e o comprimento do conteúdo do registro.
Os cabeçalhos de registro têm um comprimento fixo de 8 bytes. A Tabela 2 mostra os campos no cabeçalho do arquivo
com sua posição de byte, valor, tipo e ordem de byte. Na tabela, a posição é em relação
para o início do registro.

mesa 2

Descrição dos cabeçalhos de registro do arquivo principal

Byte
Posição Campo Valor Modelo Ordem

Byte 0 Número recorde Número de registro inteiro Grande

Byte 4 Comprimento do conteúdo Comprimento do conteúdo inteiro Grande

Os números de registro começam em 1.

O comprimento do conteúdo de um registro é o comprimento da seção de conteúdo do registro medido em


palavras de 16 bits. Cada registro, portanto, contribui (4 + comprimento do conteúdo) palavras de 16 bits
em direção ao comprimento total do arquivo, conforme armazenado no Byte 24 no cabeçalho do arquivo.

Arquivo principal O conteúdo do registro Shapefile consiste em um tipo de forma seguido pelos dados geométricos para o
Conteúdo do Registro forma. O comprimento do conteúdo do registro depende do número de partes e vértices em um
forma. Para cada tipo de forma, primeiro descrevemos a forma e, em seguida, seu mapeamento para registrar
conteúdo em disco. Nas Tabelas 3 a 16, a posição é em relação ao início do registro
conteúdo.

Formas nulas Um tipo de forma 0 indica uma forma nula , sem dados geométricos para a forma. Cada
tipo de recurso (ponto, linha, polígono, etc.) suporta nulosÿé válido ter pontos e nulos
pontos no mesmo shapefile. Muitas vezes, as formas nulas são espaços reservados; são usados durante
criação de shapefiles e são preenchidos com dados geométricos logo após serem criados.

Livro Branco da ESRI 5


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 3
Conteúdo do Registro de Forma Nula

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 0 inteiro 1 Pequena

Tipos de forma em
Espaço X,Y

Ponto Um ponto consiste em um par de coordenadas de precisão dupla na ordem X,Y.

Ponto
{
Duplo X // coordenada X
Duplo Y // Coordenada Y
}

Tabela 4
Conteúdo do Registro de Pontos

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 1 inteiro 1 Pequena

Byte 4 X X Dobro 1 Pequena

Byte 12 S S Dobro 1 Pequena

MultiPoint Um MultiPoint representa um conjunto de pontos, como segue:

Multiponto
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumPoints // Número de pontos
Ponto[NumPoints] Pontos // Os pontos no conjunto
}

A caixa delimitadora é armazenada na ordem Xmin, Ymin, Xmax, Ymax.

março de 1998 6
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 5
Conteúdo do Registro MultiPoint

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 8 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumPoints NumPoints inteiro 1 Pequena

Byte 40 Pontos Pontos Ponto NumPoints Little

PolyLine Uma PolyLine é um conjunto ordenado de vértices que consiste em uma ou mais partes. Uma parte é um
seqüência conectada de dois ou mais pontos. As peças podem ou não estar conectadas a um
outro. As partes podem ou não se cruzar.

Como esta especificação não proíbe pontos consecutivos com coordenadas idênticas,
leitores de shapefile devem lidar com esses casos. Por outro lado, o degenerado, comprimento zero
partes que possam resultar não são permitidas.

Polilinha
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Os campos para uma PolyLine são descritos em detalhes abaixo:

Caixa A caixa delimitadora para a PolyLine armazenada na ordem Xmin, Ymin, Xmax,
Ymáx.

NumParts O número de peças na PolyLine.

NumPoints O número total de pontos para todas as partes.

Peças Uma matriz de comprimento NumParts. Armazena, para cada PolyLine, o índice de sua
primeiro ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada parte na PolyLine são
armazenados de ponta a ponta. Os pontos da Parte 2 seguem os pontos da Parte 1, e assim
sobre. A matriz de partes contém o índice da matriz do ponto de partida para cada parte.
Não há delimitador na matriz de pontos entre as partes.

Livro Branco da ESRI 7


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 6
Conteúdo do Registro PolyLine

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 3 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little

Nota: X = 44 + 4 * NumParts

Polígono Um polígono consiste em um ou mais anéis. Um anel é uma sequência conectada de quatro ou mais
pontos que formam um laço fechado, sem auto-interseção. Um polígono pode conter vários
anéis externos. A ordem dos vértices ou orientação de um anel indica qual lado do anel
é o interior do polígono. A vizinhança à direita de um observador caminhando
o anel na ordem dos vértices é a vizinhança dentro do polígono. Definindo os vértices dos anéis
buracos em polígonos estão no sentido anti-horário. Vértices para um único, anelado
polígono estão, portanto, sempre no sentido horário. Os anéis de um polígono são chamados de
como suas partes.

Como esta especificação não proíbe pontos consecutivos com coordenadas idênticas,
leitores de shapefile devem lidar com esses casos. Por outro lado, o degenerado, comprimento zero
ou partes de área zero que possam resultar não são permitidas.

A estrutura Polygon é idêntica à estrutura PolyLine, como segue:

Polígono
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Os campos para um polígono são descritos em detalhes abaixo:

Caixa A caixa delimitadora para o polígono armazenado na ordem Xmin, Ymin, Xmax,
Ymáx.

NumParts O número de anéis no polígono.

NumPoints O número total de pontos para todos os anéis.

março de 1998 8
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Peças Uma matriz de comprimento NumParts. Armazena, para cada anel, o índice de seu primeiro
ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada anel no polígono são armazenados
de ponta a ponta. Os pontos do Anel 2 seguem os pontos do Anel 1 e assim por diante. A matriz de
partes contém o índice da matriz do ponto inicial para cada anel.
Não há delimitador na matriz de pontos entre anéis.

O diagrama de instância na Figura 2 ilustra a representação de polígonos. Esta figura mostra um polígono com um
buraco e um total de oito vértices.

A seguir estão notas importantes sobre formas de polígonos.

Os anéis são fechados (o primeiro e o último vértice de um anel DEVEM ser o mesmo).
A ordem dos anéis na matriz de pontos não é significativa.
Os polígonos armazenados em um shapefile devem estar limpos. Um polígono limpo é aquele que

1. Não tem auto-interseções. Isso significa que um segmento pertencente a um anel não pode interceptar um
segmento pertencente a outro anel. Os anéis de um polígono podem se tocar nos vértices, mas não ao
longo dos segmentos. Segmentos colineares são considerados em interseção.

2. Tem o interior do polígono no lado "correto" da linha que o define. A vizinhança à direita de um observador
caminhando ao longo do anel em ordem de vértice é o interior do polígono. Os vértices de um único polígono
anelado estão, portanto, sempre no sentido horário. Os anéis que definem os furos nesses polígonos têm
uma orientação no sentido anti-horário. Os polígonos "sujos" ocorrem quando os anéis que definem os furos
no polígono também vão no sentido horário, o que causa sobreposição de interiores.

Figura 2
Uma instância de polígono de exemplo

v1

v5

v4 v8 v6 v2

v7

v3

Livro Branco da ESRI 9


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Para este exemplo, NumParts é igual a 2 e NumPoints é igual a 10. Observe que a ordem dos
pontos para o polígono donut (buraco) são invertidos abaixo.

0 5

Peças: 0 5

0 1 2 345678 9
Pontos: v1 v2 v3 v4 v1 v5 v8 v7 v6 v5

Tabela 7
Conteúdo do Registro de Polígono

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 5 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little

Nota: X = 44 + 4 * NumParts

Medido Formas deste tipo têm uma coordenada adicionalÿM. Observe que o valor "sem dados" pode ser
Tipos de forma em especificado como um valor para M (consulte Tipos numéricos na página 2).
Espaço X,Y

PointM Um PointM consiste em um par de coordenadas de precisão dupla na ordem X, Y, mais um


medida M.

Ponto M
{
Duplo X // coordenada X
Duplo Y // Coordenada Y
Duplo M // Medida
}

março de 1998 10
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 8
Conteúdo do Registro PointM

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 21 inteiro 1 Pequena

Byte 4 X X Dobro 1 Pequena

Byte 12 S S Dobro 1 Pequena

Byte 20 M M Dobro 1 Pequena

MultiPointM Um MultiPointM representa um conjunto de PointMs, como segue

MultiPointM
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumPoints // Número de pontos
Ponto[NumPoints] Pontos // Os pontos no conjunto
Duplo[2] Faixa M // Faixa de medida delimitadora
Matriz dupla [NumPoints] M // Medidas
}

Os campos para um MultiPointM são

Caixa A caixa delimitadora para o MultiPointM armazenada na ordem Xmin, Ymin,


Xmax, Ymax

NumPoints O número de pontos

Pontos Uma matriz de pontos de comprimento NumPoints

M Range As medidas mínimas e máximas para o MultiPointM armazenadas no


ordem Mmin, Mmax

M Array Uma matriz de medidas de comprimento NumPoints

Livro Branco da ESRI 11


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 9
Conteúdo do Registro MultiPointM

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 28 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumPoints NumPoints inteiro 1 Pequena

Byte 40 Pontos Pontos Ponto NumPoints Little


Byte X* Mmin Mmin Dobro 1 Pequena

Byte X+8* Mmax Mmax Dobro 1 Pequena

Byte X+16* Marray Ontem Dobro NumPoints Little

Nota: X = 40 + (16 * NumPoints)


* opcional

PolyLineM Um shapefile PolyLineM consiste em uma ou mais partes. Uma parte é uma sequência conectada de
dois ou mais pontos. As peças podem ou não estar conectadas umas às outras. As peças podem ou podem
não se cruzam.

PolyLineM
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Duplo[2] Faixa M // Faixa de medida delimitadora


Matriz dupla [NumPoints] M // Medidas para todos os pontos
}

Os campos para uma PolyLineM são

Caixa A caixa delimitadora para a PolyLineM armazenada na ordem Xmin, Ymin,


Xmax, Ymax.

NumParts O número de peças na PolyLineM.

NumPoints O número total de pontos para todas as partes.

Peças Uma matriz de comprimento NumParts. Armazena, para cada parte, o índice de sua primeira
ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada parte na PolyLineM
são armazenados de ponta a ponta. Os pontos da Parte 2 seguem os pontos da Parte 1, e
em breve. A matriz de partes contém o índice da matriz do ponto de partida para cada
papel. Não há delimitador na matriz de pontos entre as partes.

março de 1998 12
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Faixa M As medidas mínimas e máximas para a PolyLineM armazenadas no


ordem Mmin, Mmax.

M Array Um array de comprimento NumPoints. As medidas para cada parte do


PolyLineM são armazenados de ponta a ponta. As medidas para a Parte 2 seguem as
medidas para a Parte 1, e assim por diante. O array de partes contém o índice do array do
ponto de partida para cada parte. Não há delimitador na matriz de medidas
entre partes.

Tabela 10
Conteúdo do Registro PolyLineM

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 23 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little


Byte Y* Mmin Mmin Dobro 1 Pequena

Byte Y + 8* Mmax Mmax Dobro 1 Pequena

Byte Y + 16* Marray Ontem Dobro NumPoints Little

Nota: X = 44 + (4 * NumParts), Y = X + (16 * NumPoints)


* opcional

PolygonM Um PolygonM consiste em vários anéis. Um anel é um loop fechado, sem auto-interseção.
Observe que as interseções são calculadas no espaço X,Y, não no espaço X,Y,M. Um polígono M
pode conter vários anéis externos. Os anéis de um PolygonM são referidos como suas partes.

A estrutura PolygonM é idêntica à estrutura PolyLineM, como segue:

Polígono M
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Duplo[2] Faixa M // Faixa de medida delimitadora


Matriz dupla [NumPoints] M // Medidas para todos os pontos
}

Livro Branco da ESRI 13


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Os campos para um PolygonM são

Caixa A caixa delimitadora para o PolygonM armazenado na ordem Xmin, Ymin, Xmax,
Ymax.

NumParts O número de anéis no PolygonM.

NumPoints O número total de pontos para todos os anéis.

Peças Uma matriz de comprimento NumParts. Armazena, para cada anel, o índice de seu
primeiro ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada anel no PolygonM são
armazenados de ponta a ponta. Os pontos do Anel 2 seguem os pontos do Anel 1 e
assim por diante. A matriz de partes contém o índice da matriz do ponto inicial para cada
anel. Não há delimitador na matriz de pontos entre anéis.

Faixa M As medidas mínimas e máximas para o PolygonM armazenadas na ordem


Mmin, Mmáx.

M Array Um array de comprimento NumPoints. As medidas para cada anel no PolygonM são armazenadas
de ponta a ponta. Os compassos do Anel 2 seguem os compassos do Anel 1 e assim por
diante. A matriz de partes contém o índice da matriz da medida inicial para cada anel. Não
há delimitador na matriz de medidas entre anéis.

A seguir estão notas importantes sobre as formas PolygonM.

Os anéis são fechados (o primeiro e o último vértice de um anel DEVEM ser o mesmo).
A ordem dos anéis na matriz de pontos não é significativa.

março de 1998 14
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 11
Conteúdo do Registro PolygonM

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 25 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little


Byte Y* Mmin Mmin Dobro 1 Pequena

Byte Y + 8* Mmax Mmax Dobro 1 Pequena

Byte Y + 16* Marray Ontem Dobro NumPoints Little

Nota: X = 44 + (4 * NumParts), Y = X + (16 * NumPoints)


* opcional

Tipos de forma em Formas deste tipo têm uma coordenada opcionalÿM. Observe que o valor "sem dados" pode ser
Espaço X,Y,Z especificado como um valor para M (consulte Tipos numéricos na página 2).

PontoZ Um PontoZ consiste em um tripleto de coordenadas de precisão dupla na ordem X, Y, Z mais um


a medida.

Ponto Z
{
Duplo X // coordenada X
Duplo Y // Coordenada Y
Dobro A PARTIR DE // Coordenada Z
Duplo M // Medida
}

Tabela 12
Conteúdo do Registro PointZ

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 11 inteiro 1 Pequena

Byte 4 X X Dobro 1 Pequena

Byte 12 S S Dobro 1 Pequena

Byte 20 A PARTIR DE A PARTIR DE Dobro 1 Pequena

Byte 28 A medida M Dobro 1 Pequena

Livro Branco da ESRI 15


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

MultiPointZ Um MultiPointZ representa um conjunto de PointZs, como segue:

MultiPointZ
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumPoints // Número de pontos
Ponto[NumPoints] Pontos // Os pontos no conjunto
Duplo[2] Do intervalo // Limite Z Range
Matriz dupla [NumPoints] Z // Valores Z
Duplo[2] Faixa M // Faixa de medida delimitadora
Matriz dupla [NumPoints] M // Medidas
}

A caixa delimitadora é armazenada na ordem Xmin, Ymin, Xmax, Ymax.

O intervalo Z delimitador é armazenado na ordem Zmin, Zmax. A faixa M delimitadora é armazenada


na ordem Mmin, Mmax.

Tabela 13
Conteúdo do Registro MultiPointZ

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 18 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumPoints NumPoints inteiro 1 Pequena

Byte 40 Pontos Pontos Ponto NumPoints Little


Byte X Zmin Zmin Dobro 1 Pequena

Byte X+8 Zmax Zmax Dobro 1 Pequena

Byte X+16 Zarray Zarray Dobro NumPoints Little


Byte Y* Mmin Mmin Dobro 1 Pequena

Byte Y+8* Mmax Mmax Dobro 1 Pequena

Byte Y+16* Marray Ontem Dobro NumPoints Little


Nota: X = 40 + (16 * NumPoints); Y = X + 16 + (8 * NumPoints)
* opcional

março de 1998 16
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

PolyLineZ Uma PolyLineZ consiste em uma ou mais partes. Uma parte é uma sequência conectada de dois ou
mais pontos. As peças podem ou não estar conectadas umas às outras. As peças podem ou não
se cruzam.

PolyLineZ
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Duplo[2] Do intervalo // Limite Z Range


Duplo[NumPoints] Matriz Z // Valores Z para todos os pontos

Duplo[2] Faixa M // Faixa de medida delimitadora


Matriz dupla [NumPoints] M // Medidas
}

Os campos para um PolyLineZ são descritos em detalhes abaixo:

Caixa A caixa delimitadora para a PolyLineZ armazenada na ordem Xmin, Ymin,


Xmax, Ymax.

NumParts O número de peças no PolyLineZ.

NumPoints O número total de pontos para todas as partes.

Peças Uma matriz de comprimento NumParts. Armazena, para cada parte, o índice de sua primeira
ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada parte no PolyLineZ
são armazenados de ponta a ponta. Os pontos da Parte 2 seguem os pontos da Parte 1, e
em breve. A matriz de partes contém o índice da matriz do ponto de partida para cada
papel. Não há delimitador na matriz de pontos entre as partes.

Do intervalo Os valores Z mínimo e máximo para o PolyLineZ armazenados no pedido


Zmin, Zmax.

Z Array Uma matriz de comprimento NumPoints. Os valores Z para cada parte na PolyLineZ
são armazenados de ponta a ponta. Os valores Z para a Parte 2 seguem os valores Z para a Parte 1,
e assim por diante. A matriz de partes contém o índice da matriz do ponto de partida para
cada parte. Não há delimitador na matriz Z entre as partes.

Faixa M As medidas mínimas e máximas para o PolyLineZ armazenadas no pedido


Mmin, Mmáx.

M Array Um array de comprimento NumPoints. As medidas para cada peça no PolyLineZ


são armazenados de ponta a ponta. As medidas da Parte 2 seguem as medidas da Parte

Livro Branco da ESRI 17


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

1, e assim por diante. A matriz de partes contém o índice da matriz da medida inicial
para cada parte. Não há delimitador na matriz de medidas entre as partes.

Tabela 14
Conteúdo do Registro PolyLineZ

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 13 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little


Byte Y Zmin Zmin Dobro 1 Pequena

Byte Y + 8 Zmax Zmax Dobro 1 Pequena

Byte Y + 16 Zarray Zarray Dobro NumPoints Little


Byte Z* Mmin Mmin Dobro 1 Pequena

Byte Z+8* Mmax Mmax Dobro 1 Pequena

Byte Z+16* Marray Ontem Dobro NumPoints Little

Nota: X = 44 + (4 * NumParts), Y = X + (16 * NumPoints), Z = Y + 16 + (8 * NumPoints)


* opcional

PolygonZ Um PolygonZ consiste em vários anéis. Um anel é um loop fechado, sem auto-interseção.
Um PolygonZ pode conter vários anéis externos. Os anéis de um PolygonZ são referidos como
suas partes.

A estrutura PolygonZ é idêntica à estrutura PolyLineZ, como segue:

Polígono Z
{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Ponto[NumPoints] Pontos // Pontos para todas as peças

Duplo[2] Do intervalo // Limite Z Range


Duplo[NumPoints] Matriz Z // Valores Z para todos os pontos

Duplo[2] Faixa M // Faixa de medida delimitadora


Matriz dupla [NumPoints] M // Medidas
}

março de 1998 18
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Os campos para um PolygonZ são

Caixa A caixa delimitadora para o PolygonZ armazenado na ordem Xmin, Ymin, Xmax,
Ymax.

NumParts O número de anéis no PolygonZ.

NumPoints O número total de pontos para todos os anéis.

Peças Uma matriz de comprimento NumParts. Armazena, para cada anel, o índice de seu
primeiro ponto na matriz de pontos. Os índices de matriz são em relação a 0.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada anel no PolygonZ são
armazenados de ponta a ponta. Os pontos do Anel 2 seguem os pontos do Anel 1 e assim
por diante. A matriz de partes contém o índice da matriz do ponto inicial para cada anel.
Não há delimitador na matriz de pontos entre anéis.

Do intervalo Os valores Z mínimo e máximo para o arco armazenados na ordem Zmin, Zmax.

Z Array Uma matriz de comprimento NumPoints. Os valores Z para cada anel no PolygonZ são
armazenados de ponta a ponta. Os valores Z para o Anel 2 seguem os valores Z para o
Anel 1 e assim por diante. A matriz de partes contém o índice da matriz do valor Z inicial
para cada anel. Não há delimitador na matriz de valores Z entre os anéis.

Faixa M As medidas mínimas e máximas para o PolygonZ armazenadas na ordem


Mmin, Mmáx.

M Array Um array de comprimento NumPoints. As medidas para cada anel no PolygonZ são armazenadas
de ponta a ponta. Os compassos do Anel 2 seguem os compassos do Anel 1 e assim por
diante. A matriz de partes contém o índice da matriz da medida inicial para cada anel. Não
há delimitador na matriz de medidas entre anéis.

A seguir estão notas importantes sobre as formas PolygonZ.

Os anéis são fechados (o primeiro e o último vértice de um anel DEVEM ser o mesmo).
A ordem dos anéis na matriz de pontos não é significativa.

Livro Branco da ESRI 19


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Tabela 15
Conteúdo do Registro PolygonZ

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 15 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little


Byte Y Zmin Zmin Dobro 1 Pequena

Byte Y+8 Zmax Zmax Dobro 1 Pequena

Byte Y+16 Zarray Zarray Dobro NumPoints Little


Byte Z* Mmin Mmin Dobro 1 Pequena

Byte Z+8* Mmax Mmax Dobro 1 Pequena

Byte Z+16* Marray Ontem Dobro NumPoints Little

Nota: X = 44 + (4 * NumParts), Y = X + (16 * NumPoints), Z = Y + 16 + (8 *


NumPoints)
* opcional

MultiPatch Um MultiPatch consiste em vários patches de superfície. Cada patch de superfície descreve um
superfície. Os patches de superfície de um MultiPatch são referidos como suas partes, e o tipo de
part controla como a ordem dos vértices de uma parte MultiPatch é interpretada. As partes de um
O MultiPatch pode ser dos seguintes tipos:

Triangle Strip Uma faixa ligada de triângulos, onde cada vértice (após os dois primeiros)
completa um novo triângulo. Um novo triângulo é sempre formado por
conectando o novo vértice com seus dois predecessores imediatos.

Triangle Fan Um leque vinculado de triângulos, onde cada vértice (após os dois primeiros)
completa um novo triângulo. Um novo triângulo é sempre formado por
conectando o novo vértice com seu predecessor imediato e o
primeiro vértice da peça.

Anel externo O anel externo de um polígono.

Anel Interno Um buraco de um polígono.

Primeiro toque O primeiro anel de um polígono de um tipo não especificado.

Anel Um anel de um polígono de um tipo não especificado.

Uma única Triangle Strip, ou Triangle Fan, representa um único patch de superfície. Veja a Figura 3
para exemplos desses tipos de peças.

março de 1998 20
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Uma sequência de peças que são anéis pode descrever um remendo de superfície poligonal com furos. A sequência
normalmente consiste em um Anel Externo, representando o limite externo do patch, seguido por vários Anéis Internos
representando buracos. Quando os tipos individuais de anéis em uma coleção de anéis que representam um remendo
poligonal com buracos são desconhecidos, a sequência deve começar com o Primeiro Anel, seguido por um número de
Anéis. Uma sequência de Anéis não precedida por um Primeiro Anel é tratada como uma sequência de Anéis Externos
sem furos.

Figura 3
Exemplos de Peças MultiPatch

V8
V2
V4 V6
V7
V2
V1 V3
V6

V7
V9 V4
v1 v3 V5
V5
Faixa Triângulo Ventilador Triângulo

Primeiro

Anel externo
Anel

Anéis Internos

Anel

Esta figura mostra exemplos de todos os tipos de peças MultiPatch.

Os valores usados para codificar o tipo de peça são os seguintes:

Valor 0 Tipo de peça


123 Faixa Triângulo
45 Ventilador Triângulo

Anel externo
Anel Interno
Primeiro toque
Anel

Livro Branco da ESRI 21


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

MultiPatch

{
Duplo[4] Caixa // Caixa delimitadora
inteiro NumParts // Número de peças
inteiro NumPoints // Número total de pontos
Inteiro[NumParts] Peças // Índice para o primeiro ponto na peça

Inteiro[NumParts] Tipos de peças // Tipo de peça


Ponto[NumPoints] Pontos // Pontos para todas as peças

Duplo[2] Do intervalo // Limite Z Range


Duplo[NumPoints] Matriz Z // Valores Z para todos os pontos

Duplo[2] Faixa M // Faixa de medida delimitadora


Matriz dupla [NumPoints] M // Medidas

Os campos para um MultiPatch são

Caixa A Bounding Box para o MultiPatch armazenado na ordem Xmin, Ymin,


Xmax, Ymax.

NumParts O número de peças no MultiPatch.

NumPoints O número total de pontos para todas as partes.

Peças Uma matriz de comprimento NumParts. Armazena, para cada parte, o índice de sua primeira
ponto na matriz de pontos. Os índices de matriz são em relação a 0.

PartTypes Uma matriz de comprimento NumParts. Armazena para cada parte seu tipo.

Pontos Uma matriz de NumPoints de comprimento. Os pontos para cada parte no MultiPatch
são armazenados de ponta a ponta. Os pontos da Parte 2 seguem os pontos da Parte 1, e
em breve. A matriz de partes contém o índice da matriz do ponto de partida para cada
papel. Não há delimitador na matriz de pontos entre as partes.

Do intervalo Os valores mínimo e máximo de Z para o arco armazenados na ordem Zmin,


Zmáx.

Z Array Uma matriz de comprimento NumPoints. Os valores Z para cada parte no MultiPatch
são armazenados de ponta a ponta. Os valores Z para a Parte 2 seguem os valores Z para a Parte 1,
e assim por diante. A matriz de partes contém o índice da matriz do valor Z inicial para
cada parte. Não há delimitador na matriz de valores Z entre as partes.

M Range As medidas mínimas e máximas para o MultiPatch armazenadas no


ordem Mmin, Mmax.

M Array Um array de comprimento NumPoints. As medidas para cada parte do


MultiPatch são armazenados de ponta a ponta. As medidas para a Parte 2 seguem as
medidas para a Parte 1, e assim por diante. O array de partes contém o índice do array do

março de 1998 22
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

medida inicial para cada parte. Não há delimitador na matriz de medidas


entre partes.

A seguir estão notas importantes sobre formas MultiPatch.

Se uma parte é um anel, ela deve ser fechada (o primeiro e o último vértice de um anel DEVEM ser o
mesmo).

A ordem das partes que são anéis na matriz de pontos é significativa: Os anéis internos devem
siga seu Anel Externo; uma sequência de anéis representando um único remendo de superfície deve
comece com um toque do tipo First Ring.

As partes podem compartilhar limites comuns, mas as partes não devem se cruzar e penetrar cada
outro.

Tabela 16
Conteúdo do Registro MultiPatch

Byte
Posição Campo Valor Modelo Número Ordem

Byte 0 Tipo de forma 31 inteiro 1 Pequena

Byte 4 Caixa Caixa Dobro 4 Pequena

Byte 36 NumParts NumParts inteiro 1 Pequena

Byte 40 NumPoints NumPoints inteiro 1 Pequena

Byte 44 Peças Peças inteiro NumParts Pequena

Tipos de peças do byte W Tipos de peças inteiro NumParts Pequena

Byte X Pontos Pontos Ponto NumPoints Little


Byte Y Zmin Zmin Dobro 1 Pequena

Byte Y+8 Zmax Zmax Dobro 1 Pequena

Byte Y+16 Zarray Zarray Dobro NumPoints Little


Byte Z* Mmin Mmin Dobro 1 Pequena

Byte Z+8* Mmax Mmax Dobro 1 Pequena

Byte Z+16* Marray Ontem Dobro NumPoints Little

Nota: W = 44 + (4 * NumParts), X = W + (4 * NumParts), Y = X + (16 * NumPoints),


Z = Y + 16 + (8 * NumPoints)
* opcional

Organização do O arquivo de índice (.shx) contém um cabeçalho de 100 bytes seguido por registros de comprimento fixo de 8 bytes.
Arquivo de índice
A Figura 4 ilustra a organização do arquivo de índice.

Livro Branco da ESRI 23


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Figura 4
Organização do arquivo de índice

Cabeçalho do arquivo

Registro

Registro

Registro

Registro

...

...

Registro

O cabeçalho do arquivo de índice O cabeçalho do arquivo de índice é idêntico em organização ao cabeçalho do arquivo principal descrito acima.
O comprimento do arquivo armazenado no cabeçalho do arquivo de índice é o comprimento total do arquivo de índice em 16 bits
palavras (as cinquenta palavras de 16 bits do cabeçalho mais 4 vezes o número de registros).

Registros de Índice O I'ésimo registro no arquivo de índice armazena o deslocamento e o comprimento do conteúdo do I'ésimo registro em
o arquivo principal. A Tabela 17 mostra os campos no cabeçalho do arquivo com sua posição de byte, valor,
tipo e ordem de bytes. Na tabela, a posição é em relação ao início do arquivo de índice
registro.

Tabela 17

Descrição dos Registros de Índice

Byte
Posição Campo Valor Modelo Ordem

Byte 0 Desvio Desvio inteiro Grande

Byte 4 Comprimento do conteúdo Comprimento do conteúdo inteiro Grande

O deslocamento de um registro no arquivo principal é o número de palavras de 16 bits desde o início do


arquivo principal para o primeiro byte do cabeçalho do registro para o registro. Assim, a compensação para o primeiro
registro no arquivo principal é 50, dado o cabeçalho de 100 bytes.

O comprimento do conteúdo armazenado no registro de índice é o mesmo que o valor armazenado no arquivo principal.
cabeçalho do registro do arquivo.

março de 1998 24
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Organização O arquivo dBASE (.dbf) contém quaisquer atributos de recurso desejados ou chaves de atributo às
do arquivo dBASEquais outras tabelas podem ser unidas. Seu formato é um arquivo DBF padrão usado por muitos
aplicativos baseados em tabela no Windows™ e DOS. Qualquer conjunto de campos pode estar presente
na tabela. Existem três requisitos, como segue:

O nome do arquivo deve ter o mesmo prefixo que o arquivo de forma e índice. Seu sufixo deve
ser .dbf. (Veja o exemplo na página 2, em Convenções de nomenclatura.)

A tabela deve conter um registro por recurso de forma.

A ordem de registro deve ser a mesma que a ordem dos recursos de forma no arquivo principal
(*.shp).

O valor do ano no cabeçalho do dBASE deve ser o ano desde 1900.

Para obter mais informações sobre o formato de arquivo dBASE, visite o site da INPRISE Corp. em
www.inprise.com.

Livro Branco da ESRI 25


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Glossário
Os termos-chave são definidos abaixo para ajudá-lo a entender os conceitos discutidos neste documento.

ARC/ INFO O software ARC/INFO foi desenvolvido para usuários que precisam de um conjunto completo de ferramentas para
processamento e manipulação de dados espaciais, incluindo digitalização, edição, gerenciamento de
coordenadas, análise de rede, modelagem de superfície e modelagem baseada em células de grade.
ARC/INFO opera em uma grande variedade de estações de trabalho e minicomputadores. Usando padrões
abertos e arquitetura cliente/servidor, o ARC/INFO pode atuar como um servidor GIS para clientes ArcView GIS.

O software ArcCAD ArcCAD traz a funcionalidade do software ARC/INFO GIS para o ambiente AutoCAD, fornecendo gerenciamento
abrangente de dados, análise espacial e ferramentas de exibição.

Macro ARCO ARC Macro Language é uma linguagem algorítmica de alto nível que fornece recursos completos
Idioma (AML) de programação e um conjunto de ferramentas para personalizar a interface do usuário de seu
aplicativo.

ArcView GIS O software ArcView GIS é um GIS de desktop poderoso e fácil de usar que permite visualizar, explorar, consultar e analisar
dados espacialmente. O ArcView GIS opera em ambientes de desktop Windows, bem como em uma grande
variedade de estações de trabalho.

O software Avenue Avenue é uma linguagem de programação orientada a objetos e desenvolvimento


ambiente criado para uso com o software ArcView GIS. O Avenue pode ser usado para estender os recursos
básicos do software ArcView GIS e personalizar o ArcView GIS para aplicações específicas.

ordem de Ordenação de bytes da esquerda para a direita de uma palavra inteira. Esse método de ordenação de
bytes big endianbytes é usado em muitos sistemas UNIX, incluindo Sun, Hewlett–Packard®, IBM® e Data General AVIiON®.

Caixa delimitadora Uma caixa delimitadora é um retângulo em torno de cada forma (por exemplo, PolyLine) que é apenas grande
suficiente para conter toda a forma. É definido como Xmin,Ymin, Xmax,Ymax.

BusinessMAP O software de mapeamento de banco de dados BusinessMAP para Windows permite que você crie mapas
personalizados e represente informações em gráficos bi ou tridimensionais. O BusinessMAP lê shapefiles
ESRI e trabalha com os principais gerenciadores de contatos, bancos de dados e planilhas.

março de 1998 26
Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

cobertura 1. Uma versão digital de um mapa formando a unidade básica de armazenamento de dados vetoriais em ARC/INFO
Programas. Uma cobertura armazena feições geográficas como feições primárias (como arcos, nós, polígonos
e pontos de rótulo) e feições secundárias (como tiques, extensão do mapa, links e anotação). As tabelas de
atributos de feições associadas descrevem e armazenam atributos das feições geográficas.

2. Um conjunto de dados associados tematicamente considerados como uma unidade. Uma cobertura geralmente
representa um único tema, como solos, córregos, estradas ou uso da terra.

Automação de dados O Data Automation Kit (DAK) complementa o ArcView GIS e outros softwares de mapeamento de desktop,
Kit (TELHADO) fornecendo digitalização e edição de dados de alta qualidade, criação de topologia, conversão de dados e recursos
de projeção de mapas.

feição Uma representação de uma feição geográfica que tem uma representação espacial referida
como uma "forma" e um conjunto de atributos.

arquivo de índice Um arquivo de índice do ArcView GIS shapefile é um arquivo que permite acesso direto aos registros no
arquivo principal correspondente.

ordem de bytes Ordenação de bytes da direita para a esquerda de uma palavra inteira. Esse método de ordenação de bytes é
little endian usado em muitos sistemas de arquivos operacionais, incluindo DEC OSF/1™, DEC OpenVMS™, MS–DOS® e Windows
NT™.

MapObjects MapObjects é uma coleção de mapeamento incorporável e componentes GIS, incluindo um Active X Control (OCX) e objetos
programáveis de Active X Automation. Use MapObjects com uma variedade de ambientes de desenvolvimento
padrão do Windows para criar aplicativos de mapeamento ou adicionar componentes de mapeamento em aplicativos
existentes.

MultiPoint Um único recurso composto por um cluster de localizações de pontos e um único registro de atributo.
O grupo de pontos representa a feição geográfica.

NumPoints A contagem do número de vértices x,y contidos em uma forma.

PC ARC/INFO PC ARC/INFO é um GIS cheio de recursos para compatíveis com PC. Como o software ARC/INFO,
O PC ARC/INFO é usado por organizações em todo o mundo para automatizar, gerenciar e analisar informações
geográficas. Os atributos que descrevem as feições geográficas são armazenados como arquivos tabulares no formato
dBASE.

PolyLine Um conjunto ordenado de vértices x,y representando uma linha ou limite.

anel Um conjunto ordenado de vértices x,y onde o primeiro vértice é o mesmo local que o último vértice; uma PolyLine fechada ou um
polígono.

shapefile Um conjunto de dados ArcView GIS usado para representar um conjunto de feições geográficas como ruas,
locais de hospitais, áreas comerciais e limites de CEP. Shapefiles podem representar feições de ponto, linha ou área.
Cada feição em um shapefile representa uma única feição geográfica e seus atributos.

Livro Branco da ESRI 27


Machine Translated by Google

Descrição Técnica do ESRI Shapefile

J-7855

Macro simples SML é a Simple Macro Language do software PC ARC/INFO—um conjunto de comandos que constituem
Idioma (SML) uma linguagem de programação simples para construir macros com alguns dos recursos de uma
linguagem de programação de alto nível, como avaliação de expressão, manipulação de entrada e saída e
direcionamento de programa fluxo de controle.

tema Um conjunto definido pelo usuário de recursos geográficos. As fontes de dados para temas no ArcView GIS incluem
coberturas, grades, imagens e shapefiles. As propriedades do tema incluem o nome da fonte de dados,
atributos de interesse, um esquema de classificação de dados e metodologia de desenho.

topologia As relações espaciais entre as feições de cobertura conectadas ou adjacentes (por exemplo, arcos,
nós, polígonos e pontos). Por exemplo, a topologia de um arco inclui seus nós de origem e destino e seus
polígonos esquerdo e direito. As relações topológicas são construídas a partir de elementos simples em
elementos complexos: pontos (elementos mais simples) e arcos (conjuntos de pontos conectados) são usados
para representar recursos mais complexos, como áreas (conjuntos de arcos conectados).
Shapefiles não registram explicitamente a topologia.

As coberturas representam características geográficas como gráficos de linha topológicos. A topologia


pode ser útil para muitas operações de modelagem GIS que não requerem coordenadas. Por exemplo, encontrar
um caminho ideal entre dois pontos requer uma lista dos arcos que se conectam entre si e o custo para percorrer
cada arco em cada direção. As coordenadas só são necessárias para desenhar o caminho depois de calculado.

vetor Uma estrutura de dados baseada em coordenadas cartesianas (ou seja, x,y) comumente usada para representar
características geográficas. Cada recurso é representado como um ou mais vértices. Os atributos estão
associados ao recurso. Outras estruturas de dados incluem raster (que associa atributos a uma célula de
grade) e redes irregulares trianguladas (TINs) para representação de superfície.

vértice Um de um conjunto de coordenadas ordenadas x,y que constitui uma linha.

março de 1998 28
Machine Translated by Google
Machine Translated by Google

Por mais de 25 anos, a ESRI tem ajudado as pessoas a gerenciar e analisar informações geográficas. A ESRI oferece uma estrutura para implementação de GIS em

qualquer organização com um link direto do GIS pessoal na área de trabalho para o cliente/servidor GIS corporativo e sistemas de gerenciamento de dados. As soluções

ESRI GIS são flexíveis e podem ser personalizadas para atender às necessidades de nossos usuários.

A ESRI é uma empresa de GIS de serviço completo, pronta para ajudá-lo a começar, crescer e construir o sucesso com GIS.

Corporativo Regional
ESRI–Minneapolis
ESRI 612-454-0600
ESRI–Olympia
380 New York Street 360-754-4727
ESRI-St. Louis
Redlands, Califórnia ESRI–Boston
314-949-6620
92373-8100 EUA 978-777-4543

Telefone: 909-793-2853
Fax: 909-793-5953

Para mais informações sobre


Software ESRI ligue para ESRI em ESRI–Alasca
907-344-6613 ESRI-Washington, DC
1-800-447-9778 703-506-9515

(1-800-GIS-XPRT)
ESRI–Charlotte
Envie perguntas por e-mail ESRI–Califórnia 704-541-9810
para info@esri.com 909-793-2853
ramal. 1-1906
Visite a página da Web da ESRI
em www.esri.com ESRI–Denver
303-449-7779
ESRI-San Antonio
210-499-1044

Internacional
Austrália Índia Suécia
61-89-242-1005 91-11-620-3801 46-23-84090

BeLux Itália Tailândia


32-2-460-7000 39-6-406-96-1 66-2-678-0707

Canadá Holanda BV Reino Unido


416-441-6035 31-10-217-0700 44-1-923-210450

França Polônia Venezuela


33-1-46-23-6060 48-22-256-482 58-2-285-1134

Alemanha sul da Asia Fora dos Estados Unidos, entre


49-8166-677-0 65-735-8755 em contato com o distribuidor local da ESRI.
Para obter o número do seu distribuidor,
ligue para a ESRI em
Hong Kong
909-793-2853, ramal 1-1235
852-2-730-6883 Espanha 34-1-559-4347

Nº GS-35F-5D86H

O endereço do distribuidor ou parceiro de negócios da ESRI vai aqui


Impresso nos EUA

Você também pode gostar