unitetrack.java
来自「基于Java的地图数据管理软件。使用MySQL数据库管理系统。」· Java 代码 · 共 90 行
JAVA
90 行
package net.aetherial.gis.jiaotongbu.input.analyse;
import net.aetherial.gis.cutAndLink.cut.UniteAllTrack;
import net.aetherial.gis.jiaotongbu.input.publicuse.Permanence;
import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import net.aetherial.gis.output.toLd.cut.RelateWPTAfterCut;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class UniteTrack {
/**
* 该文件是否可以继续处理
*/
private boolean prepareOK = true;
public UniteTrack() {
}
public void unite() {
Node[] trks = ItemValue.getTracks();
if (trks == null || trks.length == 1) {
return;
}
UniteAllTrack unite = new UniteAllTrack();
if (!unite.isAllTrackNumberSame()) {
Permanence.addLog("[合并错误]:\t所有航迹不同编号");
this.prepareOK = false;
return;
}
else {
Node tempNode = null;
try {
tempNode = unite.createLinkedTrk();
}
catch (Exception ex) {
Permanence.addLog("[合并错误]:\t不能组成一条航迹,共有" +
unite.getConcatenatedTrack().size() + "段");
this.prepareOK = false;
return;
}
if (tempNode != null) {
/**
* 已组成一条航迹了
*/
(new RelateWPTAfterCut()).relateWptToTrk(ItemValue.getWaypoint(),
tempNode);
ItemValue.setTracks_ld_Number(tempNode,"");
this.deleteOtherTracksAndWaypoints(tempNode);
}
// ItemValue.removeTrack(tempNode);
}
}
/**
* 删除掉其他航迹和航点
*/
private void deleteOtherTracksAndWaypoints(Node trk) {
Node[] trks = ItemValue.getTracks();
for (int i = 0; trks != null && i < trks.length; i++) {
if (trks[i] != trk) {
ItemValue.removeTrack(trks[i]);
}
}
String id = ItemValue.getTracksID(trk);
Node[] wpts = ItemValue.getWaypoint();
for (int i = 0;wpts != null && i < wpts.length; i++) {
if (!(id.equals(ItemValue.getWaypointTracksID(wpts[i])))) {
ItemValue.removeWaypoint(wpts[i]);
}
}
}
public boolean isPrepareOK() {
return prepareOK;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?