Jump to content

Шейп-файл

Шейп-файл
Векторная карта с точками, ломаными линиями и многоугольниками.
Расширение имени файла .shp, .shx, .dbf
Тип интернет-СМИ
x-gis/x-shapefile
Разработано Эсри
Тип формата ГИС
Стандартный Техническое описание шейп-файла

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

Формат шейп-файла представляет собой цифровой векторный формат хранения данных о географическом местоположении и связанной с ним атрибутивной информации. В этом формате отсутствует возможность хранения топологической информации. Формат шейп-файла был представлен в ArcView GIS версии 2 в начале 1990-х годов. Теперь можно читать и записывать наборы географических данных, используя формат шейп-файла, с помощью широкого спектра программного обеспечения.

Формат шейп-файла хранит геометрию в виде примитивных геометрических фигур, таких как точки, линии и многоугольники. Эти фигуры вместе с атрибутами данных, связанными с каждой фигурой, создают представление географических данных. Термин «шейп-файл» довольно распространен, но формат состоит из набора файлов с общим префиксом имени файла, хранящихся в одном каталоге . Три обязательных файла имеют расширения имен. .shp, .shx, и .dbf. Фактический шейп-файл относится конкретно к .shp файл, но сам по себе является неполным для распространения, поскольку требуются другие вспомогательные файлы. Устаревшее программное обеспечение ГИС может ожидать, что префикс имени файла будет ограничен восемью символами, чтобы соответствовать соглашению об именах файлов DOS 8.3 , хотя современные программные приложения принимают файлы с более длинными именами.

Обязательные файлы
  • .shp — формат фигуры; сама геометрия объекта { content-type : x-gis/x-shapefile}
  • .shx — формат индекса формы; позиционный индекс геометрии объекта, позволяющий быстро искать вперед и назад {content-type: x-gis/x-shapefile}
  • .dbf — формат атрибута; столбчатые атрибуты для каждой фигуры в формате dBase IV {content-type: application/octet-stream OR text/plain}
Другие файлы

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

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

[ редактировать ]

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

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

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

Заголовки шейп-файлов

[ редактировать ]
Заголовок файла формата .shp
Байты Тип Порядок байтов Использование
0–3 int32 большой Код файла (всегда шестнадцатеричное значение) 0x0000270а )
4–23 int32 большой Неиспользованный; пять uint32
24–27 int32 большой Длина файла (в 16-битных словах, включая заголовок)
28–31 int32 маленький Версия
32–35 int32 маленький Тип формы (см. ссылку ниже)
36–67 двойной маленький Минимальный ограничивающий прямоугольник (MBR) всех фигур, содержащихся в наборе данных; четыре дубля в следующем порядке: мин X, мин Y, макс X, макс Y
68–83 двойной маленький Диапазон Z; два дубля в следующем порядке: мин Z, макс Z
84–99 двойной маленький Диапазон М; два дубля в следующем порядке: мин М, макс М

Заголовки записей шейп-файлов

[ редактировать ]

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

Байты Тип Порядок байтов Использование
0–3 int32 большой Номер записи (на основе 1)
4–7 int32 большой Длина записи (в 16-битных словах)

Записи шейп-файла

[ редактировать ]

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

Байты Тип Порядок байтов Использование
0–3 int32 маленький Тип формы (см. ссылку ниже)
4– Форма контента

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

Ценить Тип формы Поля
0 Нулевая форма Никто
1 Точка X,Y
3 Полилиния MBR, Количество деталей, Количество точек, Детали, Очки
5 Полигон MBR, Количество деталей, Количество точек, Детали, Очки
8 Многоточечный MBR, Количество очков, Очки
11 ТочкаZ Х, Ю, Я

Дополнительно : М

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

Опционально : диапазон M, массив M

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

Опционально : диапазон M, массив M

18 МультиПоинтЗ Обязательно : MBR, количество точек, точки, диапазон Z, массив Z.

Опционально : диапазон M, массив M

21 ТочкаМ Х, Ю, М
23 ПолилинияМ Обязательно : MBR, Количество частей, Количество точек, Части, Очки

Опционально : диапазон M, массив M

25 ПолигонМ Обязательно : MBR, Количество частей, Количество точек, Части, Очки

Опционально : диапазон M, массив M

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

Дополнительные поля : диапазон M, массив M.

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

Опционально : диапазон M, массив M

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

[ редактировать ]

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

Байты Тип Порядок байтов Использование
0–3 int32 большой Смещение записи (в 16-битных словах)
4–7 int32 большой Длина записи (в 16-битных словах)

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

Можно сгенерировать полный индексный файл по одному .shp файл. Однако, поскольку предполагается, что шейп-файл всегда содержит индекс, это считается восстановлением поврежденного файла. [2]

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

[ редактировать ]

В этом файле хранятся атрибуты каждой фигуры; он использует формат dBase IV. Формат общеизвестен и реализован во многих клонах dBase, известных как xBase . Например, библиотека C шейп-файлов с открытым исходным кодом называет свой формат «xBase», хотя это обычный dBase IV. [3]

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

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

[ редактировать ]

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

Ограничения

[ редактировать ]

Формат шейп-файла имеет ряд ограничений. [5]

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

[ редактировать ]

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

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

[ редактировать ]

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

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

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

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

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ Jump up to: а б с ESRI (июль 1998 г.). «Техническое описание шейп-файла ESRI» (PDF) . Проверено 4 июля 2007 г.
  2. ^ Ролласон, Эд. «qgis – Создание отсутствующего файла .shx?» . Обмен стеками географических информационных систем .
  3. ^ «Библиотека шейп-файлов C V1.2» .
  4. ^ «Формат СБН» (PDF) . 4 октября 2011 г. Архивировано из оригинала (PDF) 13 августа 2016 г. . Проверено 21 июня 2023 г.
  5. ^ Чепицки, Яхим (2017). «Переключиться из шейп-файла» . Switchfromshapefile.org .
  6. ^ Jump up to: а б «Справка по ArcGIS Desktop 9.3 – Рекомендации по геообработке для вывода шейп-файлов» . Эсри. 24 апреля 2009 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d447fdea6be244bc6d5b4bad40bc5ab7__1721935920
URL1:https://arc.ask3.ru/arc/aa/d4/b7/d447fdea6be244bc6d5b4bad40bc5ab7.html
Заголовок, (Title) документа по адресу, URL1:
Shapefile - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)