📄 pickup8.java
字号:
package net.aetherial.gis.our.auto.extend;
import net.aetherial.gis.our.auto.Auto;
import net.aetherial.gis.our.FrameOur;
import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import java.util.Vector;
import net.aetherial.gis.dataType.GPSFile;
import java.io.File;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.dataType.WptType;
/**
* <p>Title: </p>
*
* <p>Description:提取公里数大于8的数据 </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author 王爱国
* @version 1.0
*/
public class Pickup8 extends Auto{
/**
* 条件标准
*/
public final double stand = 8000.0;
private String directory = "";
/**
* 构造函数
*/
public Pickup8(FrameOur fo) {
this.setFrameOur(fo);
}
public void setSavedDirectory(String path){
this.directory = path;
}
/**
* 选取所有航迹
*/
public void pickUpAllFile() {
if (super.input == null) {
print("super.input == null");
return;
}
for (int i = 0; i < this.input.length; i++) {
this.open(this.input[i]);
print(this.input[i].getName() + "************************************************");
this.isSatisfy();
if (this.isHaveTrk()) {
this.saveMemory(this.directory + this.input[i].getName());
}
this.setMemoryReset();
}
//this.msg("提取完毕!\r\n 生成的文件在:"+ this.directory + "目录下。");
}
private String checkIsHaveNoCondition() {
/**
* 检查是否有不满足条件的航迹
* 检查航迹里是否含有油路,或者水泥路
*/
String n = "";
String type = "";
Node[] alltrk = ItemValue.getTracks();
if (alltrk == null) {
return ItemValue.fileName + "文件没有航迹!";
}
for (int i = 0; i < alltrk.length; i++) {
type = ItemValue.getTracksType(alltrk[i]);
System.out.println(ItemValue.getTracksName(alltrk[i]) + ":" + type);
if ( (type.equals(WptType.RS_A_good)) || (type.equals(WptType.RS_B_good))) {
n = n + ItemValue.getTracksT1(alltrk[i]) + ",";
n = n + ItemValue.getTracksT2(alltrk[i]) + ",";
n = n + ItemValue.getTracksT3(alltrk[i]) + ",";
n = n + ItemValue.getTracksName(alltrk[i]) + ",";
n = n + "\r\n路面类型是:" + ItemValue.getTracksType(alltrk[i]) + ".\r\n\r\n";
}
}
return n;
}
/**
* 检查所有的文件,包括文件夹下的文件
*/
public void checkAll(){
if (super.input == null) {
print("super.input == null");
return;
}
String n = "";
for (int i = 0; i < this.input.length; i++) {
this.open(this.input[i]);
print(this.input[i].getName() + "************************************************");
n = n + this.checkIsHaveNoCondition();
this.setMemoryReset();
}
this.createLog(this.directory + "log\\log.txt",n);
this.msg("检查完毕!\r\n 生成的文件在:"+ this.directory + "目录下。");
}
/**
* 是否满足条件
* 即公里数大于8
*/
private void isSatisfy(){
double licheng = 0.0;
//String licheng = "";
String type = "";
Node[] trks = ItemValue.getTracks();
if (trks == null) {
System.out.println("航迹数目为空!");
return;
}else{
for (int i = 0; i < trks.length; i++) {
licheng = ItemValue.getTracksDistance(trks[i]);
type = ItemValue.getTracksType(trks[i]);
/**
* 如果是里程小于8,或者是水泥、油路,都删除
*/
if((licheng<this.stand)||(type.equals(WptType.RS_A_good)) || (type.equals(WptType.RS_B_good))){
System.out.println("删除:" + ItemValue.getTracksName(trks[i]));
deleteHisWpts(trks[i]);
ItemValue.removeTrack(trks[i]);
}
}
}
}
/**
* 删除其他航点
*/
private void deleteOthersWpt(){
}
/**
* 删除该行机的行点
*/
private void deleteHisWpts(Node trk){
Node[] hisWpts = ItemValue.getTracksWaypoint(trk);
if (hisWpts != null) {
for (int i = 0; i < hisWpts.length; i++) {
ItemValue.removeWaypoint(hisWpts[i]);
}
}
}
/**
* 判断操作之后,文件中时候还含有行机
* 如果有行机,返回true
* 没有行机,返回false
*/
private boolean isHaveTrk(){
Node[] trks = ItemValue.getTracks();
if (trks == null) {
return false;
}
else {
return true;
}
}
private void createDirectory(String direct){
File f = new File(direct);
if(!(f.exists())){
f.mkdir();
}
}
public void createLog(String logFile,String logString){
this.createDirectory((new File(logFile)).getParent());
CreateFile cf = new CreateFile(new File(logFile));
cf.setEncode("GB2312");
cf.memoryToFile(logString);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -