aspose.info
BG

SHP - ESRI Shapefile

Обновено

Какво е SHP файл?

SHP е файловото разширение за един от основните типове файлове, използвани за представяне на ESRI Shapefile. Той представлява геопространствена информация под формата на векторни данни, които да се използват от приложенията на Географските информационни системи (ГИС). Форматът е разработен като отворени спецификации, за да се улесни оперативната съвместимост между ESRI и други софтуерни продукти.

Представяне на данни

Както споменахме, форматът на шейпфайл описва геопространствената информация на набор от данни като векторни характеристики. Тези векторни характеристики включват:

  • точки
  • линии
  • многоъгълници

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

Свързани файлове

Самостоятелен shp файл не може да се използва от софтуерни приложения, за да осмислят данните, които съдържа. За да осмисли информацията, съдържаща се в такъв файл, шейпфайлът използва следните допълнителни задължителни файлове.

  • shx файл - индексен файл
  • dbf файл - dBASE файл, който съхранява всички атрибути на фигурите в основния файл
  • prj файл - съхранява информация за проекта на файла

Може да има и други незадължителни файлове, които споделят същото име като основния файл.

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

Отворените спецификации на shapefile са достъпни онлайн от ESRI под формата на Technical Description и разработват цялостната структура на файла в детайли. Информацията в главния .shp файл се състои от заглавки и записи. Заглавката на файла с фиксирана дължина е последвана от записи с променлива дължина, където всеки запис е съставен от заглавка на запис с фиксирана дължина, последвана от съдържание на запис с променлива дължина.

Основен заглавен файл на SHP

Главният хедър на файла започва от началото на файла и е с дължина 100 байта. Организацията на този главен файлов хедър заедно с позицията на байта, стойността, типа и реда на байтовете е както е показано в следващата таблица.

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

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

Типове форми

Стойностите на полето тип форми в горната таблица са както следва:

СтойностТип форма
0Нулева форма
1Точка
3Полилиния
5Многоъгълник
8Многоточков
11Точка Z
13PolyLineZ
15Многоъгълник Z
18MultiPointZ
21Точка М
23PolyLineM
25Многоъгълник M
28MultiPointM
31MultiPatch

Записи на данни

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

Заглавие на запис

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

БайтовеПолеСтойностТипРед на байтовете
0-3Номер на записНомер на записЦяло числоГолям
4-7Дължина на записДължина на записЦяло числоГолям

Съдържание на запис

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

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

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

Примери за други типове форми могат да бъдат намерени в документа с техническо описание на ESRI.

Препратки

Вижте също