📄 bubaobiaoge.java
字号:
package net.aetherial.gis.jiaotongbu.output.publicuse;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.colligate.QSD;
import org.w3c.dom.Node;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.ql;
import java.util.Enumeration;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.sd;
import net.aetherial.gis.surface.ItemValue;
import java.text.DecimalFormat;
import java.util.Vector;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.txt.dk;
import net.aetherial.gis.dataType.WptType;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.excel.ReadQiaoLiang;
import net.aetherial.gis.jiaotongbu.outputJTB.txtOutput.module.excel.SheetItem;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class BubaoBiaoge
extends QSD {
public BubaoBiaoge() {
}
private Node[] getTypeNodes(String type, Node[] allNodes) {
Vector temp = new Vector();
for (int i = 0; allNodes != null && i < allNodes.length; i++) {
if (ItemValue.getWaypointKP(allNodes[i]).equals(type)) {
temp.add(allNodes[i]);
}
}
Node[] nodes = new Node[temp.size()];
temp.copyInto(nodes);
return nodes;
}
private Node[] getQLNodes(){
return this.getTypeNodes(WptType.W3QiaoLiang,ItemValue.getWaypoint());
}
private Node[] getSDNodes(){
return this.getTypeNodes(WptType.W4SuiDao,ItemValue.getWaypoint());
}
private Node[] getDKNodes(){
return this.getTypeNodes(WptType.W6DuKou,ItemValue.getWaypoint());
}
protected String getQLInfo(String excelFilePath, String x, String y) {
if(QLReader == null){
SheetItem si = new SheetItem();
si.setQiaoLiang(excelFilePath);
QLReader = new ReadQiaoLiang(si.getSheet_ql());
}else{
QLReader.setRow(0);
}
for (int i = 0; !QLReader.isEmptyrow() && i < 500; i++) {
String y1 = QLReader.getQiaoLiangLatitude();
String x1 = QLReader.getQiaoLiangLongitude();
if (y1.length() > 3 && y.indexOf(y1.substring(0, y1.length() - 1)) > -1 &&
x1.length() > 3 && x.indexOf(x1.substring(0, x1.length() - 1)) > -1) {
String n = "";
n = n + "\t" + QLReader.getXiangzhenName() + "\t" + QLReader.getQiaoLiangName();
n = n + "\t" + QLReader.getQiaoLiangKongShu() + "\t" + QLReader.getQiaoLiangKuaDu();
n = n + "\t" + QLReader.getQiaoLiangBianMa() + "\t" + QLReader.getQiaoLiangJianChenShiJian();
n = n + "\t" + QLReader.getQiaoLiangZaiHe() + "\t" + QLReader.getQiaoLiangFenLei();
n = n + "\t" + QLReader.getQiaoLiangWeiQiao() + "\t" + QLReader.getQiaoLiangBeizhu();
}
QLReader.moveNext();
}
return "";
}
public void getGPSLXData() {
System.out.println("开始生成桥梁、隧道、渡口信息...");
this.Q = this.Q + ql.getLXHeaderString() + "\r\n";
this.S = this.S + sd.getLXHeaderString() + "\r\n";
this.D = this.D + dk.getLXHeaderString() + "\r\n";
Enumeration keys = ItemValue.namedTracks.keys();
java.text.DecimalFormat formater = new DecimalFormat("000");
java.text.DecimalFormat zhuangHaoFormater = new DecimalFormat("#.###");
double changDu = 0, zhuangHao = 0;
double dis = 0, length = 0;
while (keys.hasMoreElements()) {
zhuangHao = 0;
changDu = 0;
String key = (String) keys.nextElement();
Vector nodes = (Vector) ItemValue.namedTracks.get(key);
int q, s, d, h;
q = s = d = h = 0;
for (int i = 0; nodes != null && i < nodes.size(); i++) {
h = 0;
zhuangHao = 0;
length = ItemValue.getTracksDistance( (Node) nodes.get(i)) / 1000;
Node[] wpts = ItemValue.getTracksWaypoint( (Node) nodes.get(i));
dis = changDu + length;
for (int w = 0; wpts != null && w < wpts.length; w++) {
String type = ItemValue.getWaypointKP(wpts[w]);
zhuangHao = changDu +
ItemValue.getDistanceWPTAtTrk(wpts[w], (Node) nodes.get(i));
if (zhuangHao < 0) {
zhuangHao = 0;
}
// zhuangHao = changDu + length/2;
if ("桥梁".equals(type)) {
System.out.print("发现桥梁: " + ItemValue.getWaypointName(wpts[w]));
String x = ItemValue.getWaypointX(wpts[w]);
String y = ItemValue.getWaypointY(wpts[w]);
ql qiao = new ql();
if (fillQLInfo(qlxx, qiao, x, y)) {
q++;
System.out.println(" 填写第" + q + "座桥梁信息");
qiao.setBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)) + "L" +
formater.format(q) + "0");
qiao.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)));
qiao.setJinDu(x);
qiao.setWeiDu(y);
qiao.setBianHao("L" + formater.format(q) + "0");
qiao.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[q] +
"桥");
qiao.setZhongXingZhuangHao(zhuangHaoFormater.format(zhuangHao));
if (adder != null) {
qiao.set0_4ColumnAdder(adder.getAdder());
qiao.set0_5ColumnAdderPhone(adder.getAdderPhone());
qiao.set0_6ColumnAsses(adder.getAsses());
qiao.set0_7ColumnAssesPhone(adder.getAssesPhone());
qiao.set0_8ColumnDept(adder.getDept());
qiao.set0_9ColumnDeptPrin(adder.getDeptPrin());
}
this.Q += qiao.toString() + "\r\n";
}
else {
System.out.println(" 没有发现桥梁信息, 跳过");
}
}
if ("隧道".equals(type)) {
System.out.print("发现隧道: " + ItemValue.getWaypointName(wpts[w]));
String x = ItemValue.getWaypointX(wpts[w]);
String y = ItemValue.getWaypointY(wpts[w]);
sd sui = new sd();
if (fillSDInfo(sdxx, sui, x, y)) {
s++;
System.out.println(" 填写第" + s + "座隧道信息");
sui.setBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)) + "U" +
formater.format(s) + "0");
sui.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)));
sui.setJinDu(x);
sui.setWeiDu(y);
sui.setBianHao("U" + formater.format(s) + "0");
sui.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[s] +
"隧");
sui.setQiDianZhuangHao(zhuangHaoFormater.format(zhuangHao));
if (adder != null) {
sui.set0_4ColumnAdder(adder.getAdder());
sui.set0_5ColumnAdderPhone(adder.getAdderPhone());
sui.set0_6ColumnAsses(adder.getAsses());
sui.set0_7ColumnAssesPhone(adder.getAssesPhone());
sui.set0_8ColumnDept(adder.getDept());
sui.set0_9ColumnDeptPrin(adder.getDeptPrin());
}
this.S += sui.toString() + "\r\n";
}
else {
h++;
System.out.println(" 没有发现隧道信息, 跳过");
}
;
}
if ("渡口".equals(type)) {
System.out.print("发现渡口: " + ItemValue.getWaypointName(wpts[w]));
String x = ItemValue.getWaypointX(wpts[w]);
String y = ItemValue.getWaypointY(wpts[w]);
dk du = new dk();
if (fillDKInfo(dkxx, du, x, y)) {
d++;
System.out.println(" 填写第" + d + "座渡口信息");
du.setBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)) + "D" +
formater.format(d) + "0");
du.setLuDuanBianMa( (String) ItemValue.numberedTracks.get(key) +
getLuDuanBianHao( (Node) nodes.get(i)));
du.setJinDu(x);
du.setWeiDu(y);
du.setBianHao("D" + formater.format(d) + "0");
du.setMingChen(key.replaceAll("\\[村道\\]", "") + " " + number[d] +
"渡");
du.setQiDianZhuangHao(zhuangHaoFormater.format(zhuangHao));
if (adder != null) {
du.set0_4ColumnAdder(adder.getAdder());
du.set0_5ColumnAdderPhone(adder.getAdderPhone());
du.set0_6ColumnAsses(adder.getAsses());
du.set0_7ColumnAssesPhone(adder.getAssesPhone());
du.set0_8ColumnDept(adder.getDept());
du.set0_9ColumnDeptPrin(adder.getDeptPrin());
}
this.D += du.toString() + "\r\n";
}
else {
System.out.println(" 没有发现渡口信息, 跳过");
}
}
if ("涵洞".equals(type)) {
h++;
}
}
ItemValue.hanDongTracks.put(nodes.get(i), new Integer(h));
changDu = dis;
// if(zhuangHao > changDu) zhuangHao = changDu;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -