Determine if a point is over land or water

18 次查看(过去 30 天)
Given a point (latitude, longitude), is there a function or easy way to determine if the point is over land or over water?
I could download coastline data from NOAA and determine if a point falls inside a polygon, but I'd rather not develop an algorithm myself if it already exists.
  2 个评论
Mike D.
Mike D. 2021-8-24
I see that File Exchange has a function gebconetcdf that someone created, and then I discovered the code that I need:
gebconc = netcdf.open('gebco_2021_n60.0_s10.0_w-90.0_e-40.0.nc', 'NOWRITE');
XGRID = netcdf.getVar(gebconc,0);
YGRID = netcdf.getVar(gebconc,1);
BATHY = netcdf.getVar(gebconc,2);
netcdf.close(gebconc);

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2021-8-21
For a given lon, lat; use interp2 and get the elevation/ bathymetry value, if the value is negative it is depth and lies in the ocean or water and if the value is positive it lies in the land.
  5 个评论
KSSV
KSSV 2021-8-24
Read about ncdisp. This function will give you variables from there you give the variable name.
Mike D.
Mike D. 2021-8-24
Yes, I can see that both ncdisp and ncinfo tell me all about the structure, what I wanted was the few lines of code that allow me to read the binary file into Matlab variables.

请先登录,再进行评论。

更多回答(1 个)

John
John 2024-9-9
There is now an API service called IsItWater.com which will let you check with a webservice call:
Request
curl 'https://isitwater-com.p.rapidapi.com/?latitude=41.9029192&longitude=-70.2652276&rapidapi-key=YOUR-X-RAPIDAPI-KEY'
Response
{
"water": true,
"latitude": 41.9029192,
"longitude": -70.2652276
}

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by