diff --git a/org_ccalm_weather.yml b/org_ccalm_weather.yml
index 0e24c06..3484da5 100644
--- a/org_ccalm_weather.yml
+++ b/org_ccalm_weather.yml
@@ -1,5 +1,5 @@
server:
- port: 8083
+ port: 8085
ssl:
key-store: classpath:keystore.jks
key-store-password: QyKtWPZB
diff --git a/src/main/java/org/ccalm/weather/AirTemperature.java b/src/main/java/org/ccalm/weather/AirTemperature.java
index 877f2e7..b13ad6b 100644
--- a/src/main/java/org/ccalm/weather/AirTemperature.java
+++ b/src/main/java/org/ccalm/weather/AirTemperature.java
@@ -165,7 +165,7 @@ public class AirTemperature implements ServletContextAware {
if(wd.download(URL+".idx", data_dir+"temp"+File.separator+"air_text.idx", "0", ""))
{
result+="Download "+URL+".idx"+" to "+data_dir+"temp"+File.separator+"air_text.idx"+"
";
-
+
String strPos1="";
String strPos2="";
//Read file and find required line.
diff --git a/src/main/java/org/ccalm/weather/GeoTIFFList.java b/src/main/java/org/ccalm/weather/GeoTIFFList.java
index 27a5a11..0e26dc5 100644
--- a/src/main/java/org/ccalm/weather/GeoTIFFList.java
+++ b/src/main/java/org/ccalm/weather/GeoTIFFList.java
@@ -2,13 +2,13 @@ package org.ccalm.weather;
import java.io.File;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.List;
+import java.util.*;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
import java.util.stream.IntStream;
+
import org.springframework.http.CacheControl;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
@@ -64,6 +64,7 @@ public class GeoTIFFList {
String NDWIPath="/opt/tomcat/geoserver/ROOT/data/GeoTIFF/NDWI";
String NDSIPath="/opt/tomcat/geoserver/ROOT/data/GeoTIFF/NDSI";
String SMAPPath="/opt/tomcat/geoserver/ROOT/data/GeoTIFF/SMAP";
+ String SMAPPath2="/opt/geodata/SMAP";
String osName=System.getProperty("os.name");
if(osName.indexOf("Windows")>=0){
NDVIPath="O:\\temp\\CCALM\\NDVI";
@@ -227,6 +228,47 @@ public class GeoTIFFList {
}
}
+ if (fn.equals("smap_list2")) {
+ List dateList = new ArrayList<>();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+ File root = new File(SMAPPath2);
+ File[] yearDirs = root.listFiles(File::isDirectory);
+ if (yearDirs != null) {
+ for (File yearDir : yearDirs) {
+ File[] files = yearDir.listFiles((dir, name) -> name.toLowerCase().endsWith(".tiff"));
+ if (files != null) {
+ for (File file : files) {
+ String fileName = file.getName(); // "2025-01-30.tiff"
+ String datePart = fileName.substring(0, fileName.indexOf('.')); // "2025-01-30"
+ try {
+ LocalDate date = LocalDate.parse(datePart, formatter);
+ dateList.add(date);
+ } catch (Exception e) {
+ // если имя файла не в формате даты — пропускаем
+ }
+ }
+ }
+ }
+ }
+
+ // Убираем дубликаты и сортируем
+ TreeSet uniqueSorted = new TreeSet<>(dateList);
+
+ if (!uniqueSorted.isEmpty()) {
+ StringBuilder sb = new StringBuilder("[");
+ for (LocalDate date : uniqueSorted) {
+ String strDate = date.format(formatter);
+ sb.append("{\"date\":\"").append(strDate).append("\"},");
+ }
+ sb.setLength(sb.length() - 1); // убрать последнюю запятую
+ sb.append("]");
+ result = sb.toString();
+ } else {
+ result = "[]";
+ }
+ }
+
return result;
}
}