File Exchange

image thumbnail

landmask

version 1.0.0.0 (276 KB) by Chad Greene
Get a logical land mass corresponding to your data.

23 Downloads

Updated 05 Dec 2014

View License

This function returns a logical array describing the landness of any given lat/lon arrays. Requires Matlab's Mapping Toolbox.
This function uses Matlab's built-in coast.mat file with inpolygons to determining whether input lat/lons are inside or outside perimeters of land areas.

Syntax
land = landmask(lat,lon)
land = landmask(...,'landmass')
land = landmask(...,quality)

Description
land = landmask(lat,lon) returns logical land array corresponding to the dimensions of input lat and lon. 1 is land, 0 is not land.

land = landmask(...,'landmass') specifies any of the following regions of mask:

'Antarctica'
'Africa and Eurasia'
'North and South America'
'Greenland'
'Australia'
'Baffin Island'
'Ellesmere Island'
'New Guinea'
'Great Britain'
'Borneo'
'Honshu'
'Victoria Island'
'Celebes'
'New Zealand North Island'
'Sumatra'
'Madagascar'
'Iceland'
'New Zealand South Island'
'Newfoundland'
'Luzon'
'Devon Island'
'Ireland'
'Cuba'
'Java'
'Mindanao'

land = landmask(...,quality) specifies quality from 0 to 100. This option is provided because for large data sets, the land mask function can take quite some time. For example, on my laptop, a calculating 180x360 land mask for all continents takes about 65 seconds at 100% quality. Default quality is 95, which takes about 6 seconds for the same dataset on my laptop. The quality setting is only used when calculating the land mask using all of the world's continents. For single land masses, 100% quality is assumed.

Comments and Ratings (9)

Vijay Sagar

Vijay Sagar

What are the units for each coordinate? Should I use -15 or 345 for 15W?

Chad Greene

Ian,

Ha, indeed! Good catch!

Ian

In the examples in the documentation, I believe the long. for Topeka KS should be -95.69, not 95.69. (It is approx 95.69 West, not East).

The location (39.06,+95.69) is in western China, so
landmask(39.06,95.69)
returns 1, but
landmask(39.06,95.69,'North and South America')
returns 0, and
landmask(39.06,95.69,'Africa and Eurasia')
returns 1.

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: How to map sea level rise, Post-glacial rebound

Inspired: borders

landmask/html/