shaperead

Считайте векторные функции и атрибуты из файла форм

Описание

пример

S = shaperead(filename) читает файл форм, filename, и возвращает N-by-1 географический массив структуры данных в спроектированных координатах карты (mapstruct). Географическая структура данных объединяется геометрический и информационные признаки функции. shaperead поддерживает обычные 2D типы формы: 'Point', 'Multipoint', 'PolyLine', и 'Polygon'.

пример

S = shaperead(filename,Name,Value) возвращает подмножество содержимого файла форм в S, как определено аргументами пары "имя-значение". Используйте RecordNumbersboundingbox, и Selector выбрать который функции читать. Если вы используете больше чем один из этих параметров в том же вызове, вы получаете пересечение записей, которые совпадают с отдельными спецификациями. Например, если вы задаете значения для обоих RecordNumbers и BoundingBox, вы импортируете только те функции с номерами записи, которые появляются в вашем списке и которые также имеют ограничительные рамки, пересекающие заданную ограничительную рамку.

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

[S,A] = shaperead(___) возвращает N-by-1 географический массив структуры данных, S, содержа геометрические данные и параллельный N-by-1 приписывают массив структур, A, содержа информационные признаки функции.

Примеры

свернуть все

Считайте целый concord_roads.shp файл форм, включая атрибуты в concord_roads.dbf. shaperead функция возвращает mapstruct с векторами координаты X и Y.

S = shaperead('concord_roads.shp')
S=609×9 struct
    Geometry
    BoundingBox
    X
    Y
    STREETNAME
    RT_NUMBER
    CLASS
    ADMIN_TYPE
    LENGTH

Задайте ограничительную рамку, чтобы ограничить данные, возвращенные shaperead . Кроме того, задайте имена атрибутов, которые вы хотите считать.

bbox = [2.08 9.11; 2.09 9.12] * 1e5;
S = shaperead('concord_roads','BoundingBox',bbox,...
              'Attributes',{'STREETNAME','CLASS'})
S=87×6 struct
    Geometry
    BoundingBox
    X
    Y
    STREETNAME
    CLASS

Считайте дорожные данные только для класса 4 и более высокие дорожные сегменты, которые составляют по крайней мере 200 метров в длине. Отметьте использование анонимной функции в селекторе.

S = shaperead('concord_roads.shp','Selector',...
           {@(v1,v2) (v1 >= 4) && (v2 >= 200),'CLASS','LENGTH'})
S=115×9 struct
    Geometry
    BoundingBox
    X
    Y
    STREETNAME
    RT_NUMBER
    CLASS
    ADMIN_TYPE
    LENGTH

Определите количество дорог каждого класса.

n = histcounts([S.CLASS],'BinLimits',[1 7],'BinMethod','integer')
n = 1×7

     0     0     0     7    93    15     0

Отобразите гистограмму количества дорог, которые падают в каждой категории длины.

figure
histogram([S.LENGTH])

Считайте файл форм глобальных названий города и местоположений, данных в широте и долготе. Отметьте как shaperead возвращает geostruct потому что вы задали 'UseGeoCoords' параметр.

S = shaperead('worldcities.shp', 'UseGeoCoords', true)
S=318×4 struct
    Geometry
    Lon
    Lat
    Name

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

свернуть все

Имя файла, заданное как скаляр строки или вектор символов. filename относится к базовому имени или полному имени одного из файлов компонента в файле форм. Если основной файл (с расширением.shp) отсутствует, shaperead выдает ошибку. Если любой из других файлов отсутствует, shaperead выдает предупреждение.

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Attributes',{'STREETNAME','LENGTH'}

Номера записи, заданные как разделенная запятой пара, состоящая из 'RecordNumbers' и вектор целых чисел. Используйте параметр RecordNumbers импортировать только функции с перечисленными номерами записи.

Типы данных: double

Ограничительная рамка, заданная как разделенная запятой пара, состоящая из 'BoundingBox' и матрица 2 на 2. BoundingBox имеет форму [xmin,ymin;xmax,ymax], для координат карты или [lonmin,latmin;lonmax,latmax] для географических координат. Используйте параметр BoundingBox импортировать только функции, ограничительные рамки которых пересекают заданное поле. shaperead функция не обрезает функции, которые частично пересекают поле.

Типы данных: double

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

Названия атрибута, заданные как разделенная запятой пара, состоящая из 'Attributes' и массив ячеек названий атрибута. Используйте параметр Attributes включать перечисленные атрибуты и устанавливать порядок атрибутов в массиве структур. Использование не использовать все атрибуты.

Отметьте, чтобы возвратить содержимое файла форм в геоstruct, заданном как разделенная запятой пара, состоящая из 'UseGeoCoords' и false или true.

Когда UseGeoCoords установлен в true, содержимое файла форм возвращено в геоstruct. Используйте этот параметр, когда вы знаете, что x-и координаты y-в файле форм на самом деле представляют данные о долготе и широте. Если вы не знаете, работаете ли вы с географическим или сопоставляете координаты, смотрите Mapstructs и Geostructs.

Выходные аргументы

свернуть все

Векторные географические особенности, возвращенные как N-by-1, сопоставляют географический массив структуры данных. Если UseGeoCoords trueS mapstruct и содержит элемент для каждой непустой, пространственной функции в файле форм.

Покажите информационные признаки, возвращенные как N-by-1 массив структур атрибута, соответствующий массиву S.

Поля в массивах структуры output S и A зависьте от типа формы, содержавшейся в файле и именах и типах атрибутов, включенных в файл. shaperead функционируйте поддерживает следующие четыре типа атрибута: numeric и floating (сохраненный как тип double в MATLAB®) и character и date (сохраненный как char array).

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