Separating text files according to latitude and longitude

2 vues (au cours des 30 derniers jours)
Tanmoyee Bhattacharya
Tanmoyee Bhattacharya le 20 Avr 2023
I have various text files namely
SNOWBAND_27.775_92.325.txt
SNOWBAND_27.775_92.425.txt
SNOWBAND_27.825_89.225.txt
SNOWBAND_27.825_89.275.txt
SNOWBAND_27.825_92.275.txt
SNOWBAND_27.825_92.325.txt
SNOWBAND_27.825_92.375.txt
SNOWBAND_27.825_92.425.txt
SNOWBAND_27.825_92.475.txt
I have another latlon file which contain latitude and longitude of
27.825 92.275
27.825 92.325
27.825 92.375
I want to separate the text files with matching lat and lon of latlon file.
If there is any way to separate the files.

Réponses (1)

dpb
dpb le 20 Avr 2023
Sure. Just read the lat/lon data file, substitute the dot woth underscore and do a dir() with that string in the filename wildcard expression to return the specific file.
latlon=readlines('yourlocationsfile.ext');
for i=1:numel(latlon)
ll=strrep(latlon(i),'.','_');
d=dir("SNOWBAND*"+ll+".txt");
fn=fullfile(d.folder,d.name);
% do whatever with the file here
...
end
First time I ran this I'd probably add the fully-qualified filename to the latlon file to go with it so had them both together; then just read the one file and get what you're looking for. Probably make sense to also separate out the lat/lon data into separate values for lat and long as numeric values to be able to do searches for ranges and/or specific values directly as well. Preprocessing and creating a more useful database could save a bunch of time later on...
  9 commentaires
Tanmoyee Bhattacharya
Tanmoyee Bhattacharya le 4 Mai 2023
Modifié(e) : Tanmoyee Bhattacharya le 4 Mai 2023
Sir,
Thankyou for your suggestion. It works for me. I had to do this for working directory of matlab. Before I didnot use strcat but my input was string array. The code is
clc;
clear all;
latlon=xlsread('C:\Users\hp\Desktop\new\Book1.xlsx');
fnames=sprintf('SNOWBAND_%.3f_%.3f.txt.txt',latlon(1,:));
% fnames1=sprintf('SNOWBAND_%.3f_%.3f.txt',latlon(2,:));
a=strcat(fnames);
fn=fullfile('C:\Users\hp\Documents\MATLAB',a);
movefile(fn,'C:\Users\hp\Documents\MATLAB\New Folder');
My query is I able to extract file for individual latlon. If I have to do for multiple lat lon how can I modify the code? Any suggestion.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by