Формат файла shp что это

Работа с ShapeFile (*.shp) в среде Delphi

В ходе работы столкнулся с задачей чтения файлов с расширением «.shp». Та информация, которую я нашел в интернете, была разрозненной и расплывчатой, и, поэтому, я решил объединить то, до чего мне пришлось доходить самостоятельно, и рассказать вам.

Постановка задачи

У нас имеется файл с расширением «.shp». В этом файле находится карта в виде изолиний: каждая изолиния сделана отдельным шейпом; наименованием шейпа является высотная характеристика изолинии. Нашей задачей станет считать данные из этого в массив. Массив представляет собой набор точек определенный тремя координатами (x, y, z). Далее этот массив нужно занести в базу данных, но данный момент мы упустим из рассмотрения.

Немного теории

Рассмотрим важные для нас особенности формата «*.shp». На самом деле ShapeFile содержит много информации, но у нас узкий интерес. Во первых нам нужно знать, что ShapeFile разделен на так называемые «Шейпы» (англ. Shape — Фигура). Шейп представляет собой фигуру или набор фигур (возможно не связанных между собой) сложных форм. Хранится шейп в виде отдельных точек и информации о линиях соединяющих их. В нашем случае каждый шейп это непрерывная кривая обозначающая положение точек земного ландшафта имеющих одинаковую высоту (наименование шейпа соответствует численному значение высоты). В виду специфичности задачи нас не будет интересовать информация о линиях соединяющих точки, а только информация о положении точек и их высота.

Стоит так же отметить, что вместе с файлом формата «*.shp» формируется файл формата «*.dbf» содержащий заголовочную информацию о наших шейпах. Файл «*.dbf» должен иметь такое же название, что и файл «.shp».

MapWindowGIS

После небольших поисков в сети, мною была обнаружены библиотека MapWindowGIS. Возможности этой библиотеки весьма широки и она поможет нам в достижении наших целей. Скачать ее можно по следующей ссылке.

После того, как Вы скачаете данную библиотеку необходимо ее установить. После установки, запускаем среду разработки Delphi. Выполняем команду Component-Import AciveX Control… после чего появится окно:
Формат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что это

В списке библиотек ActiveX находим — MapWinGIS Component и нажимаем на кнопку «Install…«, после чего необходимо установить данную библиотеку как обычный компонент. После успешной установки данной библиотеки, компонент TMap появиться на вкладке ActiveX.

Добавляем отображение карты

Для начала добавим на форму компонент Map1 типа TMap. Как уже говорилось, он находится на последней позиции вкладки ActiveX.

Для того что бы наш компонент отображал карту, содержащуюся в нашем файле, достаточно простого кода:

shp:Shapefile; //переменная ассоциируемая с шейп-файлом
HandleLayer:integr; //необходимо для индексации слоев в шейп файле

shp:=CoShapefile.Create; //создание шейп-файла
shp.Open(‘map.shp’,nil); //считывание из файла ‘map.shp’
Map1.Focused; //в некоторых случаях, если не добавить данную строчку возникает ошибка
HandleLayer:=Map1.AddLayer(shp,true); //добавление слоя карты на компонент
Map1.ZoomToMaxExtents; //уменьшение (или увеличение) масштаба так, что бы все влезло

Считывание заголовочной информации о шейпах

Что бы считать заголовочную информацию из файла формата «*.dbf» мы будем использовать компоненты TTable и TDataSource. Для этого добавим на форму компоненты Table1 типа TTable и DataSource1 типа TDataSource из вкладок «BDE» и «Data Access» соответственно. Компонент Table1 оставляем без изменения, а в компоненте DataSource1 в параметре «DataSet» выбираем «Table1».

Для удобства добавляем на форму компонент OpenDialog1 типа TOpenDialog из вкладки «Dialogs». В параметре «Filter» компонента OpenDialog1, добавляем фильтр с наименованием «Shape files (.shp)» и фильтрацией «*.shp» (без кавычек). Кроме того добавим кнопки «Открыть» и «Сохранить».

Полный код процедуры на кнопку «Открыть» будет выглядеть следующим образом:

nameDB:WideString; //в этой переменной будет содержаться наименование файла
HandleLayer:integr;

nameDB:=OpenDialog1.FileName; //присваиваем наименование в соответствии с выбором пользователя
shp:=CoShapefile.Create;
shp.Open(nameDB,nil);
Map1.Focused;
HandleLayer:=Map1.AddLayer(shp,true);
Map1.ZoomToMaxExtents;

