【发布时间】:2014-03-02 23:25:33
【问题描述】:
我有两组数据。一组数据是一个矩阵,每行包含不同的样本,列中包含有关每个样本的信息,其中一列包含经度数据,另一列包含样本的纬度数据。另一个数据集由三个网格组成。第一个网格包含数据的纬度,第二个网格包含数据的经度,第三个网格包含 1° 纬度经度网格的数据。
我想找出第二个数据集中的哪些数据与第二个数据集中的数据对应。我的意思是,如果样本落入第二个数据集的特定网格,则需要提取该网格中的数据,并且需要知道数据适用于哪个样本。
所以只要说在纬度 60 和 59 之间的网格中,经度 100 和 101 样本 x 下降。只需说这个特定网格的网格数据集中的数据是 10。我想知道 10(网格中的数据)适用于样本 x。
最后,我希望网格数据对应于新矩阵中的样本,该矩阵可以作为样本数据集的伙伴(即,如果样本 x 在第 40 行,那么矩阵 10 在第 40 行),或者作为新列添加到相同的数据集中。请记住,有些样本会落入同一个网格中。
我在matlab方面相当缺乏经验,我尝试过刷机工具,但这不适用于本示例。我所能想到的可能是将样本数据中的每个 long 和 lat 舍入为偶数,然后找到哪些样本在 long 和 lat 中重叠,然后将样本数据中的 long 与 long 网格相交,然后执行对于 lat 网格,查找每个样本所在的行和列,然后找到每个样本的数据。这似乎还有很长的路要走,我不太确定它的效果如何。
我已经完成了这个方法并且它在一定程度上起作用了......我有每个样本的数据所在的行和列(即样本 x 可以在第 8 行第 100 列中找到)。但是,当我尝试从网格中提取这些数据时,它不是包含一列而是包含多列的矩阵,答案仍然在矩阵的样本位置。如何从网格的每一行中获取一个数据点并最终得到一个只有一列(或可以变成一列的行)的矩阵?
谢谢
【问题讨论】:
-
一些你想要达到的目标和你尝试过的例子会有用。
-
已经这样做了,谢谢
-
不清楚 - 您的网格数据是实际的 MATLAB 数据集格式还是某种形式的矩阵或其他格式您能显示一小部分数据吗?
标签: matlab matrix grid latitude-longitude data-extraction