ASM #283 - MPE GroupEditPrecipStns updated to fix issue with selecting gages when filtered out with Reverse Point slider.
Change-Id: I9743b37adfb8658d40458c00204ad87c50c10528 Former-commit-id:d960e4bba1
[formerlyd960e4bba1
[formerly b10de7db401a9d4199c9eed98e41913a87b4b64a]] Former-commit-id:0260da784d
Former-commit-id:88dcd9b784
This commit is contained in:
parent
9d178a199f
commit
6ddc4a0a1a
2 changed files with 56 additions and 44 deletions
|
@ -36,7 +36,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 17, 2009 snaples Initial creation
|
||||
* May 06, 2011 #8994 jpiatt Added set precipitation value as zero
|
||||
*
|
||||
* Sep 04, 2014 283 cgobs Fixed possible selection of filtered-out gages
|
||||
* </pre>
|
||||
*
|
||||
* @author snaples
|
||||
|
@ -45,15 +45,13 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
|
||||
public class GroupEditPrecipStns {
|
||||
|
||||
private DailyQcUtils dqc = DailyQcUtils.getInstance();
|
||||
|
||||
public void group_edit_precip_stations(ReferencedCoordinate rcoord) {
|
||||
int time_pos;
|
||||
int i, m, k;
|
||||
float lat, lon;
|
||||
double testdist, maxdist;
|
||||
int isave;
|
||||
int max_stations = dqc.precip_stations.size();
|
||||
int max_stations = DailyQcUtils.precip_stations.size();
|
||||
Coordinate coord = new Coordinate();
|
||||
|
||||
try {
|
||||
|
@ -64,7 +62,7 @@ public class GroupEditPrecipStns {
|
|||
}
|
||||
|
||||
if (MPEDisplayManager.pcpn_time_step == 0) {
|
||||
time_pos = dqc.pcpn_time;
|
||||
time_pos = DailyQcUtils.pcpn_time;
|
||||
} else {
|
||||
time_pos = 4;
|
||||
|
||||
|
@ -78,47 +76,61 @@ public class GroupEditPrecipStns {
|
|||
* mouse click point.
|
||||
*/
|
||||
for (i = 0; i < max_stations; i++) {
|
||||
if (dqc.pdata[dqc.pcpn_day].stn[i].frain[time_pos].data < 0) {
|
||||
if (DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[i].frain[time_pos].data < 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dqc.pdata[dqc.pcpn_day].stn[i].frain[time_pos].data < QcPrecipOptionsDialog
|
||||
//precip filter
|
||||
if (DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[i].frain[time_pos].data < QcPrecipOptionsDialog
|
||||
.getPointFilterValue()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//reverse precip filter
|
||||
if (DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[i].frain[time_pos].data > QcPrecipOptionsDialog
|
||||
.getPointFilterReverseValue()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//elevation filter
|
||||
if (DailyQcUtils.precip_stations.get(i).elev < DailyQcUtils.elevation_filter_value)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
/* Retrieve the latitude and longitude of this station. */
|
||||
lat = dqc.precip_stations.get(i).lat;
|
||||
lon = dqc.precip_stations.get(i).lon;
|
||||
lat = DailyQcUtils.precip_stations.get(i).lat;
|
||||
lon = DailyQcUtils.precip_stations.get(i).lon;
|
||||
|
||||
if (dqc.precip_stations.get(i).tip == 0
|
||||
&& dqc.gage_char[0] == -1) {
|
||||
if (DailyQcUtils.precip_stations.get(i).tip == 0
|
||||
&& DailyQcUtils.gage_char[0] == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dqc.precip_stations.get(i).tip == 1
|
||||
&& dqc.gage_char[1] == -1) {
|
||||
if (DailyQcUtils.precip_stations.get(i).tip == 1
|
||||
&& DailyQcUtils.gage_char[1] == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (m = 0; m < dqc.tsmax; m++) {
|
||||
for (m = 0; m < DailyQcUtils.tsmax; m++) {
|
||||
|
||||
if ((dqc.precip_stations.get(i).parm.substring(3, 5)
|
||||
.equalsIgnoreCase(dqc.ts[m].abr))
|
||||
&& dqc.dflag[m + 1] == 1) {
|
||||
if ((DailyQcUtils.precip_stations.get(i).parm.substring(3, 5)
|
||||
.equalsIgnoreCase(DailyQcUtils.ts[m].abr))
|
||||
&& DailyQcUtils.dflag[m + 1] == 1) {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (m == dqc.tsmax) {
|
||||
if (m == DailyQcUtils.tsmax) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (m = 0; m < 9; m++) {
|
||||
|
||||
if (m == dqc.pdata[dqc.pcpn_day].stn[i].frain[time_pos].qual
|
||||
&& dqc.qflag[m] == 1) {
|
||||
if (m == DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[i].frain[time_pos].qual
|
||||
&& DailyQcUtils.qflag[m] == 1) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -143,19 +155,19 @@ public class GroupEditPrecipStns {
|
|||
return;
|
||||
}
|
||||
|
||||
if (dqc.pdata[dqc.pcpn_day].stn[isave].frain[time_pos].qual != GroupEditStationsDialog.group_qual) {
|
||||
if (DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[time_pos].qual != GroupEditStationsDialog.group_qual) {
|
||||
QcPrecipOptionsDialog.renderGridsBtn.setEnabled(true);
|
||||
}
|
||||
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[time_pos].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[time_pos].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
|
||||
if (GroupEditStationsDialog.group_qual == 1
|
||||
&& time_pos == 4
|
||||
&& dqc.pdata[dqc.pcpn_day].stn[isave].sflag[time_pos] == 1) {
|
||||
&& DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].sflag[time_pos] == 1) {
|
||||
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[time_pos].data = dqc.pdata[dqc.pcpn_day].stn[isave].rrain[time_pos].data;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[time_pos].data = DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].rrain[time_pos].data;
|
||||
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].sflag[time_pos] = -1;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].sflag[time_pos] = -1;
|
||||
|
||||
}
|
||||
|
||||
|
@ -164,7 +176,7 @@ public class GroupEditPrecipStns {
|
|||
|| GroupEditStationsDialog.group_qual == 0 || GroupEditStationsDialog.group_qual == 8)) {
|
||||
|
||||
for (k = 0; k < 4; k++) {
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[k].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[k].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -176,12 +188,12 @@ public class GroupEditPrecipStns {
|
|||
* and QC codes to "Manual"
|
||||
*/
|
||||
if (GroupEditStationsDialog.group_qual == 2) {
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[time_pos].data = 0.0f;
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[time_pos].qual = 2;
|
||||
if ((dqc.pdata[dqc.pcpn_day].stn[isave].frain[4].data - 0.0) < 0.0001) {
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[time_pos].data = 0.0f;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[time_pos].qual = 2;
|
||||
if ((DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[4].data - 0.0) < 0.0001) {
|
||||
for (k = 0; k < 4; k++) {
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[k].data = 0.0f;
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[k].qual = 2;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[k].data = 0.0f;
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[k].qual = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -190,23 +202,23 @@ public class GroupEditPrecipStns {
|
|||
|
||||
if (time_pos != 4
|
||||
&& GroupEditStationsDialog.group_qual == 1
|
||||
&& dqc.pdata[dqc.pcpn_day].stn[isave].frain[4].qual != 5
|
||||
&& dqc.pdata[dqc.pcpn_day].stn[isave].frain[4].qual != 4) {
|
||||
dqc.pdata[dqc.pcpn_day].stn[isave].frain[4].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
&& DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[4].qual != 5
|
||||
&& DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[4].qual != 4) {
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].stn[isave].frain[4].qual = (short) GroupEditStationsDialog.group_qual;
|
||||
}
|
||||
|
||||
for (k = 0; k < 5; k++) {
|
||||
|
||||
if (k < 4) {
|
||||
time_pos = dqc.pcpn_day * 4 + k;
|
||||
time_pos = DailyQcUtils.pcpn_day * 4 + k;
|
||||
} else {
|
||||
time_pos = 40 + dqc.pcpn_day;
|
||||
time_pos = 40 + DailyQcUtils.pcpn_day;
|
||||
}
|
||||
|
||||
dqc.pcp_in_use[time_pos] = -1;
|
||||
DailyQcUtils.pcp_in_use[time_pos] = -1;
|
||||
|
||||
if (dqc.pdata[dqc.pcpn_day].used[k] != 0) {
|
||||
dqc.pdata[dqc.pcpn_day].used[k] = 2;
|
||||
if (DailyQcUtils.pdata[DailyQcUtils.pcpn_day].used[k] != 0) {
|
||||
DailyQcUtils.pdata[DailyQcUtils.pcpn_day].used[k] = 2;
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -283,9 +283,9 @@ public class DailyQcUtils {
|
|||
|
||||
public static String type = "QME ";
|
||||
|
||||
public Ts[] ts;
|
||||
public static Ts[] ts;
|
||||
|
||||
public int tsmax = 0;
|
||||
public static int tsmax = 0;
|
||||
|
||||
public Maps mean_areal_precip_global[];
|
||||
|
||||
|
@ -445,13 +445,13 @@ public class DailyQcUtils {
|
|||
|
||||
public static int[] dflag = new int[10];
|
||||
|
||||
public int[] qflag = new int[10];
|
||||
public static int[] qflag = new int[10];
|
||||
|
||||
public float pxtemp = 1.0f;
|
||||
|
||||
public int dmvalue = (int) (1.0 * 100 * 3.28 / .55);
|
||||
|
||||
public int elevation_filter_value = 0;
|
||||
public static int elevation_filter_value = 0;
|
||||
|
||||
public int temperature_filter_value = -50;
|
||||
|
||||
|
@ -474,7 +474,7 @@ public class DailyQcUtils {
|
|||
/* Function which associates the Gage QC edit levels with a value. */
|
||||
public int funct[] = { 8, 0, 6, 2, 3, 4, 5, 1, 7, 9 };
|
||||
|
||||
public int gage_char[] = new int[2];
|
||||
public static int gage_char[] = new int[2];
|
||||
|
||||
public static int plot_view = 0;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue