MATLAB: How to find if a x,y point is within a given polygon

enclosuremappingMapping Toolbox

Is there a function, probably in the mapping community, that I could use to find out if a location specified by (Latitude, longitude) is within a polygon defined by the (Latitude, longitude) coordinates of the corners? A general function for x,y will do just as well. My polygon is convex, which is an easier problem than a general non-convex polygon.

Best Answer

The inpolygon function is included in base Matlab. If your polygons cover a small geographic area and don't cross the poles, you can probably just call it directly. For larger polygons, you may have to preprocess the polygon coordinates (see e.g. interpm, flatearthpoly).