Delete(nameDB,length(nameDB)-2,3); //обрубаем разрешение
nameDB:=nameDB+’dbf’; //меняем разрешение на «.dbf»
Table1.TableName:=nameDB; //ассоциируем таблицу с фалом «*.dbf»
Table1.Active:=True; //»запускаем» таблицу

Не забываем, что переменную shp нужно добавить в раздел глобальных переменных.

Считываем точки из файла

Для начала приведу код процедуры назначенной на кнопку «Сохранить»:

i,j:integer; //индексирующие переменные
z:integer; //высота точек, считываемая из наименования

if shp<>nil then //проверка на наличие информации в переменной shp
begin

Table1.First; //берем первый шейп из заголовочной таблицы
k:=0;
for i:=0 to shp.NumShapes-1 do //перебор всех шейпов
begin
z:=StrToInt(Table1.Fields[2].Value); //считывание высоты из заголовочной таблицы шейпов
for j:=0 to shp.Shape[i].numPoints-1 do //перебор всех точек шейпа
begin
Mas[k].x:=shp.Shape[i].Point[j].x;
Mas[k].y:=shp.Shape[i].Point[j].y;
Mas[k].z:=z;
inc(k);
end;
Table1.Next; //переходим к следующему шейпу
end;
..
//тут можно например сохранить массив в базу данных
..

end
else ShowMessage(‘Файл не открыт’);
end;

Давайте рассмотрим некоторые особенности. Итак, Mas — одномерный массив точек имеющий три параметра типа Double (x, y, z). Параметр shp.NumShapes равен количеству шейпов внутри файла. Параметр Table1.Fields[2].Value — это наименование текущего шейпа (файл «*.dbf» устроен таким образом, что наименование записано в 3-тьем столбце). shp.Shape[i].numPoints, как вы наверно уже догадались — количество точек в i-том шейпе. shp.Shape[i].Point[j].x и shp.Shape[i].Point[j].y — те самые заветные координаты j-той точки i-того шейпа. Остальное, думаю, понятно из комментариев.

Заключение

Вот мы и закончили рассматривать особенности работы с ShapeFile в среде Delphi. С поставленной задачей мы справились полностью. Конечно, данный обзор является только вершиной айсберга, но я надеюсь эта вводная статья поможет вам в дальнейшем освоении этого направления.

Источник

Расширение файла SHP

Shapes Format

Что такое файл SHP?

Формат файла SHP (сокращение от формы) используется для хранения векторной графики и данных, связанных с геопространственной информацией, используемой программным обеспечением географической информационной системы (ГИС). Файл SHP может содержать географические и пространственные данные, которые описывают такие объекты, как ориентиры, реки, улицы или почтовые зоны.

Идея в формате SHP

Файл SHP представляет собой 2D / 3D изображение, созданное с использованием точек, линий и многоугольников. Каждый элемент проекта может иметь атрибуты (хранящиеся в отдельном файле, сохраненном в формате DBF), которые описывают связанные элементы.

SHP и дополнительные файлы

SHP обычно сопровождается дополнительными файлами, некоторые из которых являются обязательными, а некоторые необязательными. Обязательные файлы: SHP, DBF и SHX. Дополнительные файлы: XML, SBX и PRJ. Необходимые файлы должны находиться в той же папке, что и основной файл.

Программы, которые поддерживают SHP расширение файла

В следующем списке перечислены программы, совместимые с файлами SHP, которые разделены на категории 2 в зависимости от операционной системы, в которой они доступны. SHP файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.

Программы, обслуживающие файл SHP

Как открыть файл SHP?

Проблемы с доступом к SHP могут быть вызваны разными причинами. К счастью, наиболее распространенные проблемы с файлами SHP могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Мы подготовили список, который поможет вам решить ваши проблемы с файлами SHP.

Шаг 1. Получить AutoCAD

Формат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что этоПроблемы с открытием и работой с файлами SHP, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами SHP на вашем компьютере. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как 3ds Max, CorelCAD, ArcView. Полный список программ, сгруппированных по операционным системам, можно найти выше. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт AutoCAD и загрузите установщик.

Шаг 2. Проверьте версию AutoCAD и обновите при необходимости

