Skip to content
Snippets Groups Projects
Commit 690a96a3 authored by zdenko.vuk@ijs.si's avatar zdenko.vuk@ijs.si
Browse files

Merge branch 'master' into 8-map-updates

parents d717c072 31099899
Branches
No related tags found
No related merge requests found
......@@ -25,11 +25,20 @@
<button style="left:10px" id="erase_run_btn" (click)="erase_run();">Erase</button>
<button style="left:10px" id="show_run_btn" (click)="printPnts();">Show</button>
</div>
<div class="row" style="top:60px;position:absolute;left:30px">
New GeoJSON: <select id="newgeojson_combo" style="width:250px"></select>
<button style="left:10px" id="show_newgeojson" (click)="printNewGeoJSON();">Show</button>
</div>
</div>
<div class="control_box button_box" id="control_help" style='width:300px;'>
<button (click)="openInstructions()"> Help</button>
<button id="update_runs_btn" (click)="update_runs();">Update</button>
<!--
<div class="row" style="padding-left:15px">
<button style="width:139px" (click)="openInstructions()"> Help</button>
<button style="width:139px" id="update_runs_btn" (click)="update_runs();">Update</button>
</div>-->
<button (click)="openInstructions()"> Help</button>
<button id="update_runs_btn" (click)="update_runs();">Update</button>
<button id="upload_geojson_btn" (click)="upload_geojson();">Upload GEOJSON to Storage</button>
<button id="download_run_btn" (click)="downloadPnts();">Download</button>
</div>
......@@ -141,4 +150,26 @@
</div>
</div>
</div>
</div>
<div class="modal" id="newNewGeoJSONModal" style='display:none;z-index:2000'>
<div class="modal-content" style="width:80%;height:170px">
<button type="button" class="close" data-dismiss="modal" aria-label="Close" (click)="closenewNewGeoJSONModal();">
<span aria-hidden="true">&times;</span>
</button>
<div class="modal-header">
</div>
<div class="modal-body" style="width:100%;height:100%">
<div class="form-title text-center mb-2" style="width:100%;height:95%">
<div id='top-right' style='height:100%;width:100%;margin-top:5px'>
<div class="row" id="loginModalTitle2"><strong>Process New GeoJSON:</strong></div>
<div class="row" id="nameNGJ">name</div>
</div>
</div>
</div>
<div style="position:absolute;bottom:10px;">
<button (click)="process_newgeojson();">Submit</button>
</div>
</div>
</div>
\ No newline at end of file
......@@ -60,6 +60,8 @@ export class NoiseCompComponent implements OnInit {
public filename:String;
public trafficFilename:String;
public map_names = [];
public newgeojson_names = [];
public newgeojsons = [];
public model_names = [];
public traffic_names = [];
public static newSquareLayer;
......@@ -286,6 +288,27 @@ export class NoiseCompComponent implements OnInit {
//document.getElementById("mapasCB").value = -1;
}
getNewGeoJSONS0(data,ttype){
var select = document.getElementById("newgeojson_combo");
select.innerHTML = "";
console.log('getNewGeoJSONS0::: data='+JSON.stringify(data));
this.newgeojson_names = [];
for(var i = 0; i < data.length; i++) {
console.log("getNewGeoJSONS0::: data["+i+"]="+JSON.stringify(data[i]));
var opt = data[i];
var el = document.createElement("option");
el.textContent = i+": "+opt["name"];
this.newgeojson_names.push(opt["name"]);
this.newgeojsons.push(opt);
el.value = i+"";
console.log("getNewGeoJSONS0::: value="+el.value);
select.appendChild(el);
};
if ( ttype === 1 ){
this.getMapsFromDB(ttype);
}
console.log("getNewGeoJSONS0::: success data="+JSON.stringify(data));
}
getModelsFromDB0(data, ttype){
console.log('getModelsFromDB0='+JSON.stringify(data));
......@@ -482,6 +505,66 @@ export class NoiseCompComponent implements OnInit {
}
}
printNewGeoJSON(){
let sel = document.getElementById('newgeojson_combo') as HTMLSelectElement;
console.log('printNewGeoJSON::: value =\t'+sel.value);
console.log('printNewGeoJSON::: valueI=\t'+parseInt(sel.value));
if ( parseInt(sel.value) !== -1 ){
let ps = this.pnts[this.gidx];
let vl = this.vals63[this.gidx];
if ( ps != null ){
console.log('printPnts::: ps.length='+ps.length);
}
if ( vl != null ){
console.log('printPnts::: vl.length='+vl.length);
}
let max = this.getMax(vl);
console.log('printPnts::: max(vl)='+max);
let qs = this.getQuantiles(vl);
console.log('db.js.printPnts::: qs='+qs);
for(let j=0;j<this.marks.length;j++){
this.map.removeLayer(this.marks[j]);
}
if ( this.legend instanceof L.Control ){
let ddiv = document.getElementById('legend_div');
ddiv.parentNode.removeChild(ddiv);
ddiv.innerHTML = '';
this.legend.remove;
}
this.marks =[];
if ( ps != null ){
for(let j=0;j<ps.length;j++){
let mark = L.circle(ps[j], {radius: 2, color: this.getClr2(vl,j,qs), opacity:.5}).addTo(this.map);
this.marks.push(mark);
}
}
this.legend = new L.Control({position: 'bottomleft'});
this.legend.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend');
div.id = 'legend_div';
div.style.background = '#C0C0C0DD';
div.style.width = '150px';
div.style.paddingTop = '10px';
div.style.paddingBottom = '20px';
let labels = [];
div.innerHTML +=
labels.push('<div style="width:25px;height:12px;padding-left:10px;white-space:nowrap;"><div style="width:25px;height:20px;background:#303030"></div><label style="position:absolute;left:45px;top:12px"> &leq; '+qs[0].toFixed(2)+'</label></div>');
for (let i = 0; i < qs.length-1; i++) {
let vv = qs[i].toFixed(2) + ' &harr; ' + qs[i+1].toFixed(2);
div.innerHTML +=
labels.push('<div style="width:25px;height:12px;padding-left:10px;white-space:nowrap;"><div style="width:25px;height:20px;background:' + NoiseCompComponent.colors[i] + '"></div><label style="position:absolute;left:45px;top:' + (12 + 30 * (i+1)) + 'px">' + vv + '</label></div>');
}
let i = qs.length-1;
div.innerHTML +=
labels.push('<div style="width:25px;height:12px;padding-left:10px;white-space:nowrap;"><div style="width:25px;height:20px;background:' + NoiseCompComponent.colors[i] + '"></div><label style="position:absolute;left:45px;top:' + (12 + 30 * (i+1)) + 'px"> &geq; '+qs[i].toFixed(2)+'</label></div>');
div.innerHTML = labels.join('<br>');
return div;
};
this.legend.addTo(this.map);
}
}
getModelsFromDB(ttype){
this.getNoiseComputationService.getModels().subscribe(res => this.getModelsFromDB0(res,ttype), err => console.log("getModelsFromDB::: ERROR: err="+err));
}
......@@ -494,6 +577,10 @@ export class NoiseCompComponent implements OnInit {
this.getNoiseComputationService.getMaps().subscribe(res => this.getMapsFromDB0(res,ttype), err => console.log("getMapsFromDB::: ERROR: err="+err));
}
getNewGeoJSONsFromDB(ttype){
this.getNoiseComputationService.getNewGeoJSONs().subscribe(res => this.getNewGeoJSONS0(res,ttype), err => console.log("getMapsFromDB::: ERROR: err="+err));
}
new_map(){
document.getElementById('newMapModal').style.display = 'block';
let ele1 = document.getElementById('map_combo') as HTMLSelectElement;
......@@ -508,7 +595,8 @@ export class NoiseCompComponent implements OnInit {
let bbox = JSON.parse(ele1.options[ele1.selectedIndex].value.split('#')[1]);
let sw = [];
sw.push(bbox[1]);
sw.push(bbox[0]);
sw.push(bbox
[0]);
let ne = [];
ne.push(bbox[3]);
ne.push(bbox[2]);
......@@ -543,7 +631,7 @@ export class NoiseCompComponent implements OnInit {
}
update_runs(){
this.getMapsFromDB(1);
this.getNewGeoJSONsFromDB(1);
}
closeNewMapModal(){
......@@ -640,10 +728,21 @@ export class NoiseCompComponent implements OnInit {
let name = "noise_computation_"+sel.value+"_"+dt.getTime();
console.log("upload_geojson::: name="+name);
this.putGeoJSONService.putGeoJSON(geojson,name,this.city).subscribe(
res => {alert('geojson '+name+' added to storage.'); console.log("putGeoJSONService: SUCESS::: res="+JSON.stringify(res))},
res => {
document.getElementById('nameNGJ').innerHTML = name;
document.getElementById('newNewGeoJSONModal').style.display = "block";
/*
alert("\<html\>\<body\>\<h1\>this is alert heading\</h1\>\</html\>\</body\>");
alert("geojson "+name+" added to storage.\n"+
"<button id='process_geojson_btn' (click)='process_geojson();'>Process GEOJSON</button>"
);
console.log("putGeoJSONService: SUCESS::: res="+JSON.stringify(res))
*/
},
err => {alert('ERROR!!!\ngeojson '+name+' NOT added to storage.');console.log("putGeoJSONService: ERROR::: err="+JSON.stringify(err));}
);
}
clear_newmap(){
if ( NoiseCompComponent.newSquareLayer != null ){
NoiseCompComponent.newmap.removeLayer(NoiseCompComponent.newSquareLayer);
......@@ -652,4 +751,14 @@ export class NoiseCompComponent implements OnInit {
let ele:HTMLInputElement = document.getElementById("newMapName") as HTMLInputElement;
ele.value ="";
}
process_newgeojson(){
let filename = document.getElementById('nameNGJ').innerHTML;
console.log("process_newgeojson::: filename="+filename);
console.log("process_newgeojson::: should call to end point");
}
closenewNewGeoJSONModal(){
document.getElementById("newNewGeoJSONModal").style.display = "none";
}
}
......@@ -20,6 +20,10 @@ export class GetNoiseComputationService{
return this.http.get<any>(`${this.apiURL}/webresources/getData/getMaps`);
}
getNewGeoJSONs(): Observable<any> {
return this.http.get<any>(`${this.apiURL}/webresources/getData/getNewGeoJSONs`);
}
getTraffics(): Observable<any> {
return this.http.get<any>(`${this.apiURL}/webresources/getData/getTraffics`);
}
......@@ -44,6 +48,7 @@ export class GetNoiseComputationService{
let content = JSON.stringify(input);
return this.http.put<any>(`${this.apiURL}/webresources/putCommands/createModel`,content);
}
eraseModel(input:any): Observable<any> {
let content = JSON.stringify(input);
return this.http.put<any>(`${this.apiURL}/webresources/putCommands/eraseModel`,content);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment