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

📄 pickup8.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.our.auto.extend;

import net.aetherial.gis.our.auto.Auto;
import net.aetherial.gis.our.FrameOur;
import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import java.util.Vector;
import net.aetherial.gis.dataType.GPSFile;
import java.io.File;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.dataType.WptType;

/**
 * <p>Title: </p>
 *
 * <p>Description:提取公里数大于8的数据 </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: </p>
 *
 * @author 王爱国
 * @version 1.0
 */
public class Pickup8  extends Auto{
  /**
   * 条件标准
   */
  public final double stand = 8000.0;

  private String directory = "";
  /**
   * 构造函数
   */
  public Pickup8(FrameOur fo) {
    this.setFrameOur(fo);
  }
  public void setSavedDirectory(String path){
    this.directory = path;
  }

  /**
   * 选取所有航迹
   */
  public void pickUpAllFile() {
    if (super.input == null) {
      print("super.input == null");
      return;
    }
    for (int i = 0; i < this.input.length; i++) {
      this.open(this.input[i]);
      print(this.input[i].getName() + "************************************************");
      this.isSatisfy();
      if (this.isHaveTrk()) {
        this.saveMemory(this.directory + this.input[i].getName());
      }
      this.setMemoryReset();
    }
    //this.msg("提取完毕!\r\n 生成的文件在:"+ this.directory + "目录下。");
  }

  private String checkIsHaveNoCondition() {
    /**
     * 检查是否有不满足条件的航迹
     * 检查航迹里是否含有油路,或者水泥路
     */
    String n = "";
    String type = "";
    Node[] alltrk = ItemValue.getTracks();
    if (alltrk == null) {
      return ItemValue.fileName + "文件没有航迹!";
    }
    for (int i = 0; i < alltrk.length; i++) {
      type = ItemValue.getTracksType(alltrk[i]);
      System.out.println(ItemValue.getTracksName(alltrk[i]) + ":" + type);
      if ( (type.equals(WptType.RS_A_good)) || (type.equals(WptType.RS_B_good))) {
        n = n + ItemValue.getTracksT1(alltrk[i]) + ",";
        n = n + ItemValue.getTracksT2(alltrk[i]) + ",";
        n = n + ItemValue.getTracksT3(alltrk[i]) + ",";
        n = n + ItemValue.getTracksName(alltrk[i]) + ",";
        n = n + "\r\n路面类型是:" + ItemValue.getTracksType(alltrk[i]) + ".\r\n\r\n";
      }
    }
    return n;
  }
  /**
   * 检查所有的文件,包括文件夹下的文件
   */
  public void checkAll(){
    if (super.input == null) {
     print("super.input == null");
     return;
   }
   String n = "";
   for (int i = 0; i < this.input.length; i++) {
     this.open(this.input[i]);
     print(this.input[i].getName() + "************************************************");
     n = n + this.checkIsHaveNoCondition();
     this.setMemoryReset();
   }
   this.createLog(this.directory + "log\\log.txt",n);
   this.msg("检查完毕!\r\n 生成的文件在:"+ this.directory + "目录下。");

  }
  /**
   * 是否满足条件
   * 即公里数大于8
   */
  private void isSatisfy(){
    double licheng = 0.0;
    //String licheng = "";
    String type = "";
    Node[] trks = ItemValue.getTracks();
    if (trks == null) {
      System.out.println("航迹数目为空!");
      return;
    }else{
      for (int i = 0; i < trks.length; i++) {
        licheng = ItemValue.getTracksDistance(trks[i]);
        type = ItemValue.getTracksType(trks[i]);
        /**
         * 如果是里程小于8,或者是水泥、油路,都删除
         */
        if((licheng<this.stand)||(type.equals(WptType.RS_A_good)) || (type.equals(WptType.RS_B_good))){
          System.out.println("删除:" + ItemValue.getTracksName(trks[i]));
          deleteHisWpts(trks[i]);
          ItemValue.removeTrack(trks[i]);
        }
      }
    }
  }
  /**
   * 删除其他航点
   */
  private void deleteOthersWpt(){

  }
  /**
   * 删除该行机的行点
   */
  private void deleteHisWpts(Node trk){
    Node[] hisWpts = ItemValue.getTracksWaypoint(trk);
    if (hisWpts != null) {
      for (int i = 0; i < hisWpts.length; i++) {
        ItemValue.removeWaypoint(hisWpts[i]);
      }
    }
  }
  /**
   * 判断操作之后,文件中时候还含有行机
   * 如果有行机,返回true
   * 没有行机,返回false
   */
  private boolean isHaveTrk(){
    Node[] trks = ItemValue.getTracks();
    if (trks == null) {
      return false;
    }
    else {
      return true;
    }
  }
  private void createDirectory(String direct){
    File f = new File(direct);
    if(!(f.exists())){
      f.mkdir();
    }
  }
  public void createLog(String logFile,String logString){
    this.createDirectory((new File(logFile)).getParent());
    CreateFile cf = new CreateFile(new File(logFile));
    cf.setEncode("GB2312");
    cf.memoryToFile(logString);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -