ASM #283 - MPE GroupEditPrecipStns updated to fix issue with selecting gages when filtered out with Reverse Point slider.

Change-Id: I9743b37adfb8658d40458c00204ad87c50c10528

Former-commit-id: 86b4054251 [formerly d960e4bba1] [formerly 86b4054251 [formerly d960e4bba1] [formerly 0260da784d [formerly b10de7db401a9d4199c9eed98e41913a87b4b64a]]]
Former-commit-id: 0260da784d
Former-commit-id: 3c53be0a28 [formerly 88dcd9b784]
Former-commit-id: 6ddc4a0a1a
This commit is contained in:
steve.naples 2015-01-27 18:36:49 +00:00
parent bfa932f1e9
commit 1baaa49edf
2 changed files with 56 additions and 44 deletions

View file

@ -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;

View file

@ -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;