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

📄 comparewith2006plan.java

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

import net.aetherial.gis.our.auto.*;
import net.aetherial.gis.our.ToShape;
import java.io.*;
import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import net.aetherial.gis.our.FrameOur;
import net.aetherial.gis.our.duibi.readXLS.ReadKeYanBaoGao;

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

  public String[][] plan = new String[1497][15];

  public CompareWith2006Plan() {

  }

  private boolean contain(String key, Node[] points) {
    if (key.length() > 0) {
      for (int i = 0; points != null && i < points.length; i++) {
        String name = ItemValue.getWaypointName(points[i]);
        if (name.length() > 0) {
          if (key.indexOf(name) > -1 ||
              name.indexOf(key) > -1) {
            return true;
          }
        }
      }
    }
    return false;
  }

  public void startCompare(String city, String county) throws Exception {
    if (super.input == null || input.length < 1) {
      System.out.println("super.input == null");
      return;
    }
    for (int i = 0; i < this.input.length; i++) {
      this.open(this.input[i]);
    }
    java.io.PrintStream bw = new java.io.PrintStream(new java.io.
        FileOutputStream(
            new File("H:\\2006计划核对\\result.csv"), true));

    for (int j = 0; j < plan.length; j++) {
      String[] road = plan[j];
      String name, start, end, pass1, pass2, lengthStr, l2LengthStr,
          l3LengthStr, l4LengthStr;
      if (city.equals(road[1]) && (county.indexOf(road[2]) > -1)) {
        name = road[6];
        start = road[7];
        pass1 = road[8];
        pass2 = road[9];
        end = road[10];
        lengthStr = road[11];
        l2LengthStr = road[12];
        l3LengthStr = road[13];
        l4LengthStr = road[14];
        for (int l = 0; l < road.length; l++) {
          bw.print(",\"" + road[l] + "\"");
        }
        Node[] trk = ItemValue.getTracks();
        if (trk == null) {
          this.print("没有找到: " + city + "/" + county + " 内的航迹!");
          return;
        }
        else {

          for (int k = 0; k < trk.length; k++) {
            Node[] wpt = ItemValue.getTracksWaypoint(trk[k]);
            String trackName = ItemValue.getTracksName(trk[k]); ;
            double trackLength = ItemValue.getTracksDistance(trk[k]);
            int matchName = trackName.indexOf(name) > -1 ||
                name.indexOf(trackName) > -1 ? 9 : 0;
            int matchStartPoint = contain(start, wpt) ? 3 : 0;
            int mathcEndPoint = contain(end, wpt) ? 3 : 0;
            int matchPass1 = contain(pass1, wpt) ? 2 : 0;
            int matchPass2 = contain(pass2, wpt) ? 2 : 0;

            if (matchStartPoint + mathcEndPoint + matchPass1 + matchPass2 +
                matchName > 4) {

              bw.print(",\"" + trackName + "\"");
              bw.print(",\"" + trackLength + "\"");
            }

          }

        }
        bw.println();
      }
    }

  }

  public void run(File planFile, String gpsFolderName) throws Exception {
    if (planFile == null) {
      return;
    }
    String planFileName = planFile.getAbsolutePath();

    ReadKeYanBaoGao rx = new ReadKeYanBaoGao();
    rx.setSheet(planFileName, "Sheet1");
    rx.read();
    String gpsFileName = gpsFolderName + "\\" + rx.getMinCheng() + ".gps";
    String gpsOutput = gpsFileName.replaceAll(".gps", ".csv");
    ExtractTrackInfo cp = new ExtractTrackInfo();
    if (rx.getMinCheng().length() > 0) {
      cp.extract(new String[] {gpsFileName, rx.getShi() + "_GPS路段明细表.csv",
                 rx.getShi() + "\t" +
                 rx.getXian() + "\t" +
                 rx.getSuoZaiDi()
                 .replaceAll("(", "")
                 .replaceAll(")", "")
                 .replaceAll("\\(", "")
                 .replaceAll("\\)", "")
                 .replaceAll(" ", "")
                 .replaceAll(" ", "")
                 .replaceAll(" ", "")
                 .replaceAll(rx.getXian(), "")
                 .replaceAll(rx.getShi(), "")

                 + "\t" +
                 rx.getMinCheng()
      });
      String result = rx.getShi();
      java.io.PrintStream bw = new java.io.PrintStream(new java.io.
          FileOutputStream(
              new File(result + "_汇总表.csv"), true));
      bw.println("" +
                 rx.getShi() + "\t" +
                 rx.getXian() + "\t" +
                 rx.getSuoZaiDi()
                 .replaceAll("(", "")
                 .replaceAll(")", "")
                 .replaceAll("\\(", "")
                 .replaceAll("\\)", "")
                 .replaceAll(" ", "")
                 .replaceAll(" ", "")
                 .replaceAll(" ", "").
                 replaceAll(rx.getXian(), "")
                 .replaceAll(rx.getShi(), "") + "\t" +
                 rx.getMinCheng() + "\t" +
                 rx.getChangDu() + "\t" +
                 (cp.isEmpty() ? "1" : " ") + "\t" +
                 (cp.isAll() ? "1" : " ") + "\t" +
                 (cp.isAll() ? "" + cp.getFuHeLiChen() : " ") + "\t" +
                 (cp.isPart() && !cp.isAll() ? "1" : " ") + "\t" +
                 (cp.isPart() && !cp.isAll() ? "" + cp.getFuHeLiChen() : " ") +
                 "\t" +
                 (cp.isNone() ? "1" : " ") + "\t" +
                 (cp.isNone() ? "" + cp.getLength() : " ") + "\t"
          );
      bw.close();
      cp.getFrameOur().reset();
      cp.getFrameOur().dispose();
      String[][] tracksInfo = cp.getTracksInfo();
      tracksInfo[0][0] = rx.getMinCheng();
      tracksInfo[1][0] = rx.getSuoZaiDi().replaceAll(" ",
          "").replaceAll(rx.getShi(), "").
          replaceAll(rx.getXian(), "");
      tracksInfo[2][0] = rx.getXingZhi();
      tracksInfo[3][0] = rx.getTuJinXZC();
      tracksInfo[4][0] = rx.getDengJi();
      tracksInfo[5][0] = rx.getChangDu();
      tracksInfo[6][0] = rx.getLuJi();
      tracksInfo[7][0] = rx.getLuMian();
      tracksInfo[8][0] = rx.getLeiXing();
      tracksInfo[9][0] = rx.getQiDian();
      tracksInfo[10][0] = rx.getZhongDian();
      tracksInfo[11][0] = rx.getKongZhiDian();
      String content[] = new String[] {
          "   <Row ss:AutoFitHeight=\"0\" ss:Height=\"50.0625\" ss:StyleID=\"s27\">",
          "    <Cell ss:MergeAcross=\"7\" ss:StyleID=\"s34\"><Data ss:Type=\"String\">安徽省农村公路建设项目可研审查与GPS核对成果表</Data></Cell>",
          "   </Row>",
          "   <Row ss:AutoFitHeight=\"0\" ss:StyleID=\"s29\">",
          "    <Cell ss:MergeAcross=\"1\" ss:StyleID=\"s35\"><ss:Data ss:Type=\"String\"",
          "      xmlns=\"http://www.w3.org/TR/REC-html40\">" + rx.getShi() +
          "</ss:Data></Cell>",
          "    <Cell ss:StyleID=\"s30\"><Data ss:Type=\"String\">市</Data></Cell>",
          "    <Cell ss:StyleID=\"s30\"><ss:Data ss:Type=\"String\"",
          "      xmlns=\"http://www.w3.org/TR/REC-html40\">" + rx.getXian() +
          "</ss:Data></Cell>",
          "    <Cell ss:StyleID=\"s30\"><Data ss:Type=\"String\">县(区)</Data></Cell>",
          "    <Cell ss:StyleID=\"s28\"/>",
          "    <Cell ss:StyleID=\"s30\"/>",
          "    <Cell ss:StyleID=\"s28\"/>",
          "   </Row>",
          "   <Row ss:AutoFitHeight=\"0\" ss:Height=\"24.9375\">",
          "    <Cell ss:MergeAcross=\"2\" ss:MergeDown=\"1\" ss:StyleID=\"s23\"><Data",
          "      ss:Type=\"String\">可研专家审查内容</Data></Cell>",
          "    <Cell ss:MergeAcross=\"3\" ss:StyleID=\"s23\"><Data ss:Type=\"String\">GPS调查成果比对数值</Data></Cell>",
          "    <Cell ss:MergeDown=\"1\" ss:StyleID=\"s23\"><Data ss:Type=\"String\">差值及主要原因</Data></Cell>",
          "   </Row>",
          "   <Row ss:AutoFitHeight=\"0\">",
          "    <Cell ss:Index=\"4\" ss:StyleID=\"s23\"><Data ss:Type=\"String\">路段一</Data></Cell>",
          "    <Cell ss:StyleID=\"s23\"><Data ss:Type=\"String\">路段二</Data></Cell>",
          "    <Cell ss:StyleID=\"s23\"><Data ss:Type=\"String\">路段三</Data></Cell>",
          "    <Cell ss:StyleID=\"s23\"><Data ss:Type=\"String\">路段四</Data></Cell>",
          "   </Row>",
          "   <Row ss:AutoFitHeight=\"0\" ss:Height=\"24.9375\">",
          "    <Cell ss:MergeAcross=\"1\" ss:StyleID=\"s23\"><Data ss:Type=\"String\">可研项目名称</Data></Cell>",
          "    <Cell ss:StyleID=\"s24\"><Data ss:Type=\"String\">" +
          tracksInfo[0][0] + "</Data></Cell>",
          "    <Cell ss:StyleID=\"s24\"><Data ss:Type=\"String\">" +
          tracksInfo[0][1] + "</Data></Cell>",
          "    <Cell ss:StyleID=\"s24\"><Data ss:Type=\"String\">" +
          tracksInfo[0][2] + "</Data></Cell>",
          "    <Cell ss:StyleID=\"s24\"><Data ss:Type=\"String\">" +
          tracksInfo[0][3] + "</Data></Cell>",
          "    <Cell ss:StyleID=\"s24\"><Data ss:Type=\"String\">" +
          tracksInfo[0][4] + "</Data></Cell>",

⌨️ 快捷键说明

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