📄 wptstrack.java
字号:
package net.aetherial.gis.publicuse.wpt;
import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import java.util.Vector;
import net.aetherial.gis.publicuse.WptTrackDistance;
import net.aetherial.gis.our.auto.check.repeattrk.TrackRectangle;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class WPTsTrack {
private static double fanwei = 4;
public WPTsTrack() {
}
/**
* 得到航点相近的航迹
*/
public static Node[] getWptNearTrack(Node wpt){
Node[] trks = ItemValue.getTracks();
if (trks == null) {
return new Node[0];
}
Vector nearTrks = new Vector();
for (int i = 0; i < trks.length; i++) {
if (WptTrackDistance.getWptToTrackDis(wpt,trks[i]) < TrackRectangle.NEAR_DISTANCE * fanwei) {
nearTrks.add(trks[i]);
}
}
trks = new Node[nearTrks.size()];
nearTrks.copyInto(trks);
return trks;
}
/**
* 得到最近的航迹
*/
public static Node getWptMostNearTrack(Node wpt){
Node[] trks = ItemValue.getTracks();
// Vector nearTrks = new Vector();
double mindis = Double.MAX_VALUE,dis;
Node trkTemp = null;
for (int i = 0;trks != null && i < trks.length; i++) {
dis = WptTrackDistance.getWptToTrackDis(wpt,trks[i]);
if (dis < mindis) {
mindis = dis;
trkTemp = trks[i];
}
}
return trkTemp;
}
/**
* 得到最近的航迹
*/
public static Node getWptMostNearTrack(Node wpt,Node[] trks){
// Node[] trks = ItemValue.getTracks();
// Vector nearTrks = new Vector();
double mindis = Double.MAX_VALUE,dis;
Node trkTemp = null;
for (int i = 0;trks != null && i < trks.length; i++) {
dis = WptTrackDistance.getWptToTrackDis(wpt,trks[i]);
if (dis < mindis) {
mindis = dis;
trkTemp = trks[i];
}
}
return trkTemp;
}
/**
* 给定多少米
*/
public static void setFanwei(double meter) {
WPTsTrack.fanwei = meter / 20;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -