⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkrschenged.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 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 + -