Extract coordinates from a geopolyshape
显示 更早的评论
Given a geographic shape object of type geopolyshape:
us_states = readgeotable("usastatehi.shp")
montana = us_states.Shape(us_states.Name == "Montana")
class(montana)
ans =
'geopolyshape'
How could I extract a list of Lat/Lon coordinates of the given shape object (mo_lat, mo_lon)?
% montana
mo_lat = ??? % list of latitudes of Montana polygon edges
mo_lon = ??? % list of longitudes of Montana polygon edges
I know it's possible when loading data using shaperead function instead:
us_states = shaperead("usastatehi.shp")
montana = us_states(26); % 26 is Montana
mo_lat = montana.Y; % list of latitudes of Montana edges
mo_lon = montana.X; % list of longitudes of Montana edges
But I'm curious if it's possible to extract data from existing geopolyshape?
采纳的回答
更多回答(3 个)
Edmund Pickering
2025-8-25
1 个投票
I have found a working solution. The secret is exportShapeData. This appears to be a hidden method. Not sure why this is so.

The present version is much easier. Note that the class of us_states is a table. You can extract the column using:
us_states = readgeotable("usastatehi.shp") ;
class(us_states)
us_states.(1) % first column
us_states.LabelLat % third column
us_states.(4) % 4th column
7 个评论
Sergey Kostrukov
2022-10-12
移动:KSSV
2022-10-12
us_states = readgeotable("usastatehi.shp") ;
plot(us_states.LabelLat,us_states.LabelLon,'.r')
What you want to extract from here?
Sergey Kostrukov
2022-10-12
Sergey Kostrukov
2022-10-12
Chad Greene
2022-11-1
I have the exact same question.
The geopolyshape documentation shows how to convert lat,lon coordinates into a geopolyshape:
but then offers no guidance on how to get the lat,lon coordinates back out of shape.
I know the coordinates are in there somewhere, I just don't know how to get them back out!
Sergey Kostrukov
2022-11-1
Chad Greene
2022-11-2
This is so frustrating. I don't understand why these new functions have been designed to prevent users from accessing the data we're trying to analyze.
Chad Greene
2022-11-8
0 个投票
@Sergey Kostrukov I think I found a working solution. The m_shaperead function in M_Map can handle PolygonZ and PolyLineZ data.
类别
在 帮助中心 和 File Exchange 中查找有关 Vector Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
