📄 checkrschenged.java
字号:
package net.aetherial.gis.our.auto.extend;
import java.util.Vector;
import net.aetherial.gis.surface.ItemValue;
import java.io.File;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.our.FrameOur;
import net.aetherial.gis.our.auto.CutByRS;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import net.aetherial.gis.our.auto.Auto;
import net.aetherial.gis.dataType.WptType;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class CheckRSChenged
extends Auto {
private String n = "";
public CheckRSChenged(FrameOur fo) {
this.setFrameOur(fo);
}
// private void check
private void scanAllTrack(String fileName) {
String ln = "\r\n";
Node[] trks = ItemValue.getTracks();
Node[] wpts = null;
if (trks == null) {
return;
}
for (int i = 0; i < trks.length; i++) {
/**
* 只有在水泥或者油路路面发生变化时这个类才起作用
*/
if (this.isRSGood(ItemValue.getTracksStructure(trks[i]))) {
if (this.isHaveRSChangedToBad(trks[i])) {
if (! (fileName.equals(""))) {
n = n + "在文件<" + fileName + "中,航迹:[" + ItemValue.getTracksName(trks[i]) +
"] 路面变化点." + ln;
wpts = this.getRSChangedWpts(trks[i]);
for (int j = 0; j < wpts.length; j++) {
n = n + "影响上报计划:" + ItemValue.getWaypointName(wpts[j]) +" ";
}
n = n + ln;
}
else {
n = n + "航迹:[" + ItemValue.getTracksName(trks[i]) + "] 路面变化点." + ln;
}
}
}
}
}
/**
* 如果有路面变化成差的路况时,返回true
*/
private boolean isHaveRSChangedToBad(Node trk) {
Node[] wpts = ItemValue.getTracksWaypoint(trk);
if (wpts == null) {
return false;
}
else {
for (int i = 0; i < wpts.length; i++) {
if (this.isChangeToBad(ItemValue.getWaypointRS(wpts[i]))) {
return true;
}
}
return false;
}
}
/**
* 得到影响计划的航点
*/
private Node[] getRSChangedWpts(Node trk) {
Node[] wpts = ItemValue.getTracksWaypoint(trk);
if (wpts == null) {
return null;
}
else {
Vector ve = new Vector();
for (int i = 0; i < wpts.length; i++) {
if (this.isChangeToBad(ItemValue.getWaypointRS(wpts[i]))) {
ve.addElement(wpts[i]);
}
}
if (ve.size() > 0) {
wpts = new Node[ve.size()];
for (int i = 0; i < wpts.length; i++) {
wpts[i] = (Node) ve.elementAt(i);
}
return wpts;
}else{
return null;
}
}
}
/**
* 判断是否是水泥路面或者油路路面
* 因为只有在水泥或者油路路面发生变化时这个类才起作用
*/
private boolean isRSGood(String rs) {
if (rs.equals(WptType.RS_A_good)) {
return true;
}
else if (rs.equals(WptType.RS_B_good)) {
return true;
}
else {
return false;
}
}
/**
* 路面类型是否变化成砂石或者土路
*/
private boolean isChangeToBad(String rsChange) {
if (rsChange.equals(WptType.RS_A_good + WptType.RS_To + WptType.RS_C_bad)) {
return true;
}
else if (rsChange.equals(WptType.RS_B_good + WptType.RS_To +
WptType.RS_C_bad)) {
return true;
}
else if (rsChange.equals(WptType.RS_A_good + WptType.RS_To +
WptType.RS_D_bad)) {
return true;
}
else if (rsChange.equals(WptType.RS_B_good + WptType.RS_To +
WptType.RS_D_bad)) {
return true;
}
else {
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -