📄 comparewith2006plan.java
字号:
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 + -