Plot line with points at given distance

조회 수: 6 (최근 30일)
Ricco Blass
Ricco Blass 2022년 2월 18일
댓글: Ricco Blass 2022년 2월 26일
Hi all,
I need to find a way to plot markers along a line (river course; attached file) with a given distance, e.g. each 500m.
Is there a way to extract these values. The find function does not work in this situation since I only get an empty double column vector. I've used the TopoToolbox before, so the dataset is a STREAMobj which might be diffucult to read for one who hasn't the toolbox installed.
I tried to plot new points with spacing, but since the river is not smoothed and also should not be, point spacing starts and every new edge.
plot(Facet1)
hold on
spacing = 500;
plot(Facet1(1:spacing:end,1),'ro')
In advance thanks for your help.
  댓글 수: 4
Voss
Voss 2022년 2월 18일
Ah, I see. I thought all the toolboxes were available here, so that's good to know.
Ricco Blass
Ricco Blass 2022년 2월 19일
Yes I updated my question. Should have mentioned that before.

댓글을 달려면 로그인하십시오.

채택된 답변

Wolfgang Schwanghart
Wolfgang Schwanghart 2022년 2월 25일
Since you are working with TopoToolbox, you might want to use the function getlocation. If you have a STREAMobj S, then you can retrieve points at a distance of 500 m as follows:
DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD = FLOWobj(DEM);
S = STREAMobj(FD,'minarea',1000);
S = klargestconncomps(trunk(S));
[x,y,val] = getlocation(S,[0:500:max(S.distance)]);
plot(S)
hold on
plot(x,y,'ok','MarkerFaceColor',[.5 .5 .5])
axis image
  댓글 수: 1
Ricco Blass
Ricco Blass 2022년 2월 26일
That's exactely what I was looking for.
Thanks a lot!!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Catalytic
Catalytic 2022년 2월 19일

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by