How to find Lon. and Lat. of a field by having a few sample GPS points?

1 次查看(过去 30 天)
I'm working on a field and for some reasons I need to find the exact Longitude and Latitude for different points on the field. Please have a look at the attached picture. Let's say I have such a field and I have divided it into 1000 different cells. Because the field is huge, it's not possible for me to capture Long. and Lat using GPS for all cells. I was thinking it might be possible to capture GPS data at some points (e.g. at cells number 1, 5, 10, 15, 20, ...) and then find others by interpolation or something like that. Do you have any idea how to do this? How can I find exact Long. and Lat for all cells by having some GPS sample points? Do you think using a simple MATLAB interpolation is a good option? Thanks in advance for your suggestions and ideas.

回答(1 个)

Gavriel Aminov
Gavriel Aminov 2017-3-23
编辑:Gavriel Aminov 2017-3-23
If the cells of the field are distributed uniformly, and if the height of each cell is weak function of 2D position, then the answer seems simple:
  1. Rearange the numeration of the cells to MxN=100x10 (use IND2SUB and SUB2IND)
  2. Measure the Lon&Lat of the bounding cells: (1,1),(100,1),(1,10),(100,10)
  3. Make regular interp2 over Lon values and Lat values separately like this:
  • lon2=interp2(x1,y1,lon1,x2,y2);
  • lat2=interp2(x1,y1,lat1,x2,y2);
where
x1=[1,1,10,10] (pay attention that x-position is parallel to j-index!)
y1=[1,100,1,100]
x2=1:10;
y2=1:100;
After the above works, it is also possible to make the results more precise by taking additional measurements at some randomly distributed cells WITHIN the field and executing scattered 2D-interpolation with GRIDDATA at the same manner as with INTERP2.
You can use 'linear' or 'spline' options in both cases, as the extrapolation is not required.
  3 个评论
Gavriel Aminov
Gavriel Aminov 2017-3-26
Please publish the text in order to enable copying the lon-lat data from your script and I'll try debug it.
Mo Ba
Mo Ba 2017-4-21
编辑:Mo Ba 2017-4-27
Sorry @Gavriel Aminov for late response. I was waiting for notification if a new comment is added here. below is the commands I used:
x1=[1,1,35,35];
y1=[1,35,1,35];
x2=1:3;
y2=1:35;
lat1=[52.333734,52.334008,52.334013,52.333736];
lon1=[-106.284690,-106.284694,-106.282375,-106.282386];
lat2=interp2(x1,y1,lat1,x2,y2);
lon2=interp2(x1,y1,lon1,x2,y2)
Thank you again for your help.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Smoothing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by