shapewrite

Запишите географическую векторную структуру данных в файл форм

Синтаксис

shapewrite(S,filename)
shapewrite(S,filename,'DbfSpec',dbfspec)

Описание

пример

shapewrite(S,filename) написали векторные географические особенности, сохраненные в файле форм S к файлу, заданному filename в формате файла форм.

shapewrite(S,filename,'DbfSpec',dbfspec) пишет файл форм, в котором содержимым и размещением файла DBF управляет dbfspec, спецификация DBF.

Примеры

свернуть все

Выведите файл форм от concord_roads.shp, в котором не использованы дороги CLASS 5 и больше.

Получите информацию о содержимом файла форм. Обратите внимание на то, что это содержит 609 функций (NumFeatures).

shapeinfo('concord_roads')  
ans = 
       Filename: [3x67 char]
      ShapeType: 'PolyLine'
    BoundingBox: [2x2 double]
    NumFeatures: 609
     Attributes: [5x1 struct]

Считайте выбор данных в файле в mapstruct. Отметьте использование опции 'Selector' в shaperead, вместе с анонимной функцией, к только для чтения основные дороги из исходного файла форм.

S = shaperead('concord_roads','Selector', ...
              {@(roadclass) roadclass < 4, 'CLASS'});

Запишите данные в новый файл форм.

shapewrite(S,'main_concord_roads.shp')

Получите информацию о содержимом нового файла форм.

shapeinfo('main_concord_roads')  % 107 features
ans = 
       Filename: [3x24 char]
      ShapeType: 'PolyLine'
    BoundingBox: [2x2 double]
    NumFeatures: 107
     Attributes: [5x1 struct]

Считайте файл форм, содержащий вектор мировых городов, и храните данные в mappoint векторе.

p = mappoint(shaperead('worldcities.shp'))
p = 

 318x1 mappoint vector with properties:

 Collection properties:
    Geometry: 'point'
    Metadata: [1x1 struct]
 Feature properties:
           X: [1x318 double]
           Y: [1x318 double]
        Name: {1x318 cell}

Добавьте Падерборн Германия к mappoint вектору. Обратите внимание на то, что размер p увеличился на 1.

x = 51.715254;
y = 8.75213;
p = append(p,x,y,'Name','Paderborn')
p = 

 319x1 mappoint vector with properties:

 Collection properties:
    Geometry: 'point'
    Metadata: [1x1 struct]
 Feature properties:
           X: [1x319 double]
           Y: [1x319 double]
        Name: {1x319 cell}

Запишите обновленный mappoint вектор в файл форм.

shapewrite(p,'worldcities_updated')

Входные параметры

свернуть все

Векторные географические особенности, заданные как вектор mappoint, вектор mapshape, mapstruct (с X и Y координируют поля), вектор geopoint, вектор geoshape или геоstruct (с полями 'Lat' и 'Lon'). A имеет следующие ограничения на свои поля атрибута:

  • Каждым значением поля атрибута должен быть или действительный, конечный, скалярный double или вектор символов.

  • Тип данного атрибута должен быть сопоставимым через все функции.

  • Если S является вектором геоточки, вектором геоформы или геоstruct, shapewrite пишет значения широты и долготы как Y и координаты X, соответственно.

  • Если данный атрибут с целочисленным знаком для всех функций, shapewrite пишет его в файл [basename '.dbf'] как целое число. Если атрибут является "не целым числом, оцененным" за какую-либо функцию, shapewrite пишет его как десятичное значение фиксированной точки с шестью цифрами справа от десятичного разряда.

Имя файла и местоположение файла форм, чтобы создать, заданный как скаляр строки или вектор символов. Если имя файла включает расширение файла, это должен быть '.shp' или '.SHP'. shapewrite создает три выходных файла: [basename '.shp'], [basename '.shx'] и [basename '.dbf'], где basename является filename без своего расширения.

Покажите атрибуты, чтобы включать в файл форм, заданный как скалярная структура MATLAB®, содержащая одно поле для каждого атрибута функции. Присвойте тому полю скалярную структуру со следующими четырьмя полями:

  • FieldName — Имя поля, которое будет использоваться в файле

  • FieldType — Тип поля, который будет использоваться в файле: (числовой) 'N' или 'C' (символ)

  • FieldLength — Длина поля в файле, в байтах

  • FieldDecimalCount — Для числовых полей, количества цифр справа от десятичного разряда

Чтобы создать спецификацию DBF, вызовите makedbfspec и затем измените вывод, чтобы удалить атрибуты или изменить FieldName, FieldLength или FieldDecimalCount для одного или нескольких атрибутов.

Чтобы включать атрибут в выходной файл, задайте поле в dbfspec с тем же именем, как атрибут задан в S.

Советы

  • xBASE (.dbf), спецификации файла требуют, чтобы геоstruct и mapstruct названия атрибута были усеченными к 11 символам, когда скопировано как имена полей DBF. Считайте сокращение длинными именами полей прежде, чем вызвать shapewrite. Путем выполнения этого вы делаете имена полей в файле DBF более читаемыми и стараетесь не вводить двойные названия в результате усечения.

  • Не забудьте устанавливать свою схему кодировки символов совпадать с той из географической структуры данных, которую вы экспортируете. Например, если вы экспортируете карту, которая отображает японский текст, сконфигурируйте свою машину, чтобы поддержать кодировку символов Shift-JIS.

Представлено до R2006a