shapewrite

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

Описание

пример

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 'CharacterEncoding' .

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