Commit d3a2030f by Esteban Ramirez Mora

Actualizaciones

parent a8c3f712
...@@ -292,6 +292,41 @@ ...@@ -292,6 +292,41 @@
</div> </div>
<div id="tuto_agent" class="col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label class = "text-sm" id="agent">Agente:</label>
<select id = "agent_selected" class="form-control">
<option value="model_default" selected disabled>Selecione un agente</option>
<option value="Patogenos">Patógeno</option>
<option value="Hospederos">Hospedero</option>
<option value="Vectores">Vector</option>
</select>
</div>
</div>
<div id="tuto_disease" class="col-md-6 col-sm-12 col-xs-12">
<div class="form-group" >
<label class = "text-sm" id="disease">Enfermedad:</label>
<select id = "disease_selected" class="form-control">
<option value = dis_default" selected disabled> Seleccione Enfermedad</option>
<option value ="todas">Sin enfermedad</option>
<!--<option value="Enfermedad de Chagas">Enfermedad de Chagas</option>
<option value="Fiebre de Zika"> Fiebre de Zika</option>
<option value="Fiebre de Dengue">Fiebre de Dengue</option>
<option value="Fiebre Chikunguña"> Fiebre Chikinguña</option>
<option value="Hantavirosis"> Hantavirosis</option>
<option value="Fiebre del Nilo"> Fiebre del Nilo</option>
<option value="Enfermedad de Lyme"> Enfermedad de Lyme </option>
<option value="Fiebre del Nilo"> Fiebre del Nilo</option>
<option value="Leptospirosis"> Leptospirosis</option>
<option value="Leishmaniasis"> Leishmaniasis</option>-->
</select>
</div>
</div>
</div> </div>
<!-- container de 40% seteado en componete --> <!-- container de 40% seteado en componete -->
......
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
</header> </header>
<section id="content"> <section id="content">
<h2>Bienvenido a EPI-SPECIES<span>Plataforma Universitaria de Eco-epidemiologia Espacial</span></h2> <h2>Bienvenido a EpI-SPECIES<span>Plataforma Universitaria de Eco-epidemiología Espacial</span></h2>
<p>EPI-SPECIES es una herramienta interactiva para el análisis del nicho epidemiológico de enfermedades infecciosas y la creación de modelos predictivos para analizar su dinámica espacio-temporal en México.</p> <p>EpI-SPECIES es una herramienta interactiva para el análisis del nicho epidemiológico de enfermedades infecciosas y la creación de modelos predictivos para analizar su dinámica espacio-temporal en México.</p>
<h3>Análisis de nicho epidemiológico</h3> <h3>Análisis de nicho epidemiológico</h3>
<p>Si deseas realizar un análisis de nicho epidemiológico basta con seguir los siguientes pasos:</p> <p>Si deseas realizar un análisis de nicho epidemiológico basta con seguir los siguientes pasos:</p>
<ul class="steps"> <ul class="steps">
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<li>Analiza tus resultados</li> <li>Analiza tus resultados</li>
<li><a class="button-1" href="https://epispecies.c3.unam.mx/geoportal_v0.1.html">Ir a Análisis de Nicho</a></li> <li><a class="button-1" href="https://epispecies.c3.unam.mx/geoportal_v0.1.html">Ir a Análisis de Nicho</a></li>
</ul> </ul>
<p>Si es la primera vez que utilizas la plataforma, te recomendamos dar clic en el botón de <b>Casos de uso</b> o el botón de <b>Tutorial</b> que te orientara paso a paso como utilizar EPI-SPECIES</p> <p>Si es la primera vez que utilizas la plataforma, te recomendamos dar clic en el botón de <b>Casos de uso</b> o el botón de <b>Tutorial</b> que te orientara paso a paso como utilizar EpI-SPECIES</p>
</section> </section>
<footer> <footer>
<p class="copyright">©Todos los derechos reservados Chilam · C3 · UNAM - 2021.</p> <p class="copyright">©Todos los derechos reservados Chilam · C3 · UNAM - 2021.</p>
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<article> <article>
<pre class="prettyprint source linenums"><code> <pre class="prettyprint source linenums"><code>
/** /**
* Módulo variable, utilizado para crear y gestionar los selectores de grupos de variables en nicho ecológico y comunidad ecológica. * Módulo variable, utilizado para crear y gos sestionar lelectores de grupos de variables en nicho ecológico y comunidad ecológica.
* *
* @namespace variable_module * @namespace variable_module
*/ */
......
...@@ -692,18 +692,55 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -692,18 +692,55 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
_REGION_SELECTED = region_selected; _REGION_SELECTED = region_selected;
let query = 'query{get_mesh(grid_res: "' + _grid_res + '"){cve simplified_geom}}'
console.log(query)
$.ajax({ $.ajax({
url: _url_zacatuche + "/niche/especie/getGridGeoJson", method: "POST",
type: 'post', url : "http://10.90.0.42:4003/graphql/mesh/",
dataType: "json", contentType: "application/json",
data: { data: JSON.stringify({query: query}),
"grid_res": grid_res, success: function (resp) {
"footprint_region": _REGION_SELECTED let data = resp["data"];
}, let obj = data["get_mesh"]
success: function (json) {
let json = {type: 'FeatureCollection',crs: {}, features: []}
console.log(obj)
for (let i = 0; i < obj.length; i++)
{let prop = new Object();
let geom = new Object();
geom = Object.assign({},obj[i].simplified_geom)
prop = parseInt(obj[i].cve)
let prope = new Object();
prope.gridid =prop
let type = new Object();
type.type = "feature"
type.geometry = geom
type.properties = prope
json.features.push(type)
json.crs = {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}
console.log(json); //console.log(json[1].geometry)
console.log(json)
// obj["features"].push( json["geometry"])
// console.log(features)
// Asegura que el grid este cargado antes de realizar una generacion por enlace // Asegura que el grid este cargado antes de realizar una generacion por enlace
$("#loadData").prop("disabled", false); $("#loadData").prop("disabled", false);
$('#map').loading('stop'); $('#map').loading('stop');
...@@ -729,8 +766,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -729,8 +766,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
_grid_map_decil = jQuery.extend(true, {}, json) // se genera un clon del gridmap _grid_map_decil = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_grid_map_state_mun = jQuery.extend(true, {}, json) // se genera un clon del gridmap _grid_map_state_mun = jQuery.extend(true, {}, json) // se genera un clon del gridmap
// console.log(_grid_map_occ); console.log(_grid_map_occ);
// console.log(_grid_map_target); console.log(_grid_map_target);
...@@ -835,6 +872,10 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -835,6 +872,10 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
}); });
} }
...@@ -1049,6 +1090,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -1049,6 +1090,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
if (_first_loaded) { if (_first_loaded) {
_VERBOSE ? console.log("first loaded") : _VERBOSE; _VERBOSE ? console.log("first loaded") : _VERBOSE;
console.log(grid_map)
for (var i = 0; i < grid_map.features.length; i++) { for (var i = 0; i < grid_map.features.length; i++) {
...@@ -2170,18 +2212,74 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2170,18 +2212,74 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
"region": region "region": region
} }
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' "){individuosinfectados gridid_'+ _grid_res + '}}'
console.log(query)
fetch(_url_zacatuche + "/niche/especie/getGridSpeciesTaxon", { $.ajax({
method: "POST", method: "POST",
body: JSON.stringify(data), url: _url,
headers: { contentType: "application/json",
"Content-Type": "application/json" data: JSON.stringify({query: query}),
success: function (resp) {
let mesh = "gridid_" + _grid_res
let data2 = resp.data["occurrences_by_taxon_" + nodo]
//let data = resp["data"];
//let obj = data["get_mesh"]
console.log(data2)
let gridid = {gridid: []}
for (let i = 0; i < data2.length; i++) {
let mesh = "gridid_" + _grid_res
gridid.gridid.push(parseInt(data2[i][mesh]))
}
console.log(gridid)
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
} }
})
.then(resp => resp.json())
.then(resp => {
var a = gridid["gridid"];
var unique = a.filter(onlyUnique);
//console.log(unique)
//console.log(a)
let vec = []
for (let i = 0; i < unique.length; i++) {
let value = unique[i]
let arr = []
for (let j = 0; j < data2.length; j++)
if (data2[j][mesh] == value) {
arr.push(data2[j])
//console.log(arr)
}
var occurrences = arr.reduce(function (prev, cur) {
return prev + cur.individuosinfectados;
}, 0);
//console.log('Total:', occurrences);
let aux = new Object();
aux.gridid = value
aux.fp = 0
aux.tp = 0
aux.occ = occurrences
aux.target = "true"
aux.tp = 0
vec.push(aux)
}
$('#tuto_mapa_occ').loading('stop'); $('#tuto_mapa_occ').loading('stop');
...@@ -2191,14 +2289,14 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2191,14 +2289,14 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
$("#deletePointsButton").css("backgroundColor", "#fff"); $("#deletePointsButton").css("backgroundColor", "#fff");
_data_sp_occ = resp.data _data_sp_occ = vec
// asigna una referencia global para tener el resultado de la útima petición // asigna una referencia global para tener el resultado de la útima petición
// _data_sp_occ = data_sp // _data_sp_occ = data_sp
var num_cell_occ = resp.data.length var num_cell_occ = vec.length
var num_occ = 0 var num_occ = 0
_data_sp_occ.forEach(function(item){ _data_sp_occ.forEach(function (item) {
num_occ += parseInt(item["occ"]) num_occ += parseInt(item["occ"])
}) })
...@@ -2241,56 +2339,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2241,56 +2339,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
} }
// $('#hist_fecha_container').loading({
// stoppable: true
// });
// Histograma de años de la especie. Se comenta para analisis de covid19
// TODO: Hacerlo en fechas mensuales y diarias
// fetch(_url_zacatuche + "/niche/especie/getCountByYear", {
// method: "POST",
// body: JSON.stringify(data),
// headers: {
// "Content-Type": "application/json"
// }
// })
// .then(resp => resp.json())
// .then(resp => {
// if(resp.ok == true){
// var data = resp.data
// console.log(data)
// $('#hist_fecha_container').loading('stop');
// _histogram_module.createBarChartFecha(data);
// }
// })
// .catch(err => {
// // _VERBOSE ? console.log("error: " + textStatus) : _VERBOSE;
// _VERBOSE ? console.log(errorThrown) : _VERBOSE;
// _VERBOSE ? console.log(jqXHR.responseText) : _VERBOSE;
// });
} }
}
})
.catch(err => {
// _VERBOSE ? console.log("error: " + textStatus) : _VERBOSE;
_VERBOSE ? console.log(errorThrown) : _VERBOSE;
_VERBOSE ? console.log(jqXHR.responseText) : _VERBOSE;
$('#tuto_mapa_occ').loading('stop');
$('#hist_fecha_container').loading('stop');
$("#specie_next").css('visibility', 'hidden');
}); });
} }
...@@ -2351,7 +2401,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2351,7 +2401,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
"sfecha": _sin_fecha, "sfecha": _sin_fecha,
"sfosil": _con_fosil, "sfosil": _con_fosil,
"grid_res": grid_res_val, "grid_res": grid_res_val,
"footprint_region": footprint_region "footprint_region": footprint_region,
// "disease": disease
}, },
beforeSend: function (xhr) { beforeSend: function (xhr) {
xhr.setRequestHeader('X-Test-Header', 'test-value'); xhr.setRequestHeader('X-Test-Header', 'test-value');
......
...@@ -2776,6 +2776,10 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2776,6 +2776,10 @@ var res_display_module = (function (verbose, url_zacatuche) {
// console.log(data_body_request) // console.log(data_body_request)
//let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' AND longituddecimal ='+ long +' AND latituddecimal = ' + lat + '"){epitetoespecifico reino aniocolecta genero localidad sexo individuosinfectados gridid_'+ _grid_res + '}}'
if(isdeletecell){ if(isdeletecell){
fetch(_url_zacatuche + "/niche/especie/getIDCellFromCoordinates", { fetch(_url_zacatuche + "/niche/especie/getIDCellFromCoordinates", {
...@@ -2787,6 +2791,8 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2787,6 +2791,8 @@ var res_display_module = (function (verbose, url_zacatuche) {
}) })
.then(resp => resp.json()) .then(resp => resp.json())
.then(respuesta => { .then(respuesta => {
console.log(_taxones)
console.log(respuesta.data)
if (respuesta.ok) { if (respuesta.ok) {
...@@ -2820,42 +2826,27 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2820,42 +2826,27 @@ var res_display_module = (function (verbose, url_zacatuche) {
} }
else{ else{
fetch(_url_zacatuche + "/niche/especie/getCellOcurrences", { if (_AGENT_SELECTED == 'Hospederos')
method: "POST", var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
body: JSON.stringify(data_body_request), else if (_AGENT_SELECTED == 'Patogenos')
headers: { var _url = "http://10.90.0.42:4007/graphql/patogenos/"
"Content-Type": "application/json" else
} var _url = "http://10.90.0.42:4008/graphql/vectores/"
})
.then(resp => resp.json())
.then(respuesta => {
if (respuesta.ok) {
var data = respuesta.data;
_VERBOSE ? console.log(data) : _VERBOSE;
if (data.length > 0) {
var htmltable = _createOccTableFromData(data);
if (htmltable === "")
return;
_map_module_nicho.showPopUp(htmltable, [lat, long], true);
let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' AND longituddecimal ='+ long +' AND latituddecimal = ' + lat + '"){epitetoespecifico reino aniocolecta genero localidad sexo individuosinfectados gridid_'+ grid_res + '}}'
console.log(query)
} $.ajax({
method: "POST",
url: _url,
contentType: "application/json",
data: JSON.stringify({query: query}),
success: function (resp) {
console.log(resp)
} }
$('#map2').loading('stop');
}) })
.catch(err => {
$('#map2').loading('stop');
_VERBOSE ? console.log("error: " + err) : _VERBOSE;
});
} }
......
...@@ -6,7 +6,7 @@ lb_occ_min = Min. Celdas con ocurrencia (nj) ...@@ -6,7 +6,7 @@ lb_occ_min = Min. Celdas con ocurrencia (nj)
lb_apriori = A\u00f1adir a priori lb_apriori = A\u00f1adir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Incluir registros sin fecha lb_reg_fecha = Incluir registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
btn_regenerar = Regenerar btn_regenerar = Regenerar
lb_genera_red = Generar red lb_genera_red = Generar red
lb_info_slider = ATR: Atracci\u00f3n entre nodos lb_info_slider = ATR: Atracci\u00f3n entre nodos
......
...@@ -21,6 +21,7 @@ a_taxon = Grupos de interés ...@@ -21,6 +21,7 @@ a_taxon = Grupos de interés
a_clima = Climáticas a_clima = Climáticas
a_topo = Topográficas a_topo = Topográficas
a_raster = Raster a_raster = Raster
a_socio = Socioeconómicas
lb_occ = Ocurrencias grupo lb_occ = Ocurrencias grupo
lb_occ_celda = Área con ocurrencias del grupo (ni) lb_occ_celda = Área con ocurrencias del grupo (ni)
btn_variable = Escoge Grupo btn_variable = Escoge Grupo
...@@ -165,7 +166,7 @@ lb_fosil = Fósiles ...@@ -165,7 +166,7 @@ lb_fosil = Fósiles
lb_apriori = Añadir a priori lb_apriori = Añadir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Registros sin fecha lb_reg_fecha = Registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
labelFecha = {0} - {1} labelFecha = {0} - {1}
reload_map = Filtrar reload_map = Filtrar
see_species = Ver Grupo de interés see_species = Ver Grupo de interés
......
...@@ -21,6 +21,7 @@ a_taxon = Taxonomic ...@@ -21,6 +21,7 @@ a_taxon = Taxonomic
a_clima = Climatic a_clima = Climatic
a_topo = Others a_topo = Others
a_raster = Raster a_raster = Raster
a_socio = Socioeconómicas
lb_occ = Species occurrences lb_occ = Species occurrences
lb_occ_celda = Cells with species occurrences lb_occ_celda = Cells with species occurrences
btn_variable = Taxon btn_variable = Taxon
......
...@@ -164,7 +164,7 @@ lb_fosil = Fósiles ...@@ -164,7 +164,7 @@ lb_fosil = Fósiles
lb_apriori = Añadir a priori lb_apriori = Añadir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Registros sin fecha lb_reg_fecha = Registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
labelFecha = {0} - {1} labelFecha = {0} - {1}
reload_map = Filtrar reload_map = Filtrar
see_species = Ver especies see_species = Ver especies
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment