主要内容

struct2geotable

结构数组转换为地理空间表

自从R2021b

描述

例子

GT= struct2geotable (年代)转换结构数组年代地理空间表GT。该函数创建形状变量的GT通过使用经度x- - - - - -y坐标年代。每个字段的年代是一个变量GT

GT= struct2geotable (年代,coordinateSystemType,)创建形状变量的GT通过使用坐标系统类型coordinateSystemType和结构数组字段

GT= struct2geotable (年代,名称=值)指定选项使用名称-值参数。例如,指定坐标代表点,线,或多边形通过使用GeometryType名称-值参数。

例子

全部折叠

读康科德的shapefile包含水文数据,马,作为一个结构数组。进口的多边形面积大于100平方公里。的x- - -y坐标的XY字段的结构。

areafilterfcn = @ (areafilter) (areafilter > 100000);S = shaperead (“concord_hydro_area.shp”,选择器= {areafilterfcn,“区域”});

得到数据的坐标参考系统。

信息= shapeinfo (“concord_hydro_area.shp”);crs = info.CoordinateReferenceSystem;

结构数组转换为地理空间表。的struct2geotable功能检测XY字段,并使用它们来创建形状变量。指定的坐标参考系统形状变量。

GT = struct2geotable(年代,CoordinateReferenceSystem = crs);

视图对象形状的第二行表。形状对象属性包含信息,如孔的数量。

GT.Shape (2)
ans = mappolyshape属性:NumRegions: 1 NumHoles: 3几何:“多边形”CoordinateSystemType:“平面”ProjectedCRS: [1 x1 projcrs]

显示多边形。

mapshow (GT, FaceColor =“c”)

图包含一个坐标轴对象。坐标轴对象包含5块类型的对象。

创建一个示例结构数组包含城市的位置。的背阔肌字段包含纬度,字段包含经度,的名字字段包含的名字。

背阔肌= {35.7082,-22.8842,51.5074,39.9042,37.9838};朗= {139.6401,-43.3882,-0.1278,116.4074,23.7275};n = {“东京”,“里约热内卢”,“伦敦”,“北京”,“雅典”};S = cell2struct((背阔肌,经度;n) {背阔肌的,“朗”,“名字”},1)
S =5×1结构体数组字段:拉特朗的名字

结构数组转换为地理空间表。的struct2geotable功能并不会自动检测到字段名称背阔肌。指定坐标系统类型“地理”包含坐标和字段名称。

GT = struct2geotable(年代,“地理”,(“背阔肌”“朗”])
GT =5×4表形状拉特朗名字_______________________ ____ ____ _____________ (35.7082°N, 139.6401°E) 35.708 - 139.64{“东京”}(22.8842°S, 43.3882°W) -22.884 - -43.388{“里约热内卢”}(51.5074°N, 0.1278°W) 51.507 - -0.1278{“伦敦”}(39.9042°N, 116.4074°E) 39.904 - 116.41{'北京'}(37.9838°N, 23.7275°E) 37.984 - 23.727{“雅典”}

查看形状地理空间表的变量。

GT.Shape
ans = 5 x1 geopointshape数组属性:NumPoints: x1双[5]纬度:x1双[5]经度:x1双[5]几何:“点”CoordinateSystemType:“地理”GeographicCRS: []

输入参数

全部折叠

输入数组结构。

struct2geotable功能检测坐标结构数组字段有这些名字时,忽略的情况。

  • 纬度坐标,纬度纬度

  • 经度坐标,经度,长ydF4y2Ba,或

  • x坐标,X

  • y坐标,Y

如果你指定一个输入结构数组字段形状,那么struct2geotable函数覆盖它。

数据类型:结构体

坐标系统类型,指定为这些选项之一:

  • “平面”——坐标平面坐标系统。

  • “地理”——在一个地理坐标系坐标。

数据类型:字符串

结构数组的名字字段用于创建形状变量的地理空间表,指定为一个双元素字符串向量,如["背阔肌”“朗”)。字段包含经度或x- - - - - -y坐标。

数据类型:字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:struct2geotable(年代,CoordinateReferenceSystem = geocrs (4326))将地理CRS指定为1984年世界大地测量系统,EPSG代码4326年

坐标参考系统(CRS)创建时使用形状变量的地理空间表,指定为一个projcrsgeocrs对象。

指定一个projcrs对象的时候coordinateSystemType“平面”并指定一个geocrs对象的时候coordinateSystemType“地理”

几何坐标类型字段,指定这些选项之一:

  • “点”——协调字段代表点。

  • “行”——协调字段代表行。

  • “多边形”——协调字段表示多边形。

当你指定几何类型“多边形”,struct2geotable函数假定坐标定义多边形与一个有效的拓扑。一个多边形时有效的拓扑结构:

  • 地区内部向右你跟踪边界从顶点到顶点。

  • 没有self-intersections的界限。

一般来说,外边界多边形顶点有一个有效的拓扑以顺时针的顺序和内部孔顶点按照逆时针顺序。

struct2geotable功能检测时的几何类型输入结构数组几何字段的值“点”,“多点”,“行”,或“多边形”

输出参数

全部折叠

地理空间表的输出。一个表是一个地理空间时间表对象与一个形状变量,其中包含geopointshape,geolineshape,geopolyshape,mappointshape,maplineshape,或mappolyshape对象。

一个输入结构数组元素和N字段的大小GT————(N+ 1)。

提示

  • 当输入结构和经度字段x- - - - - -y字段,struct2geotable函数创建地理空间表使用经度字段。创建表使用地理空间x- - - - - -y通过指定字段coordinateSystemType参数。

  • 当你知道一个shapefile包含纬度和经度坐标和阅读shapefile使用shaperead功能,您必须指定UseGeoCoords参数为真正的。否则,结构数组中包含了XY字段,而不是纬度长ydF4y2Ba字段。结果,struct2geotable函数创建形状地理空间表的变量使用平面形状对象等mappointshape而不是地理形状对象等geopointshape

版本历史

介绍了R2021b