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

📄 bubaobiaoge.java

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

import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.colligate.QSD;
import org.w3c.dom.Node;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.ql;
import java.util.Enumeration;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.sd;
import net.aetherial.gis.surface.ItemValue;
import java.text.DecimalFormat;
import java.util.Vector;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.dk;
import net.aetherial.gis.dataType.WptType;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.excel.ReadQiaoLiang;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.excel.SheetItem;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class BubaoBiaoge
    extends QSD {

  public BubaoBiaoge() {
  }

  private Node[] getTypeNodes(String type, Node[] allNodes) {
    Vector temp = new Vector();
    for (int i = 0; allNodes != null && i < allNodes.length; i++) {
      if (ItemValue.getWaypointKP(allNodes[i]).equals(type)) {
        temp.add(allNodes[i]);
      }
    }
    Node[] nodes = new Node[temp.size()];
    temp.copyInto(nodes);
    return nodes;
  }

  private Node[] getQLNodes(){
    return this.getTypeNodes(WptType.W3QiaoLiang,ItemValue.getWaypoint());
  }

  private Node[] getSDNodes(){
    return this.getTypeNodes(WptType.W4SuiDao,ItemValue.getWaypoint());
  }

  private Node[] getDKNodes(){
    return this.getTypeNodes(WptType.W6DuKou,ItemValue.getWaypoint());
  }

  protected String getQLInfo(String excelFilePath, String x, String y) {
      if(QLReader == null){
        SheetItem si = new SheetItem();
        si.setQiaoLiang(excelFilePath);
        QLReader = new ReadQiaoLiang(si.getSheet_ql());
      }else{
        QLReader.setRow(0);
      }
      for (int i = 0; !QLReader.isEmptyrow() && i < 500; i++) {
        String y1 = QLReader.getQiaoLiangLatitude();
        String x1 = QLReader.getQiaoLiangLongitude();
        if (y1.length() > 3 && y.indexOf(y1.substring(0, y1.length() - 1)) > -1 &&
            x1.length() > 3 && x.indexOf(x1.substring(0, x1.length() - 1)) > -1) {
          String n = "";
          n = n + "\t" + QLReader.getXiangzhenName() + "\t" + QLReader.getQiaoLiangName();

          n = n + "\t" + QLReader.getQiaoLiangKongShu() + "\t" + QLReader.getQiaoLiangKuaDu();
          n = n + "\t" + QLReader.getQiaoLiangBianMa() + "\t" + QLReader.getQiaoLiangJianChenShiJian();
          n = n + "\t" + QLReader.getQiaoLiangZaiHe() + "\t" + QLReader.getQiaoLiangFenLei();
          n = n + "\t" + QLReader.getQiaoLiangWeiQiao() + "\t" + QLReader.getQiaoLiangBeizhu();
        }

        QLReader.moveNext();
      }

      return "";
  }



  public void getGPSLXData() {
    System.out.println("开始生成桥梁、隧道、渡口信息...");
    this.Q = this.Q + ql.getLXHeaderString() + "\r\n";
    this.S = this.S + sd.getLXHeaderString() + "\r\n";
    this.D = this.D + dk.getLXHeaderString() + "\r\n";
    Enumeration keys = ItemValue.namedTracks.keys();

    java.text.DecimalFormat formater = new DecimalFormat("000");
    java.text.DecimalFormat zhuangHaoFormater = new DecimalFormat("#.###");
    double changDu = 0, zhuangHao = 0;
    double dis = 0, length = 0;
    while (keys.hasMoreElements()) {

      zhuangHao = 0;
      changDu = 0;
      String key = (String) keys.nextElement();
      Vector nodes = (Vector) ItemValue.namedTracks.get(key);
      int q, s, d, h;
      q = s = d = h = 0;
      for (int i = 0; nodes != null && i < nodes.size(); i++) {
        h = 0;
        zhuangHao = 0;
        length = ItemValue.getTracksDistance( (Node) nodes.get(i)) / 1000;
        Node[] wpts = ItemValue.getTracksWaypoint( (Node) nodes.get(i));

        dis = changDu + length;

        for (int w = 0; wpts != null && w < wpts.length; w++) {
          String type = ItemValue.getWaypointKP(wpts[w]);
          zhuangHao = changDu +
              ItemValue.getDistanceWPTAtTrk(wpts[w], (Node) nodes.get(i));
          if (zhuangHao < 0) {
            zhuangHao = 0;
          }
//          zhuangHao = changDu + length/2;
          if ("桥梁".equals(type)) {
            System.out.print("发现桥梁: " + ItemValue.getWaypointName(wpts[w]));
            String x = ItemValue.getWaypointX(wpts[w]);
            String y = ItemValue.getWaypointY(wpts[w]);

            ql qiao = new ql();
            if (fillQLInfo(qlxx, qiao, x, y)) {
              q++;
              System.out.println(" 填写第" + q + "座桥梁信息");
              qiao.setBianMa( (String) ItemValue.numberedTracks.get(key) +
                             getLuDuanBianHao( (Node) nodes.get(i)) + "L" +
                             formater.format(q) + "0");
              qiao.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
                                   getLuDuanBianHao( (Node) nodes.get(i)));
              qiao.setJinDu(x);
              qiao.setWeiDu(y);
              qiao.setBianHao("L" + formater.format(q) + "0");
              qiao.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[q] +
                               "桥");
              qiao.setZhongXingZhuangHao(zhuangHaoFormater.format(zhuangHao));
              if (adder != null) {
                qiao.set0_4ColumnAdder(adder.getAdder());
                qiao.set0_5ColumnAdderPhone(adder.getAdderPhone());
                qiao.set0_6ColumnAsses(adder.getAsses());
                qiao.set0_7ColumnAssesPhone(adder.getAssesPhone());
                qiao.set0_8ColumnDept(adder.getDept());
                qiao.set0_9ColumnDeptPrin(adder.getDeptPrin());
              }
              this.Q += qiao.toString() + "\r\n";
            }
            else {
              System.out.println(" 没有发现桥梁信息, 跳过");
            }
          }
          if ("隧道".equals(type)) {
            System.out.print("发现隧道: " + ItemValue.getWaypointName(wpts[w]));

            String x = ItemValue.getWaypointX(wpts[w]);
            String y = ItemValue.getWaypointY(wpts[w]);
            sd sui = new sd();

            if (fillSDInfo(sdxx, sui, x, y)) {
              s++;
              System.out.println(" 填写第" + s + "座隧道信息");
              sui.setBianMa( (String) ItemValue.numberedTracks.get(key) +
                            getLuDuanBianHao( (Node) nodes.get(i)) + "U" +
                            formater.format(s) + "0");
              sui.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
                                  getLuDuanBianHao( (Node) nodes.get(i)));
              sui.setJinDu(x);
              sui.setWeiDu(y);
              sui.setBianHao("U" + formater.format(s) + "0");
              sui.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[s] +
                              "隧");
              sui.setQiDianZhuangHao(zhuangHaoFormater.format(zhuangHao));
              if (adder != null) {

                sui.set0_4ColumnAdder(adder.getAdder());
                sui.set0_5ColumnAdderPhone(adder.getAdderPhone());
                sui.set0_6ColumnAsses(adder.getAsses());
                sui.set0_7ColumnAssesPhone(adder.getAssesPhone());
                sui.set0_8ColumnDept(adder.getDept());
                sui.set0_9ColumnDeptPrin(adder.getDeptPrin());

              }
              this.S += sui.toString() + "\r\n";
            }
            else {
              h++;
              System.out.println(" 没有发现隧道信息, 跳过");
            }

            ;
          }
          if ("渡口".equals(type)) {
            System.out.print("发现渡口: " + ItemValue.getWaypointName(wpts[w]));

            String x = ItemValue.getWaypointX(wpts[w]);
            String y = ItemValue.getWaypointY(wpts[w]);
            dk du = new dk();

            if (fillDKInfo(dkxx, du, x, y)) {
              d++;
              System.out.println(" 填写第" + d + "座渡口信息");
              du.setBianMa( (String) ItemValue.numberedTracks.get(key) +
                           getLuDuanBianHao( (Node) nodes.get(i)) + "D" +
                           formater.format(d) + "0");
              du.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
                                 getLuDuanBianHao( (Node) nodes.get(i)));
              du.setJinDu(x);
              du.setWeiDu(y);
              du.setBianHao("D" + formater.format(d) + "0");
              du.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[d] +
                             "渡");
              du.setQiDianZhuangHao(zhuangHaoFormater.format(zhuangHao));
              if (adder != null) {
                du.set0_4ColumnAdder(adder.getAdder());
                du.set0_5ColumnAdderPhone(adder.getAdderPhone());
                du.set0_6ColumnAsses(adder.getAsses());
                du.set0_7ColumnAssesPhone(adder.getAssesPhone());
                du.set0_8ColumnDept(adder.getDept());
                du.set0_9ColumnDeptPrin(adder.getDeptPrin());

              }
              this.D += du.toString() + "\r\n";
            }
            else {
              System.out.println(" 没有发现渡口信息, 跳过");
            }
          }
          if ("涵洞".equals(type)) {
            h++;
          }
        }
        ItemValue.hanDongTracks.put(nodes.get(i), new Integer(h));
        changDu = dis;
//        if(zhuangHao > changDu) zhuangHao = changDu;
      }
    }
  }

}

⌨️ 快捷键说明

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