필터 지우기
필터 지우기

How to change land data to NaN?

조회 수: 4 (최근 30일)
eevee
eevee 2014년 10월 27일
답변: Chad Greene 2014년 12월 5일
Hi,
I have plotted a bathymetry and now I'm given coastline and some islands files where I need to use them to define where the land is and then turn the land data to NaN.
How should I do that?
Thanks, Eve
  댓글 수: 4
Geoff Hayes
Geoff Hayes 2014년 10월 29일
Eve - how do you (currently) calculate the volume? What information do you use for that?
eevee
eevee 2014년 10월 30일
Hi Geoff,
I use:
dx*dy*zi(~isnan(zi))
However, my zi includes both land and sea data. So now, I need to remove the land data before I could calculate the volume of bathymetry. I don't know how to tell matlab that my land data are those that falls below the coastline (please see image below)
Thanks,
Eve

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

답변 (2개)

Kelly Kearney
Kelly Kearney 2014년 10월 27일
The inpolygon function will do most of the work. Depending on the scale of your region and the format of the coastlines, you may need to close off polygons, reverse order of vertices, and upsample polygons in order to get the best results; the Mapping Toolbox has several functions ( flatearthpoly, interpm, ispolycw, poly2cw) to help with that.
  댓글 수: 6
eevee
eevee 2014년 10월 31일
Hi Kelly,
sorry I just realized I forgot to attach my script. :)
Kelly Kearney
Kelly Kearney 2014년 10월 31일
Can you upload the coastline file? The answer will depend on whether it contains just the visible line segments you plotted above, or fully-closed polygons. Assuming it's the latter, your code to mask the land points will look something like:
isin = inpolygon(xi, yi, xcoast, ycoast);
zi_diff(isin) = NaN;
But you may need to do some processing of xcoast and ycoast to convert them to closed, clockwise polygons.

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


Chad Greene
Chad Greene 2014년 12월 5일
Another solution is the landmask function on File Exchange.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by