Java+iClient Openlayers realiza pronósticos de simulación de desastres por sequía y humedad del suelo y análisis de alerta temprana

Representaciones de implementación de aplicaciones y software:

1. Antecedentes de la aplicación

Como una persona que creció en el campo, me preocupa mucho el impacto de los desastres naturales y el cambio climático en la sequía y la humedad de la tierra. En los últimos años, sequías e inundaciones han ocurrido con frecuencia en muchos lugares, lo que representa una gran amenaza para la vida y las propiedades de las personas. Por lo tanto, la simulación de sequía y humedad se ha convertido en una dirección de investigación muy importante, con el objetivo de mejorar nuestra capacidad para predecir y responder al cambio climático. Al simular la sequía y la humedad, podemos comprender mejor el impacto de la humedad del suelo, la cubierta vegetal, la precipitación y otros factores en los desastres de sequía e inundaciones, a fin de formular mejor las contramedidas para proteger el entorno ecológico de los humanos y la tierra.

La simulación de sequía y humedad tiene un gran potencial para hacer frente a los desastres naturales. Por ejemplo, puede ayudarnos a predecir la ocurrencia y el impacto de los desastres naturales de manera más rápida y precisa, para tomar contramedidas con anticipación y reducir las víctimas y las pérdidas de propiedad. Además, después de que ocurra un desastre natural, mediante el análisis de datos e imágenes, puede ayudar a las personas en el área del desastre a restaurar la producción y el orden de vida más rápidamente. En resumen, el análisis de simulación de desastres por sequía tiene un gran potencial para proteger a los seres humanos y el medio ambiente ecológico de la tierra. Debemos aprovechar al máximo sus ventajas y hacer mayores contribuciones al futuro de los seres humanos.

Aunque el análisis de simulación tiene potencial en desastres naturales y protección ambiental, también debemos reconocer que esta es todavía una tecnología emergente que necesita ser refinada y desarrollada continuamente. Debemos fortalecer la investigación y aplicación de la tecnología de simulación de sequía y, al mismo tiempo, prestar atención al cumplimiento de las normas éticas y legales para garantizar que la aplicación de la tecnología esté en consonancia con la justicia social y los valores humanos. Creo que con los esfuerzos conjuntos de todas las partes, la simulación de sequía y humedad creará un futuro mejor para nosotros.

Conceptos y base de conocimientos relacionados con la textura y el uso de la tierra:

2. Escenarios de aplicación

 

 3. El software realiza el código de calibración de los parámetros clave.

