Шейп-файл

редактировать
Шейп-файл
Простая векторная карта.svg Векторная карта с точками, полилиниями и многоугольниками
Расширения имени файла .shp, .shx, .dbf
РазработаноEsri
Тип форматаGIS
Стандартный Техническое описание шейп-файла

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

Содержание
  • 1 Обзор
    • 1.1 Формат формы шейп-файла (.shp)
    • 1.2 Формат индекса формы шейп-файла (.shx)
    • 1.3 Формат атрибутов шейп-файла (.dbf)
    • 1.4 Пространственный индекс шейп-файла формат (.sbn)
  • 2 Ограничения
    • 2.1 Топология и формат шейп-файла
    • 2.2 Пространственное представление
    • 2.3 Хранение данных
    • 2.4 Смешивание типов фигур
  • 3 См. также
  • 4 Внешние ссылки
  • 5 Ссылки
Обзор

Формат шейп-файла - это цифровой векторный формат хранения для хранения геометрического местоположения и связанной с ним информации атрибутов. В этом формате отсутствует возможность хранения топологической информации. Формат шейп-файлов был представлен в 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 / plainOR x-gis / x-shapefile}
  • .qix- альтернативный пространственный индекс quadtree, используемый Программное обеспечение MapServer и GDAL / OGR {content-type: x-gis / x-shapefile}

В каждом из файлов .shp, .shxи .dbf, формы в каждом файле соответствуют друг другу в последовательности (т. Е. Первая запись в файле .shpсоответствует первой записи в .shxи .dbfфайлы и т. Д.). Файлы .shpи .shxимеют разные поля с разным порядком байтов, поэтому разработчик форматов файлов должен быть очень осторожен, чтобы соблюдать порядок байтов каждого поля. и относиться к нему должным образом.

Shapefile shape format (.shp)

Главный файл (.shp) содержит геометрические данные. Двоичный файл состоит из одного заголовка фиксированной длины, за которым следует одна или несколько записей переменной длины. Каждая из записей переменной длины включает компонент заголовка записи и компонент содержимого записи. Подробное описание формата файла приведено в Техническом описании ESRI Shapefile. Этот формат не следует путать с исходным форматом шрифта shape AutoCAD, который имеет расширение .shp.

Упорядочение данных координат по двухмерной оси предполагает декартову систему координат с использованием порядка (X Y) или (Восток, Север). Этот порядок осей согласован для географических систем координат, где порядок аналогичен (долгота и широта). Геометрия также может поддерживать 3- или 4- размерные координаты Z и M для отметки и меры соответственно. Z-измерение хранит высоту каждой координаты в трехмерном пространстве, которое может использоваться для анализа или для визуализации геометрии с помощью трехмерной компьютерной графики. Определяемое пользователем M-измерение может использоваться для одной из многих функций, таких как сохранение показателей с линейной привязкой или относительного времени объекта в 4D пространстве.

Основное заголовок файла имеет фиксированную длину 100 байт и содержит 17 полей; девять 4-байтовых (32-битных целых числа со знаком или int32) целочисленных полей, за которыми следуют восемь 8-байтовых (double ) подписанных полей с плавающей запятой:

BytesTypeEndianness Использование
0–3int32bigКод файла (всегда шестнадцатеричное значение 0x0000270a)
4–23int32bigНе используется; пять uint32
24–27int32bigДлина файла (в 16-битных словах, включая заголовок)
28–31int32littleВерсия
32–35int32littleТип формы (см. Ссылку ниже)
36–67двойноймаленькийМинимальный ограничивающий прямоугольник (MBR) всех фигур, содержащихся в наборе данных; четыре двойных числа в следующем порядке: мин. X, мин. Y, макс. X, макс. Y
68–83двойноймаленькийДиапазон Z; две двойные в следующем порядке: min Z, max Z
84–99doublelittleДиапазон M; два двойных числа в следующем порядке: min M, max M

Файл затем содержит любое количество записей переменной длины. Каждая запись имеет префикс заголовка записи из 8 байтов:

BytesТипEndianness Использование
0–3int32bigНомер записи (на основе 1)
4–7int32bigДлина записи (в 16-битных словах)

После заголовка записи следует фактическая запись:

BytesТипEndianness Использование
0–3int32littleТип формы (см. Ссылку ниже)
4–Содержимое формы

Содержимое записи переменной длины зависит от типа формы, который должен быть либо типом формы, указанным в заголовке файла, либо пустым. Ниже приведены возможные типы фигур:

ЗначениеТип формыПоля
0Нулевой формыНет
1ТочкаX, Y
3ПолилинияMBR, Количество частей, Количество точек, Частей, Точки
5МногоугольникMBR, Количество частей, Количество точек, Части, Точки
8MultiPointMBR, количество точек, точек
11PointZX, Y, Z.

Необязательно: M

13PolylineZОбязательно : MBR, количество частей, количество точек, части, точки, диапазон Z, массив Z.

Необязательно: диапазон M, массив M

15PolygonZОбязательно: MBR, количество частей, Количество точек, Части, Точки, Диапазон Z, Z-массив.

Необязательно: M-диапазон, M-массив

18MultiPointZОбязательный: MBR, Количество точек, Точки, Z-диапазон, Массив Z.

Необязательно: диапазон M, массив M

21PointMX, Y, M
23PolylineMОбязательный: MBR, количество частей, количество точки, части, точки.

Необязательно: диапазон M, массив M

25PolygonMОбязательно: MBR, Numbe r частей, количество точек, частей, точек.

Необязательно: диапазон M, массив M

28MultiPointMОбязательно: MBR, количество точек, точек.

Необязательно Поля: диапазон M, массив M

31MultiPatchОбязательный: MBR, количество деталей, количество точек, детали, типы деталей, точки, диапазон Z, массив Z.

Необязательно: M диапазон, массив M

Формат индекса формы шейп-файла (.shx)

Индекс содержит тот же 100-байтовый заголовок, что и файл .shp, за которым следует любое количество 8-байтовые записи фиксированной длины, которые состоят из следующих двух полей:

BytesTypeEndianness Usage
0–3int32bigСмещение записи (в 16-битных словах)
4–7int32bigДлина записи (в 16 -битовые слова)

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

Формат атрибута шейп-файла (.dbf)

В этом файле хранятся атрибуты для каждой формы; он использует формат dBase IV. Альтернативный формат, который также можно использовать, - это формат xBase, который имеет открытую спецификацию и используется в библиотеках с открытым исходным кодом shapefile , например, библиотека шейп-файла C.

Имена и значения атрибутов не стандартизированы и будут различаться в зависимости от источника шейп-файла.

Формат пространственного индекса шейп-файла (.sbn)

Это двоичный файл пространственного индекса, который используется только программным обеспечением Esri. Формат не задокументирован Esri. Однако он был реконструирован и задокументирован сообществом открытого исходного кода. В настоящее время это не реализовано другими поставщиками. Файл .sbnне является строго необходимым, поскольку файл .shpсодержит всю информацию, необходимую для успешного синтаксического анализа пространственных данных.

Ограничения

Топология и формат шейп-файла

Формат шейп-файла не позволяет хранить топологическую информацию. Покрытия ESRI ArcInfo и личные / файловые / корпоративные базы геоданных имеют возможность хранить топологию объектов.

Пространственное представление

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

Хранилище данных

Размер файлов компонентов .shpи .dbfне может превышать 2 ГБ (или 2 байта) - около 70 миллионов точечные особенности в лучшем случае. Максимальное количество объектов для других типов геометрии зависит от количества используемых вершин.

Формат базы данных атрибутов для файла компонента .dbfоснован на более старом стандарте dBase. Этот формат базы данных по своей сути имеет ряд ограничений:

  • текущий стандарт dBase и GDAL / OGR (основная программная библиотека с открытым исходным кодом для чтения и записи наборов данных формата шейп-файлов) поддержки нулевых значений, программное обеспечение ESRI представляет эти значения как нули - очень серьезная проблема для анализа количественных данных, поскольку это может исказить представление и статистику, если нулевые величины представлены как ноль
  • Плохая поддержка для Unicode имена полей или хранилище полей
  • Максимальная длина имен полей - 10 символов
  • Максимальное количество полей - 255
  • Поддерживаемые типы полей: плавающие точка (хранение 13 символов), целое число (хранение 4 или 9 символов), дата (хранение без времени; хранение 8 символов) и текст (хранение максимум 254 символов)
  • Числа с плавающей запятой могут содержать ошибки округления, поскольку они сохраняются в виде текста

Смешивание типов фигур

Поскольку тип формы предшествует каждой записи геометрии, шейп-файл технически возможен le хранения смеси различных типов форм. Однако в спецификации указано: «Все фигуры, отличные от Null, в шейп-файле должны быть одного и того же типа». Следовательно, эта возможность смешивания типов фигур должна быть ограничена перемежением пустых фигур с одним типом фигуры, объявленным в заголовке файла. Шейп-файл не должен содержать данные как полилинии, так и полигона, например, описания колодца (точки), реки (полилинии) и озера (многоугольника) будут храниться в трех отдельных наборах данных.

См. Также
Внешние ссылки
Ссылки
  1. ^ ESRI (июль 1998 г.). «Техническое описание ESRI Shapefile» (PDF). Проверено 4 июля 2007 г. Cite journal требуется | journal =()
  2. ^"Библиотека Shapefile C V1.2".
  3. ^"Wayback Machine" (PDF). 13 августа 2016 г. Архивировано 13 августа 2016 г. Cite использует общий заголовок () CS1 maint: BOT: статус исходного URL-адреса неизвестен (ссылка )
  4. ^ " Справка ArcGIS Desktop 9.3 - Рекомендации по геообработке для вывода шейп-файлов ». Esri. 24 апреля 2009 г.
  5. ^Эггер, Манфред. « Проекция шейп-файлов » (PDF). Www.egger-gis.at.
  6. ^"Проекционный искатель шейп-файла".
Последняя правка сделана 2021-06-08 03:39:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте