stringtranslate.com

Шейп-файл

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

Обзор

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

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

Обязательные файлы

.shp
Формат формы; сама геометрия объекта.
Тип содержимого :x-gis/x-shapefile
.shx
Формат индекса формы; позиционный индекс геометрии объекта, позволяющий быстро выполнять поиск вперед и назад.
Тип содержимого: x-gis/x-shapefile
.dbf
Формат атрибута; столбчатые атрибуты для каждой формы в формате dBase IV.
Тип содержимого: application/octet-stream ИЛИtext/plain

Другие файлы

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

Форматы файлов

Формат файла шейпа (.шп)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ограничения

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

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

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

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

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

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

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

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

Смотрите также

Ссылки

  1. ^ abcd ESRI (июль 1998 г.). "Техническое описание шейп-файла ESRI" (PDF) . Получено 4 июля 2007 г.
  2. ^ Ролласон, Эд. "qgis - Создание отсутствующего файла .shx?". Географические информационные системы Stack Exchange .
  3. ^ «Библиотека Shapefile C V1.2».
  4. ^ "SBN Format" (PDF) . 4 октября 2011 г. Архивировано из оригинала (PDF) 13 августа 2016 г. Получено 21 июня 2023 г.
  5. ^ Чепицкий, Яхим (2017). «Переход из Shapefile». switchfromshapefile.org .
  6. ^ ab "Справка ArcGIS Desktop 9.3 – Вопросы геообработки для выходных шейп-файлов". Esri. 24 апреля 2009 г.

Внешние ссылки