Determining whether a point on earth (given latitude and longitude) is on land or ocean
25 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am looking for a quick way to determine whether a point on earth's surface (given latitude and longitude) falls on one of the continents or on an ocean.
Any help is greatly appreciated.
Thanks, Deep
1 Kommentar
Walter Roberson
am 9 Feb. 2011
Where do you place the dividing line for estuaries ? Or for reclaimed land?
Antworten (5)
Amy Haskins
am 1 Apr. 2015
Bearbeitet: Amy Haskins
am 1 Apr. 2015
You could also try the inpolygon function.
% Load the coastline
coast = load('coast.mat');
ax = worldmap('world');
geoshow(coast)
% Grab a point from the map
[lat,lon] = inputm(1,ax);
% Determine if it's within the coast polygon
isInland = inpolygon(lat,lon,coast.lat,coast.long);
0 Kommentare
Brett Shoelson
am 9 Feb. 2011
I think this will do it. It is a binary classifier: Ocean/Land.
coast = load('coast.mat');
[Z, R] = vec2mtx(coast.lat, coast.long, ...
1, [-90 90], [-90 270], 'filled');
figure; worldmap(Z, R)
geoshow(Z, R, 'DisplayType', 'texturemap')
colormap([0 1 0;0 0 0;0 1 0;0 0 1])
lat = 38.53;%N
lon = -57.07;%W
plotm(lat,lon,'ro')
val = ltln2val(Z, R, lat, lon);
isOcean = val == 2
%isLand = ~isOcean
Cheers,
Brett
1 Kommentar
Dan Chavas
am 11 Feb. 2014
I've put this code into a MATLAB file: http://www.mathworks.com/matlabcentral/fileexchange/45268-landorocean-m
Joshua Carmichael
am 4 Okt. 2023
The Matlatb function isinterior.m (new since 2022a) does this.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Mapping Toolbox finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!