📄 countnocut.java
字号:
package net.aetherial.gis.our.auto.count.count;
import net.aetherial.gis.surface.ItemValue;
import java.io.File;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.our.FrameOur;
import net.aetherial.gis.our.auto.CutByRS;
import org.w3c.dom.Node;
import net.aetherial.gis.dataType.WptType;
import net.aetherial.gis.our.auto.Auto;
import net.aetherial.gis.our.auto.count.frame.FrameCount;
import net.aetherial.gis.dataType.TrackType;
/**
* <p>Title: </p>
*
* <p>Description: 计算分类的里程,没有切割开</p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class CountNoCut
extends Auto {
private String directory = "";
protected FrameCount fc = null;
private final double TOKEN = 3;
protected double dis_SHUI_NI_all_than_3 = 0.0, dis_YOU_LU_all_than_3 = 0.0,
dis_SHUI_NI_all_less_3 = 0.0, dis_YOU_LU_all_less_3 = 0.0,
dis_SHA_SHI_all = 0.0, dis_TU_LU_all = 0.0;
protected double dis_SHUI_NI_than_3 = 0.0, dis_YOU_LU_than_3 = 0.0,
dis_SHUI_NI_less_3 = 0.0, dis_YOU_LU_less_3 = 0.0, dis_SHA_SHI = 0.0,
dis_TU_LU = 0.0;
protected String trkType = "";
protected double trkDis = 0.0;
private CutByRS cut = null;
public CountNoCut(FrameOur fo, FrameCount fc) {
this.setFrameOur(fo);
this.fc = fc;
}
protected void println(String message) {
if (fc != null) {
fc.println(message);
}
System.out.println(message);
}
/**
* 计算多个文件
*/
public void countAllFile() {
if (super.input == null) {
this.println("选择路径没有文件!super.input == null");
return;
}
for (int i = 0; i < this.input.length; i++) {
this.open(this.input[i]);
this.println("打开文件" + this.input[i].getName() +
"...............");
this.countAFile();
this.printAFile();
this.setMemoryReset();
}
this.println("");
this.println("****************************************************");
this.println("* 共计:" +
ItemValue.getRound(this.dis_SHUI_NI_all_than_3 +
this.dis_SHUI_NI_all_less_3 +
this.dis_YOU_LU_all_than_3 +
this.dis_YOU_LU_all_less_3 +
this.dis_SHA_SHI_all +
this.dis_TU_LU_all, 1) +
"公里");
this.println("* 1 . 水泥路面:大于3米 " +
ItemValue.getRound(this.dis_SHUI_NI_all_than_3, 1) +
"公里");
this.println("* 2 . 水泥路面:小于3米 " +
ItemValue.getRound(this.dis_SHUI_NI_all_less_3, 1) +
"公里");
this.println("* 3 . 油路路面:大于3米 " +
ItemValue.getRound(this.dis_YOU_LU_all_than_3, 1) +
"公里");
this.println("* 4 . 油路路面:小于3米 " +
ItemValue.getRound(this.dis_YOU_LU_all_less_3, 1) +
"公里");
this.println("* 5 . 砂石路面: " + ItemValue.getRound(this.dis_SHA_SHI_all, 1) +
"公里");
this.println("* 6 . 土路路面: " + ItemValue.getRound(this.dis_TU_LU_all, 1) +
"公里");
this.println("****************************************************");
}
public String getLicheng(){
return ""
+ ItemValue.getRound(this.dis_SHUI_NI_all_than_3 +
this.dis_SHUI_NI_all_less_3, 1) +"\t"
+ ItemValue.getRound(this.dis_YOU_LU_all_than_3 +
this.dis_YOU_LU_all_less_3, 1) +"\t"
+ ItemValue.getRound(this.dis_SHA_SHI_all, 1) +"\t"
+ ItemValue.getRound(dis_TU_LU_all, 1) +"\t";
}
/**
* 计算一个文件里的航迹,用protected,是为了以后写CountByCut时能够继承该类的方法
*/
protected void countAFile() {
cut = new CutByRS(this.getFrameOur());
cut.getTrackRSToThis();
Node[] trks = ItemValue.getTracks();
double with = 0.0;
if (trks == null) {
this.println("文件中航迹为空!");
return;
}
for (int i = 0; i < trks.length; i++) {
/**
* 这条航迹的路面类型
*/
trkType = ItemValue.getTracksType(trks[i]);
/**
* 这条航迹的里程
*/
trkDis = ItemValue.getRound(ItemValue.getTracksDistance(trks[i]) / 1000,
1);
if (trkType.equals(TrackType.RS_A_good)) {
try {
with = Double.parseDouble(ItemValue.getTracksWidth(trks[i]));
}
catch (NumberFormatException ex1) {
with = 3.5;
}
if (with > this.TOKEN) {
this.dis_SHUI_NI_than_3 = this.dis_SHUI_NI_than_3 + trkDis;
}
else {
this.dis_SHUI_NI_less_3 = this.dis_SHUI_NI_less_3 + trkDis;
}
// this.dis_SHUI_NI = this.dis_SHUI_NI + trkDis;
}
else if (trkType.equals(TrackType.RS_B_good)) {
try {
with = Double.parseDouble(ItemValue.getTracksWidth(trks[i]));
}
catch (NumberFormatException ex) {
with = 3.5;
}
if (with > this.TOKEN) {
this.dis_YOU_LU_than_3 = this.dis_YOU_LU_than_3 + trkDis;
}
else {
this.dis_YOU_LU_less_3 = this.dis_YOU_LU_less_3 + trkDis;
}
}
else if (trkType.equals(TrackType.RS_C_type)) {
this.dis_SHA_SHI = this.dis_SHA_SHI + trkDis;
}
else if (trkType.equals(TrackType.RS_D_bad)) {
this.dis_TU_LU = this.dis_TU_LU + trkDis;
}
}
}
protected void printAFile() {
//打印
this.println("* 该文件小计:" +
ItemValue.getRound(this.dis_SHUI_NI_than_3 +
this.dis_SHUI_NI_less_3 + this.dis_SHA_SHI +
this.dis_YOU_LU_than_3 +
this.dis_YOU_LU_less_3 + +this.dis_TU_LU, 1) +
"公里");
this.println("* 1 . 水泥路面: 大于3米 " +
ItemValue.getRound(this.dis_SHUI_NI_than_3, 1) +
"公里");
this.println("* 2 . 水泥路面: 小于3米 " +
ItemValue.getRound(this.dis_SHUI_NI_less_3, 1) +
"公里");
this.println("* 3 . 油路路面: 大于3米 " +
ItemValue.getRound(this.dis_YOU_LU_than_3, 1) + "公里");
this.println("* 4 . 油路路面: 小于3米 " +
ItemValue.getRound(this.dis_YOU_LU_less_3, 1) + "公里");
this.println("* 5 . 砂石路面: " + ItemValue.getRound(this.dis_SHA_SHI, 1) +
"公里");
this.println("* 6 . 土路路面: " + ItemValue.getRound(this.dis_TU_LU, 1) + "公里");
this.println("");
//汇总
this.dis_SHUI_NI_all_than_3 = this.dis_SHUI_NI_than_3 +
this.dis_SHUI_NI_all_than_3;
this.dis_YOU_LU_all_than_3 = this.dis_YOU_LU_than_3 + dis_YOU_LU_all_than_3;
this.dis_SHUI_NI_all_less_3 = this.dis_SHUI_NI_less_3 +
this.dis_SHUI_NI_all_less_3;
this.dis_YOU_LU_all_less_3 = this.dis_YOU_LU_less_3 + dis_YOU_LU_all_less_3;
this.dis_SHA_SHI_all = this.dis_SHA_SHI + dis_SHA_SHI_all;
this.dis_TU_LU_all = this.dis_TU_LU + dis_TU_LU_all;
//清空
this.dis_SHUI_NI_than_3 = 0.0;
this.dis_YOU_LU_than_3 = 0.0;
this.dis_SHUI_NI_less_3 = 0.0;
this.dis_YOU_LU_less_3 = 0.0;
this.dis_SHA_SHI = 0.0;
this.dis_TU_LU = 0.0;
}
public void setSavedDirectory(String path) {
this.directory = path;
}
public double getDis_YOU_LU_all_than_3() {
return dis_YOU_LU_all_than_3;
}
public double getDis_YOU_LU_all_less_3() {
return dis_YOU_LU_all_less_3;
}
public double getDis_TU_LU_all() {
return dis_TU_LU_all;
}
public double getDis_SHUI_NI_all_than_3() {
return dis_SHUI_NI_all_than_3;
}
public double getDis_SHUI_NI_all_less_3() {
return dis_SHUI_NI_all_less_3;
}
public double getDis_SHA_SHI_all() {
return dis_SHA_SHI_all;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -