Векторная карта с точками, полилиниями и многоугольниками | |
Расширения имени файла | .shp , .shx , .dbf |
---|---|
Разработано | Esri |
Тип формата | GIS |
Стандартный | Техническое описание шейп-файла |
The Формат shapefile - это формат геопространственных векторных данных для программного обеспечения географической информационной системы (ГИС). Он разработан и регулируется Esri как в основном открытая спецификация для взаимодействия данных между Esri и другими программными продуктами ГИС. Формат шейп-файла может пространственно описывать векторные объекты: точки, линии и полигоны, представляющие, например, колодцы с водой., реки и озера. Каждый элемент обычно имеет атрибуты, которые описывают его, например имя или температуру.
Формат шейп-файла - это цифровой векторный формат хранения для хранения геометрического местоположения и связанной с ним информации атрибутов. В этом формате отсутствует возможность хранения топологической информации. Формат шейп-файлов был представлен в ArcView GIS версии 2 в начале 1990-х годов. Теперь можно читать и записывать географические наборы данных с использованием формата шейп-файлов с помощью широкого спектра программного обеспечения.
В формате шейп-файла данные хранятся в виде примитивных геометрических фигур, таких как точки, линии и многоугольники. Эти фигуры вместе с атрибутами данных, которые связаны с каждой фигурой, создают представление географических данных. Термин «шейп-файл» довольно распространен, но формат состоит из набора файлов с общим префиксом имени файла, хранящихся в том же каталоге . У трех обязательных файлов есть расширения имени файла .shp
, .shx
и .dbf
. Фактический шейп-файл относится конкретно к файлу .shp
, но сам по себе не является полным для распространения, поскольку требуются другие вспомогательные файлы. Устаревшее программное обеспечение ГИС может рассчитывать, что префикс имени файла будет ограничен восемью символами, чтобы соответствовать соглашению DOS 8.3 filename, хотя современные программные приложения принимают файлы с более длинными именами.
.shp
- формат shape; сама геометрия объекта {content-type: x-gis / x-shapefile}.shx
- формат индекса формы; позиционный индекс геометрии объекта, позволяющий быстро искать вперед и назад {content-type: x-gis / x-shapefile}.dbf
- формат атрибута; атрибуты столбцов для каждой формы в формате dBase IV {content-type: application / octet-stream OR text / plain}.prj
- описание проекции с использованием общеизвестное текстовое представление систем координат {content-type: text / plain OR application / text}.sbn
и .sbx
- a пространственный индекс объектов {content-type: x-gis / x-shapefile}.fbn
и .fbx
- пространственный индекс объектов, доступных только для чтения {content-type: x-gis / x-shapefile}.ain
и .aih
- индекс атрибута активных полей в таблице {content-type: x-gis / x-shapefile}.ixs
- индекс геокодирования для наборов данных чтения-записи {content-type: x-gis / x-shapefile}.mxs
- индекс геокодирования для чтения-записи наборы данных (формат ODB) {content-type: x-gis / x-shapefile}.atx
- индекс атрибута для файла .dbf
в виде шейп-файла . columnname.atx
(ArcGIS 8 и новее) {content-type: x-gis / x-shapefile
}.shp.xml
- геопространственные метаданные в формате XML, например ISO 19115 или другой XML-схеме {content-type: application / fgdc + xml}.cpg
- используется для указания кодовой страницы (только для .dbf
) для определения кодировки символов, которая будет used {content-type: text / plain
OR x-gis / x-shapefile
}.qix
- альтернативный пространственный индекс quadtree, используемый Программное обеспечение MapServer и GDAL / OGR {content-type: x-gis / x-shapefile}В каждом из файлов .shp
, .shx
и .dbf
, формы в каждом файле соответствуют друг другу в последовательности (т. Е. Первая запись в файле .shp
соответствует первой записи в .shx
и .dbf
файлы и т. Д.). Файлы .shp
и .shx
имеют разные поля с разным порядком байтов, поэтому разработчик форматов файлов должен быть очень осторожен, чтобы соблюдать порядок байтов каждого поля. и относиться к нему должным образом.
Главный файл (.shp) содержит геометрические данные. Двоичный файл состоит из одного заголовка фиксированной длины, за которым следует одна или несколько записей переменной длины. Каждая из записей переменной длины включает компонент заголовка записи и компонент содержимого записи. Подробное описание формата файла приведено в Техническом описании ESRI Shapefile. Этот формат не следует путать с исходным форматом шрифта shape AutoCAD, который имеет расширение .shp
.
Упорядочение данных координат по двухмерной оси предполагает декартову систему координат с использованием порядка (X Y) или (Восток, Север). Этот порядок осей согласован для географических систем координат, где порядок аналогичен (долгота и широта). Геометрия также может поддерживать 3- или 4- размерные координаты Z и M для отметки и меры соответственно. Z-измерение хранит высоту каждой координаты в трехмерном пространстве, которое может использоваться для анализа или для визуализации геометрии с помощью трехмерной компьютерной графики. Определяемое пользователем M-измерение может использоваться для одной из многих функций, таких как сохранение показателей с линейной привязкой или относительного времени объекта в 4D пространстве.
Основное заголовок файла имеет фиксированную длину 100 байт и содержит 17 полей; девять 4-байтовых (32-битных целых числа со знаком или int32) целочисленных полей, за которыми следуют восемь 8-байтовых (double ) подписанных полей с плавающей запятой:
Bytes | Type | Endianness | Использование |
---|---|---|---|
0–3 | int32 | big | Код файла (всегда шестнадцатеричное значение 0x0000270a) |
4–23 | int32 | big | Не используется; пять uint32 |
24–27 | int32 | big | Длина файла (в 16-битных словах, включая заголовок) |
28–31 | int32 | little | Версия |
32–35 | int32 | little | Тип формы (см. Ссылку ниже) |
36–67 | двойной | маленький | Минимальный ограничивающий прямоугольник (MBR) всех фигур, содержащихся в наборе данных; четыре двойных числа в следующем порядке: мин. X, мин. Y, макс. X, макс. Y |
68–83 | двойной | маленький | Диапазон Z; две двойные в следующем порядке: min Z, max Z |
84–99 | double | little | Диапазон M; два двойных числа в следующем порядке: min M, max M |
Файл затем содержит любое количество записей переменной длины. Каждая запись имеет префикс заголовка записи из 8 байтов:
Bytes | Тип | Endianness | Использование |
---|---|---|---|
0–3 | int32 | big | Номер записи (на основе 1) |
4–7 | int32 | big | Длина записи (в 16-битных словах) |
После заголовка записи следует фактическая запись:
Bytes | Тип | Endianness | Использование |
---|---|---|---|
0–3 | int32 | little | Тип формы (см. Ссылку ниже) |
4– | – | – | Содержимое формы |
Содержимое записи переменной длины зависит от типа формы, который должен быть либо типом формы, указанным в заголовке файла, либо пустым. Ниже приведены возможные типы фигур:
Значение | Тип формы | Поля |
---|---|---|
0 | Нулевой формы | Нет |
1 | Точка | X, Y |
3 | Полилиния | MBR, Количество частей, Количество точек, Частей, Точки |
5 | Многоугольник | MBR, Количество частей, Количество точек, Части, Точки |
8 | MultiPoint | MBR, количество точек, точек |
11 | PointZ | X, Y, Z. Необязательно: M |
13 | PolylineZ | Обязательно : MBR, количество частей, количество точек, части, точки, диапазон Z, массив Z. Необязательно: диапазон M, массив M |
15 | PolygonZ | Обязательно: MBR, количество частей, Количество точек, Части, Точки, Диапазон Z, Z-массив. Необязательно: M-диапазон, M-массив |
18 | MultiPointZ | Обязательный: MBR, Количество точек, Точки, Z-диапазон, Массив Z. Необязательно: диапазон M, массив M |
21 | PointM | X, Y, M |
23 | PolylineM | Обязательный: MBR, количество частей, количество точки, части, точки. Необязательно: диапазон M, массив M |
25 | PolygonM | Обязательно: MBR, Numbe r частей, количество точек, частей, точек. Необязательно: диапазон M, массив M |
28 | MultiPointM | Обязательно: MBR, количество точек, точек. Необязательно Поля: диапазон M, массив M |
31 | MultiPatch | Обязательный: MBR, количество деталей, количество точек, детали, типы деталей, точки, диапазон Z, массив Z. Необязательно: M диапазон, массив M |
Индекс содержит тот же 100-байтовый заголовок, что и файл .shp
, за которым следует любое количество 8-байтовые записи фиксированной длины, которые состоят из следующих двух полей:
Bytes | Type | Endianness | Usage |
---|---|---|---|
0–3 | int32 | big | Смещение записи (в 16-битных словах) |
4–7 | int32 | big | Длина записи (в 16 -битовые слова) |
Используя этот индекс, можно искать в шейп-файле назад, сначала ища в обратном направлении по индексу формы (что возможно, потому что он использует записи фиксированной длины), затем считывая смещение записи и используя это смещение для найдите правильную позицию в файле .shp
. Также можно пересылать произвольное количество записей, используя тот же метод.
В этом файле хранятся атрибуты для каждой формы; он использует формат dBase IV. Альтернативный формат, который также можно использовать, - это формат xBase, который имеет открытую спецификацию и используется в библиотеках с открытым исходным кодом shapefile , например, библиотека шейп-файла C.
Имена и значения атрибутов не стандартизированы и будут различаться в зависимости от источника шейп-файла.
Это двоичный файл пространственного индекса, который используется только программным обеспечением Esri. Формат не задокументирован Esri. Однако он был реконструирован и задокументирован сообществом открытого исходного кода. В настоящее время это не реализовано другими поставщиками. Файл .sbn
не является строго необходимым, поскольку файл .shp
содержит всю информацию, необходимую для успешного синтаксического анализа пространственных данных.
Формат шейп-файла не позволяет хранить топологическую информацию. Покрытия ESRI ArcInfo и личные / файловые / корпоративные базы геоданных имеют возможность хранить топологию объектов.
Ребра полилинии или многоугольника состоят из точек. Расстояние между точками неявно определяет масштаб, в котором функция полезна визуально. Превышение этого масштаба приводит к неровному изображению. Дополнительные точки потребуются для получения гладких форм в больших масштабах. Для объектов, лучше представленных сглаженными кривыми, для представления многоугольника требуется гораздо больше данных, чем, например, сплайны, которые могут эффективно захватывать плавно меняющиеся формы. Ни один из типов формата шейп-файлов не поддерживает сплайны.
Размер файлов компонентов .shp
и .dbf
не может превышать 2 ГБ (или 2 байта) - около 70 миллионов точечные особенности в лучшем случае. Максимальное количество объектов для других типов геометрии зависит от количества используемых вершин.
Формат базы данных атрибутов для файла компонента .dbf
основан на более старом стандарте dBase. Этот формат базы данных по своей сути имеет ряд ограничений:
Поскольку тип формы предшествует каждой записи геометрии, шейп-файл технически возможен le хранения смеси различных типов форм. Однако в спецификации указано: «Все фигуры, отличные от Null, в шейп-файле должны быть одного и того же типа». Следовательно, эта возможность смешивания типов фигур должна быть ограничена перемежением пустых фигур с одним типом фигуры, объявленным в заголовке файла. Шейп-файл не должен содержать данные как полилинии, так и полигона, например, описания колодца (точки), реки (полилинии) и озера (многоугольника) будут храниться в трех отдельных наборах данных.
| journal =
()