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

📄 bmatrepeate.java

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

import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import net.aetherial.gis.surface.ItemValue;
import java.util.StringTokenizer;
import java.util.Vector;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class BmAtRepeate {
  private CreateBianma cb = new CreateBianma();
  public BmAtRepeate() {
  }

  public static boolean isGradeMore_NumberLess(String primalBianma,
                                               String beCompareBianma) {
    primalBianma = primalBianma.toUpperCase().trim();
    beCompareBianma = beCompareBianma.toUpperCase().trim();
    if (primalBianma.startsWith("C") &&
        (beCompareBianma.startsWith("Y") || beCompareBianma.startsWith("X") ||
         beCompareBianma.startsWith("S") || beCompareBianma.startsWith("G"))) {
      return true;
    }
    else if (primalBianma.startsWith("Y") &&
             (beCompareBianma.startsWith("X") || beCompareBianma.startsWith("S") ||
              beCompareBianma.startsWith("G"))) {
      return true;
    }
    else if (primalBianma.startsWith("X") &&
             (beCompareBianma.startsWith("S") || beCompareBianma.startsWith("G"))) {
      return true;
    }
    else if (primalBianma.startsWith("S") && beCompareBianma.startsWith("G")) {
      return true;
    }
    else {
      long pnum = 0;
      long bnum = 0;
      try {
        pnum = Long.parseLong(primalBianma.substring(1, 4));
        bnum = Long.parseLong(beCompareBianma.substring(1, 4));
      }
      catch (NumberFormatException ex) {
      }
      if (pnum > bnum) {
        return true;
      }
      else {
        return false;
      }
    }
  }

  /**
   * 将指定的航迹顺序编码
   */
  public void initBianmaAppointment(Node[] trks) {
    this.initBianmaIncludeRepeat(trks);
  }

  /**
   * 将指定的航迹顺序编码
   */
  public void initBianmaAppointment(Vector trks) {
    Node[] temp = new Node[trks.size()];
    trks.copyInto(temp);
    this.initBianmaIncludeRepeat(temp);
  }

  /**
   * 初始化编码,包括其中有编码不能改动的可能
   */
  private void initBianmaIncludeRepeat(Node[] trks) {
    String temp = "";
    for (int i = 0; trks != null && i < trks.length; i++) {
      if (!cb.isTrackHasBeenBM(trks[i])) {
        temp = cb.getSameLxsLxLdNewNumber(trks[i]);
        ItemValue.setTracks_ld_Number(trks[i],
                                      temp);

//        System.out.println(ItemValue.getTracksName(trks[i]) +  temp);
      }
    }
//    System.exit(0);
  }

  /**
   * S228||002||S228||001
   */
  public void correctRepeateBianma(Node trk, Node ref) throws Exception{
    String temp = cb.getSameLxsLxLdNewNumber(ref);
    String trkLdbm = ItemValue.getTracks_ld_original_number(trk);
    StringTokenizer st = new StringTokenizer(trkLdbm, "||");
    st.nextToken();
    st.nextToken();
    String newBianma = temp + "||" + st.nextToken() + "||" + st.nextToken();
    ItemValue.setTracks_ld_Number(trk, newBianma);
  }

  public void setTrkRepeatTo(Node source, Node target) {
    if (!cb.isTrackHasBeenBM(target)) {
      ItemValue.setTracks_ld_Number(target, cb.getSameLxsLxLdNewNumber(target));
    }
    if (!cb.isTrackHasBeenBM(source)) {
      ItemValue.setTracks_ld_Number(source, cb.getSameLxsLxLdNewNumber(source));
    }
//    String s_number = ItemValue.getTracksNumber(source);
//    String t_number = ItemValue.getTracksNumber(target);
//    if (this.isGradeMore_NumberLess(s_number, t_number)) {
//      cb.setBMToRepeatLD(source, target);
//    }
//    else {
//      cb.setBMToRepeatLD(target, source);
//    }
    cb.setBMToRepeatLD(source, target);
  }

  public void clearLdBianmaAtCut(Node trk) {
    ItemValue.setTracks_ld_Number(trk, "");
  }

  public boolean isTrkCanBeCut(Node trk) {
    return cb.isTrackCanBeCut(trk);
  }

  /**
   * 运用在没有进行任何操作时设置编码
   */
  public void initBianmaAtFree() {
    Node[] trks = ItemValue.getTracks();
    cb.initBM(trks);
  }
}

⌨️ 快捷键说明

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