Формат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что этоЕсли проблемы с открытием файлов SHP по-прежнему возникают даже после установки AutoCAD, возможно, у вас устаревшая версия программного обеспечения. Проверьте веб-сайт разработчика, доступна ли более новая версия AutoCAD. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Причиной того, что AutoCAD не может обрабатывать файлы с SHP, может быть то, что программное обеспечение устарело. Последняя версия AutoCAD должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.

Шаг 3. Назначьте AutoCAD для SHP файлов

Если проблема не была решена на предыдущем шаге, вам следует связать SHP файлы с последней версией AutoCAD, установленной на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Формат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что это

Изменить приложение по умолчанию в Windows

Изменить приложение по умолчанию в Mac OS

Шаг 4. Убедитесь, что SHP не неисправен

Если вы выполнили инструкции из предыдущих шагов, но проблема все еще не решена, вам следует проверить файл SHP, о котором идет речь. Проблемы с открытием файла могут возникнуть по разным причинам.

Формат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что это

1. Проверьте SHP файл на наличие вирусов или вредоносных программ.

Если случится так, что SHP инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. SHP файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что файл с расширением SHP завершен и не содержит ошибок

Если вы получили проблемный файл SHP от третьего лица, попросите его предоставить вам еще одну копию. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Если файл SHP был загружен из Интернета только частично, попробуйте загрузить его заново.

3. Убедитесь, что у вас есть соответствующие права доступа

Иногда для доступа к файлам пользователю необходимы права администратора. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Shapes Format.

4. Проверьте, может ли ваша система обрабатывать AutoCAD

Если в системе недостаточно ресурсов для открытия файлов SHP, попробуйте закрыть все запущенные в данный момент приложения и повторите попытку.

5. Убедитесь, что ваша операционная система и драйверы обновлены

Последние версии программ и драйверов могут помочь вам решить проблемы с файлами Shapes Format и обеспечить безопасность вашего устройства и операционной системы. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов SHP.

Источник

СОДЕРЖАНИЕ

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21 годPointMX, Y, M
23PolylineMОбязательно : MBR, Количество деталей, Количество точек, Детали, Пункты

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

25PolygonMОбязательно : MBR, Количество деталей, Количество точек, Детали, Пункты

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

28 годMultiPointMОбязательно : MBR, Количество баллов, Баллы

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

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

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

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

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

Ограничения

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

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

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

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

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

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

Источник

GIS-LAB

Географические информационные системы и дистанционное зондирование

Данные OpenStreetMap в формате shape-файлов

Здесь можно скачать данные OpenStreetMap на регионы РФ.

Содержание

[править] Общая информация

В рамках данного проекта, из данных OpenStreetMap и других открытых источников создаются обновляемые наборы слоев по любой точке мира, включая страны бывшего СССР и все регионы РФ. Данные наборы слоев доступны в форматах ESRI Shapefile, Mapinfo TAB, GeoJSON, что позволяет использовать их практически в любой ГИС.

Создано вФормат файла shp что это. Смотреть фото Формат файла shp что это. Смотреть картинку Формат файла shp что это. Картинка про Формат файла shp что это. Фото Формат файла shp что этоВеб ГИС для вашей организации по доступной цене

Если вам нужны данные в формате XML или PBF, то их можно найти на другой странице.

После 12 сентября 2012 года, данные публикуются под лицензией ODBL. Подробнее о ваших правах и обязанностях можно почитать в Legal FAQ.

Система координат данных: WGS84
Проекция: широта/долгота

[править] Преимущества

Эти данные обладают рядом особенностей и преимуществ относительно исходных данных в формате OSM XML:

Дополнительные слои, отсутствующие в таком виде в исходных данных:

[править] Условия распространения

Оплата осуществляется банковской картой или Яндекс.Деньги.

[править] Замечания по форматам выгрузки

Возможна выгрузка и в другие форматы по запросу.

[править] Проекты для QGIS

В архивы с данными в формате ESRI Shape и GeoJSON включаются несколько вариантов проектов для QGIS.

[править] qgis_mapnik

Этот вариант проектов был разработан old_Bibigon в рамках отдельного проекта.

[править] qgis_mapnik_lowcontrast

[править] Ссылки

Последнее обновление: 2020-04-12 19:46

Дата создания: 19.11.2011
Автор(ы): Александр Дежин

Источник

Civil 3D

AutoCAD Map 3D поддерживает ArcView до версии 3.2 и 8.x.

Сведения о файлах SHP

В файлах ESRI SHP хранятся геометрические данные и атрибуты (данные) для элементов. Для одной формы могут существовать до пяти физических файлов с одним именем, однако разыми расширениями.

Экспорт

Файлы DWG могут содержать несколько типов геометрии, тогда как файлы SHP содержат только один тип. В каждом файле ESRI SHP хранятся пространственные данные только одного типа: точка, линия, текст или полигон. Текстовые файлы SHP содержат текст атрибутов, связанный с точками.

При создании составного полигона в приложении AutoCAD Map 3D и последующем экспорте в формат SHP он появится в собственном файле SHP как составной полигон (полигон с несколькими внешними кольцами).

Во время экспорта программа AutoCAD Map 3D автоматически фильтрует выбранные объекты и экспортирует надлежащий тип объектов в соответствующий файл SHP. В именах файлов, созданных в результате экспорта, используется имя класса элементов, после которого следует тип геометрии, например PARCELS_POLYGON.SHP.

Класс элементов SHP не может иметь имя FeatId. Это зарезервированное имя.

Параметры экспорта

Можно экспортировать один объект в один файл или можно экспортировать несколько объектов в набор файлов. Существует два способа экспортировать нескольких файлов.

Этот метод эффективен, когда экспортируется вся геометрия из файла DWG и визуальная четкость более важна, чем сохранение классов и атрибутов.

Все объекты одного типа геометрии будут сгруппированы в один файл SHP. Например, если трубопроводы, дороги и реки представлены линиями, будет выполнен экспорт одного файла SHP, содержащего геометрию и атрибуты для всех трех типов объектов. Если реки имеют атрибуты, которые не используются для трубопроводов, то для трубопроводов эти атрибуты будут иметь нулевые значения.

Для создания полигонов в файлах SHP с помощью метода экспорта папки необходимо выбрать параметр » Рассматривать замкнутые полилинии как полигоны «. Для экспорта замкнутых полилиний в качестве линий следует выбрать тип объекта » Линия «. Чтобы экспортировать замкнутые полилинии в качестве полигонов, следует выбрать тип объекта » Полигон » и выбрать параметр » Рассматривать замкнутые полилинии как полигоны » на вкладке » Параметры «.

Это отдельный параметр в раскрывающемся списке диалогового окна » Экспорт «, с помощью которого можно экспортировать несколько объектов чертежа в набор файлов SHP в заданной папке. Каждый полученный файл SHP содержит геометрию и атрибуты одного типа и хранится в файлах, указывающих на этот тип, например PARCELS_POLYGON.SHP.

Для конечных файлов можно задать использование одного класса объектов или нескольких классов объектов на основе слоя, классификации объектов, данных объектов или шаблонов связи.

Можно также экспортировать данные объекта или связи с внешними базами данных в файл соответствующей базы данных SHP (DBF).

Ограничения экспорта

В файлах SHP не поддерживается цвет; в файлах ArcView каждой теме назначается цвет, который используется при построении элемента.

В файлах SHP не поддерживаются дуги окружности. При экспорте дуги, сплайны и эллипсы преобразуются в полилинии, состоящие из сегментов. Можно изменить настройки, используемые для сегментации.

Перезапись или добавление

Если экспорт выполняется в существующий файл или папку, в которой используются такие же имена, какие будут созданы в результате экспорта, можно задать переопределение существующих данных или добавление к ним новых данных. В результате перезаписи существующие файлы могут быть удалены в процессе создания новых файлов. Если используется добавление, данные добавляются к существующим данным во время текущей операции экспорта, при этом существующие данные не удаляются.

Если используется добавление и для данных преобразуется система координат, для старых и новых данных должен использоваться один источник и целевые системы координат.

Параметр добавления не используется для обновления существующих данных, а только для добавления новых данных.

Если используется параметр экспорта папки или параметр мультикласса форм и выбрано добавление, программа AutoCAD Map 3D проверяет папку назначения на предмет существующих файлов, в которых используется такое же имя класса элементов, даже если в именах этих файлов отсутствует индикатор геометрии. Например, при экспорте элементов земельных участков обычно создается файл с именем PARCELS_POLYGON.SHP. Однако если в папке содержится файл PARCELS.SHP, программа AutoCAD Map 3D проверяет тип его геометрии и добавляет его, если в нем имеются сведения о полигоне.

Параметры драйвера

При экспорте в файл SHP в параметрах драйвера можно выбрать » Файлы 2-мерных форм » или » Файлы 3-мерных форм «.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *