aspose.info
RU

SHP - Шейп-файл ESRI

Обновлено

.SHP вариант №

SHP — это расширение файла для одного из основных типов файлов, используемых для представления шейп-файла ESRI. Он представляет геопространственную информацию в виде векторных данных, которые будут использоваться приложениями географических информационных систем (ГИС). Формат был разработан как открытая спецификация для облегчения взаимодействия между ESRI и другими программными продуктами.

Представление данных

Как уже упоминалось, формат шейп-файла описывает геопространственную информацию набора данных в виде векторных объектов. Эти векторные объекты включают в себя:

  • точки
  • линии
  • полигоны

Комбинация этих объектов может представлять практически любые типы фигур, такие как водяные колодцы, границы страны, пространственные точки, течение рек, озера и т. д. Каждый векторный объект может иметь атрибуты, фактически определяющие назначение этого объекта. Например, шейп-файл, содержащий города Лос-Анджелеса, может иметь название города и температуру в качестве атрибутов, что обеспечивает значимое представление пространственных данных.

Связанные файлы

Отдельный файл shp не может использоваться программными приложениями для придания смысла содержащимся в нем данным. Чтобы понять информацию, содержащуюся в таком файле, шейп-файл использует следующие дополнительные обязательные файлы.

*shx файл - индексный файл

  • файл dbf — файл dBASE, в котором хранятся все атрибуты фигур в основном файле
  • prj файл - хранит информацию о проекте файла

Могут быть и другие необязательные файлы, которые имеют то же имя, что и основной файл.

Спецификации формата файла SHP

Открытые спецификации шейп-файла доступны онлайн в ESRI в виде Технического описания, в котором подробно описана общая структура файла. Информация в основном файле .shp состоит из заголовков и записей. За заголовком файла фиксированной длины следуют записи переменной длины, где каждая запись состоит из заголовка записи фиксированной длины, за которым следует содержимое записи переменной длины.

Заголовок основного файла SHP

Основной заголовок файла начинается с начала файла и имеет длину 100 байт. Организация этого основного заголовка файла вместе с позицией байтов, значением, типом и порядком байтов показана в следующей таблице.

БайтыПолеЗначениеТипПорядок байтов
0-3Код файла9994Целое числоBig Endian
4-23Не используется0Целое числоС обратным порядком байтов
24-27Длина файлаДлина файлаЦелое числоBig Endian
28-31Версия1000Целое числоМаленький порядок байтов
32-35Тип фигурыТип фигурыЦелое числоLittle Endian
36-67Минимальный ограничивающий прямоугольникXmin, Ymin, Xmax и YmaxdoubleLittle Endian
68-83Ограничивающая рамкаZmin, ZmaxdoubleLittle Endian
84-99Ограничивающий прямоугольникMmin, Mmaxдвойной

Следует отметить, что значение длины файла представляет собой общую длину файла в 16-битных словах, которая также включает пятьдесят 16-битных слов, составляющих заголовок.

Типы фигур

Значения поля типов фигур в приведенной выше таблице следующие:

ЗначениеТип фигуры
0Нулевая форма
1Точка
3Ломаная
5Многоугольник
8Многоточечный
11ТочкаZ
13ПолиЛайнZ
15МногоугольникZ
18МноготочечныйZ
21ТочкаМ
23ПолиЛайнМ
25МногоугольникM
28МноготочечныйM
31Мультипатч

Записи данных

За заголовком основного файла следуют записи переменной длины, где каждая запись состоит из заголовка записи фиксированной длины, за которым следует содержимое записи переменной длины.

Заголовок записи

Заголовок записи содержит информацию о номере записи и длине содержимого записи фиксированной длины 8 байт. Организация заголовка записи показана ниже:

БайтыПолеЗначениеТипПорядок байтов
0-3Номер записиНомер записиЦелое числоБольшой
4-7Длина записиДлина записиЦелое числоБольшой

Записать содержимое

Содержимое записи шейп-файла состоит из типа формы, за которым следуют геометрические данные для этой формы. Тип фигуры 0 представляет нулевую фигуру, которая не имеет геометрических данных для фигуры. Длина содержимого записи является отражением частей и вершин фигуры. Давайте рассмотрим пример типа Point Shape, чтобы понять, как запись содержит информацию о таком типе формы.

Точка представляет определенное географическое положение в порядке X,Y, где каждая координата представлена значением двойной точности. В следующей таблице показано расположение типа формы Point.

БайтыТип формыЗначениеТипЧислоПорядок байтов
0-3Тип фигуры1Целое число1Маленький
4-11XXдвойной1Маленький
12-19ГГдвойной1маленький

Примеры других типов фигур можно найти в документе с техническим описанием ESRI.

Использованная литература

См. также