data () { 
  return { 
    capas: 11, 
    isPanelShow: false, 
    clayersInfo: [], 
    soilTextureOptions: [{ 
      value: 0, 
      p: 0.12, 
      label: 'clay', 
    }, { 
      value: 1, 
      p: 0.15, 
      label: 'Arcilla en polvo' 
    }, { 
      valor: 2, 
      p: 0,17, 
      etiqueta: 'Marga arcillosa en polvo' 
    }, { 
      valor: 3, 
      p: 0,20, 
      etiqueta: 'arcilla arenosa' 
    }, { 
      valor: 4, 
      p: 0,22, 
      label: 'sand arcilloso franco' 
    }, { 
      value: 5, 
      p: 0.27, 
      label: 'arcilloso franco' 
    },{
      valor: 6, 
      p: 0,31, 
      etiqueta: 'suelo limoso' 
    }, { 
      valor: 7, 
      p: 0,32, 
      etiqueta: 'marga limosa' 
    }, { 
      valor: 8, 
      p: 0,33, 
      etiqueta: 'marga' 
    }, { 
      valor: 9, 
      p: 0,42, 
      etiqueta: 'suelo arenoso' 
    }, { 
      valor: 10, 
      p: 0,37, 
      etiqueta: 'suelo franco arenoso' 
    }, { 
      valor: 11, 
      p: 0,39, 
      etiqueta: 'suelo franco arenoso' 
    } ], 
    uslsOptions: [{ 
      valor: 0, 
      p: 0.01, 
      etiqueta: 'campo de arroz' 
    }, { 
      valor: 1,
      p: 0,3, 
      etiqueta: 'tierra seca' 
    }, { 
      valor: 2, 
      p: 0,2, 
      etiqueta: 'bosque' 
    }, { 
      valor: 3, 
      p: 0,2, 
      etiqueta: 'tierra arbustiva' 
    }, { 
      valor: 4, 
      p: 0,23, 
      etiqueta: 'Tierra forestal escasa' 
    }, { 
      valor: 5, 
      p: 0,21, 
      etiqueta: 'Otros bosques' 
    }, { 
      valor: 6, 
      p: 0,21, 
      etiqueta: 'Pastizales de alta cobertura' 
    }, { 
      valor : 7, 
      p: 0,26, 
      etiqueta: 'pastizales de cobertura media' 
    }, { 
      valor: 8, 
      p: 0,31,{ 
      valor: 9, 
      label:'Pastizales de Baja Cobertura'
    }, { 
      p: 0,21,
      p: 0,01, 
      etiqueta: 'río y canal' 
    }, { 
      valor: 10, 
      p: 0,01, 
      etiqueta: 'lago' 
    }, { 
      valor: 11, 
      p: 0,01, 
      etiqueta: 'estanque de reserva' 
    }, { 
      valor: 12 , 
      p: 0,0, 
      etiqueta: 'glaciar permanente y nieve' 
    }, { 
      valor: 13, 
      p: 0,41, 
      etiqueta: 'playa' 
    }, { 
      p: 0,5, 
      valor: 14, 
      etiqueta: 'playa' 
    }, { 
      valor: 15, 
      p: 0.21, 
      etiqueta: 'pueblo' 
    }, { 
      valor: 16, 
      etiqueta: 'asentamiento rural' 
    },{
      value: 17, 
      p: 0.21, 
      label: 'otro terreno edificable' 
    }, { 
      value: 18, 
      p: 0.51, 
      label: 'playa' 
    }, { 
      value: 19, 
      p: 0.61, 
      label: 'Gobi' 
    }, { 
      valor: 20, 
      p: 0,31, 
      etiqueta: 'tierra salina' 
    }, { 
      valor: 21, 
      p: 0,01, 
      etiqueta: 'pantano' 
    },{ 
      valor: 22, 
      p: 0,41, 
      etiqueta: 'tierra desnuda' 
    },{ 
      valor: 23, 
      p: 0,61, 
      etiqueta: 'roca desnuda y grava' 
    uslsValue: 1, 
    }],
    soilTextureValue: 0,
    RainVal: 30, 
    IntervalTime: 30, 
    avgTemp: 20, 
    avgWindSpeed: 2, 
    avgAirHumidity:0.4, 
    recuento: 0 
  } 
}

4. El código Java clave implementa la interfaz de simulación.

//getAscGeoJsonByCIdxSim 
//http://localhost:8145/api/soil/getAscGeoJsonByCIdxSim?rowInterval=714&rowIntervalIdxNum=0&crowIntervalIdx=0&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=30&avgTemp=20&avg WindSpeed=2&avgAirHumidity= 
4 /** 
 * 索引从0开始
 * @param rowInterval 
 * @param rowIntervalIdxNum 
 * @param crowIntervalIdx 
 * @return 
 */ 
@GetMapping("/getAscGeoJsonByCIdxSim") 
public String getAscGeoJsonByCIdxSim(int rowInterval,int rowIntervalIdxNum,int crowIntervalIdx,double rainVal,double soilTextureValue, 
                                     double uslsValue, 
                                     double Interval tiempo, 
                                     double av gTemp, 
                                     double avgWindSpeed, 
                                     double avgAirHumidity) { 
    String ascGeoJson = ascGeoSoil.getAscGeoJsonByCIdxSim(rowInterval,rowIntervalIdxNum,crowIntervalIdx,rainVal,soilTextureValue,uslsValue,IntervalTime,avgTemp,avgWindSpeed,avgAirHumidity); 
    volver ascGeoJson; 
}

Devuelve los datos del resultado del cálculo de la simulación de geojson

5. Implementación de la configuración de código visual de llamada frontal clave

geoJsonFe0: { 
  código de capa: 'geoJsonFe0', 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua0', 
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&us lsValue=0.3&TiempoIntervalo =3&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPath:'', 
  // labelField: 'NAME', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, wrapX: 
  false, 
  opacity: 1, 
  location: {longitude : 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe1:{ { 
  código de capa: 'geoJsonFe1',
  isRLayerPanel: verdadero, 
  sourceType: 'Vector', 
  title: 'water1', 
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=6&avgTemp= 20&avgWindSpeed=2&avgAirHumidity=4' , 
  dataPath:'', 
  // labelField: 'NAME', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: false, 
  opacity: 1, 
  location: {longitude: 112.68289694818532, latitude: 29.388637201081306, level: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe2: { 
  código de capa: 'geoJsonFe2',
  isRLaerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título:'agua2',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=9&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  ruta de datos :'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe3: { 
  capa Código: 'geoJsonFe3' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título:'agua3',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=12&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe4: { 
  capa Código: 'geoJsonFe4' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua4',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=15&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe5: { 
  capa Código: 'geoJsonFe5' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua5',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=18&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe6: { 
  capa Código: 'geoJsonFe6' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua6',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=21&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe7: { 
  capa Código: 'geoJsonFe7' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua7',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=24&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe8: { 
  capa Código: 'geoJsonFe8' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua8',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=27&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=30&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: falso, 
  opacidad: 1, 
  ubicación: {longitud: 112.68289694818532, latitud: 29.388637201081306, nivel: 12.411079407606836}, 
  visible: falso 
}, 
geoJsonFe9: { 
  capa Código: 'geoJsonFe9' , 
  isRLayerPanel: verdadero, 
  tipo de fuente: 'Vector', 
  título: 'agua9',
  url: '/api/soil/getAscGeoJsonByCIdxSim?rowInterval=178&rowIntervalIdxNum=4&crowIntervalIdx=1&rainVal=30&soilTextureValue=0.12&uslsValue=0.3&IntervalTime=30&avgTemp=20&avgWindSpeed=2&avgAirHumidity=4', 
  dataPa th:'', 
  // labelField: 'NOMBRE', 
  geoType: 'geojson', 
  maxZoom: Infinity, 
  minZoom: -Infinity, 
  wrapX: false, 
  opacity: 1, 
  location: {longitude: 112.68289694818532, latitude: 29.388637201081306, level: 12.411079407606836}, 
  visible: true 
}

6. El software realiza efectos visuales (ajuste los parámetros para el entrenamiento del modelo, expansión de seguimiento para incorporar más modelos de ajuste de parámetros, cooperación técnica e intercambio QQ: 2401315930)

Si te ha resultado útil, ¡dale me gusta y premia el apoyo! ¡Muchas gracias por tu apoyo!

Supongo que te gusta

Origin blog.csdn.net/weixin_42496466/article/details/130634207
Recomendado
Clasificación