How to find the border points for a set of latitude and longitude coordinates

조회 수: 38(최근 30일)
Patrick
Patrick 2014년 10월 22일
답변: Rob Comer 2014년 10월 24일
Hi,
I am looking for the best way to approach a code that I am attempting to write, I don't have much experience using the Mapping Toolbox in Matlab and am hoping that someone else may and can point me in the right direction. I have the latitude and longitude coordinates for ~100 points in a location that is approximately 5 squares miles in area. I am looking to plot each point in that location, and then from there determine what the basic outline of that area is.
For example, I want to know which points lie on the North edge of the area, which points like on the East edge, which ones are on the South edge and which ones are on the West edge.
If anyone has any advice to help me get started that would be very appreciated.

채택된 답변

Matt Tearle
Matt Tearle 2014년 10월 22일
편집: Matt Tearle 2014년 10월 22일
You don't actually need Mapping TB to find boundaries. You can do it with convhull or, if you have 14b, boundary.
But perhaps you want something even simpler than that. To get the points on the North edge, you could just do
idxNorth = (latitude == max(latitude));
northLat = latitude(idxNorth);
northLon = longitude(idxNorth);
This gets only the points that have the exact same latitude as the northernmost point. Use some other condition if that's too exacting (such as latitude > threshhold_latitude).

추가 답변(1개)

Rob Comer
Rob Comer 2014년 10월 24일
With such a small data extent, you can probably ignore the wrapping of longitude around the earth when computing latitude and longitude limits. But for more widely distributed data there's the Mapping Toolbox geoquadpt function, which will work in your case also, of course.

Community Treasure Hunt

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

Start Hunting!

Translated by