⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newcommclass.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
					//notGradeValue +=  duanTouValue;
			   }
				if (jiShuType >= 6 ){  //6为等外路
					
					notGradeValue +=  Double.parseDouble(luDuanValue);
					
				}
                 if (jiShuType > 0 && jiShuType < 6 ){ //小于6为等级路,
					gradeValue += Double.parseDouble(luDuanValue);
				}
               //  技术等级(高速、一级、二级、三级、四级)
                 switch (jiShuType) { 
                 	case 1:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;     		
                 	case 2:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;   
                 	case 3:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;   
                 	case 4:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;   
                 	case 5:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;   
                 	
                   default:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;
             }
                 //路面类型(有路面、无路面、沥清混凝土、水泥混凝土、、砖铺路面)
                 switch (luMianType) {
                   case 1:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;     		
              	   case 2:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;   
                   case 3:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;   
              	   case 4:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;   
              	   case 5:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;   
              	   case 8:  gaoSuValue +=    Double.parseDouble(luDuanValue);  	break;
                  default:  gaoSuValue +=    Double.parseDouble(luDuanValue);  break;
          }  
                 
                 
                 
                 
            	
                 
                 mileCount += Double.parseDouble(luDuanValue); //路线总里程
                 if (childStr[25].equals("1"))   //是否睛雨通车里程
                	 qinYuMile += mileCount ;
                 else qinYuMile += 0;
			}
		}
		
		temp[0] =  ItemValue.getRound(mileCount,3) ;     //路线总里程
		temp[1] =  ItemValue.getRound(chongFuValue,3);  //重复
		temp[2] =  ItemValue.getRound(duanTouValue,3);  //断头
		temp[3] =  ItemValue.getRound(gradeValue,3);    //等级
		temp[4] =  ItemValue.getRound(notGradeValue,3); //等外
		temp[19] =  ItemValue.getRound(qinYuMile,3);    //是否晴雨通车里程
		return temp;
		
	}
	//按路线编码取里程
     public double getRoadMileByNum(String roadNumber , List roadList){
    	 double roadMile = 0.0;
    	 String lineStr = "";
    	 String [] childStr = null;
    	 String lxNumber = "";
    	 for (int i = 0 ; roadList != null && i < roadList.size(); i++){
    		 lineStr = (String)roadList.get(i);
    		 if (lineStr.length() == 0) continue;
    		 childStr = lineStr.split("\t");
    		 lxNumber = childStr[1];
    		 if (lxNumber.equals(roadNumber)){
    			 roadMile += roadMile + Double.parseDouble(childStr[19]);
    		 }else
    			 continue;
    		
    	 }
    	 
    	 return roadMile;
     }
//   按路线编码取里程
     public double getRoadMile(String roadNumber , String [] ldList){
    	 double roadMile = 0.0;
    	 String lineStr = "";
    	 String [] childStr = null;
    	 String lxNumber = "";
    	 for (int i = 1 ; ldList != null && i < ldList.length; i++){
    		 lineStr = ldList[i];
    		 if (lineStr.length() == 0) continue;
    		 childStr = lineStr.split("\t");
    		 lxNumber = childStr[1];
    		 if (lxNumber.equals(roadNumber)){
    			 roadMile += roadMile + Double.parseDouble(childStr[19]);
    		 }else
    			 continue;
    		
    	 }
    	 
    	 return roadMile;
     }
     
     
     //按路段编号取里程
     public double getLuDuanMileByNum(String luDuanNumber ,List ldlist ){
    
    	 double roadMile = 0.0;
    	 String lineStr = "";
    	 String [] childStr = null;
    	 String ldNumber = "";
    	 
    	 for (int i = 1; ldlist != null && i < ldlist.size() ; i++) {
 			lineStr = (String)ldlist.get(i);
 			childStr = lineStr.split("\t");
 			ldNumber = childStr[0];
 			if (ldNumber.equals(luDuanNumber)) 
 				roadMile = Double.parseDouble(childStr[19]);
 			    return roadMile;
 			
    	 }
       	 return roadMile;
     }
     
    // 按根据路线编码查找通达路线中乡镇距离通达路线的里程
     public double getTownMileByNum(String lxNumber , List roadList){
    	 double roadMile = 0.0;
    	 String lineStr = "";
    	 String [] childStr = null;
    	 String ldNumber = "";
    	 for (int i = 0 ; roadList != null && i < roadList.size(); i++){
    		 lineStr = (String)roadList.get(i);
    		 childStr = lineStr.split("\t");
    		 ldNumber = childStr[0];
    		 if (ldNumber.equals(lxNumber)){
    			 roadMile = Double.parseDouble(childStr[19]);
    			 return roadMile;
    		 }
     		
    	 }
    	 
    	 return roadMile;
     }
     
    
     //在通达路线中获取所有乡镇、建制村的编码、名称2
     public List getAllVillageAndTown2 (String filePath){
    	 List list = new ArrayList();
    	 List l = this.getVillageAndTownNumber(filePath);
    	 List temp = new ArrayList();
    	 String lineStr = "";
    	 String [] childStr = null;
    	 String danWeiNumber = "";
    	 String tempNumber = "";
    	 int n = 0;
    	 for (int i = 0 ; l != null && i < l.size() ; i++){
    		 lineStr = (String)l.get(i);
    		 if (lineStr.length() == 0) continue;
    		 childStr= lineStr.split("\t");
    		 danWeiNumber = childStr[5];
    	
 			
    		 n = 0;
    		 for (int j = 0; j < temp.size(); j++ ){
    			 tempNumber = (String)temp.get(j);
    			 if (tempNumber.length() == 0) continue;
    			 if (tempNumber.equals(danWeiNumber))
    				 n++;
    		 }
    		 if (n == 0)
    			 temp.add(danWeiNumber);
    	 }
    	 
    	 
    	 
    	 return temp;
    	 
     }
 
     
     // 获取本次通达路线信息
     public List getNewTongDaByNum(String filePath,String danWeiNumber){
    	 List temp = new ArrayList();
    	  List list = new ArrayList();
		    ReadTxt rt = new ReadTxt();
			String txtPath = filePath + "\\Xztdqk.txt";
	  		String[] listStr = rt.readFile(txtPath);
			String lineStr = "";
		 
			//读取乡镇通达路线信息
			for (int i = 1; listStr != null && i < listStr.length; i++) {
				
				lineStr = listStr[i];
				if (lineStr.length() == 0) continue;
				list.add(lineStr);
				}
			
			//读取行政村通达路线信息
			 txtPath = filePath + "\\Jzctdqk.txt";
	  		 listStr = rt.readFile(txtPath);
	  		for (int i = 1; listStr != null && i < listStr.length; i++) {
				
				lineStr = listStr[i];
				if (lineStr.length() == 0) continue;
				list.add(lineStr);
				}
     	 String [] childStr = null;
    	 String dWeiNumber = "";
    	 String tempNumber = "";
    	 int n = 0;
    	 for (int i = 0 ; list != null && i < list.size(); i++){
    		 lineStr = (String)list.get(i);
    		 childStr= lineStr.split("\t");
    		 dWeiNumber = childStr[0];
    		 isXzcAndXzBianMa(dWeiNumber);//验证编码
    		 
    		 if (dWeiNumber.equals(danWeiNumber))
    			 temp.add(lineStr);
    		
    	 }
     	 return temp;
     }
     // 获取本次通达路线信息
     public List getFirstTongDaByNum(List list ,String danWeiNumber){
    	     	 String [] childStr = null;
    	     	 List temp = new ArrayList();
    	     	 String lineStr = "";
    	 String dWeiNumber = "";
    	 String tempNumber = "";
    	 int n = 0;
    	 for (int i = 0 ; list != null && i < list.size(); i++){
    		 lineStr = (String)list.get(i);
    		 childStr= lineStr.split("\t");
    		 dWeiNumber = childStr[5];
    		 //isXzcAndXzBianMa(dWeiNumber);//验证编码
    		 
    		 if (dWeiNumber.equals(danWeiNumber))
    			 temp.add(lineStr);
    		
    	 }
     	 return temp;
     }
     //根据乡镇、建制村编码及路线编码获取通达路线
     public String getTongDaString(String filePath , String danWeiNumber ,String lxNumber){
    	List list = this.getNewTongDa(filePath);
    	String lineStr = "";
    	String [] childStr = null;
    	String dWeiNumber = "";
    	String roadNumber = "";
    	for (int i = 0 ; list != null && i < list.size() ; i++ ){
    		lineStr = (String)list.get(i);
    		childStr = lineStr.split("\t");
    		dWeiNumber = childStr[0];
    		roadNumber = childStr[1];
    		if (dWeiNumber.indexOf(danWeiNumber) != -1 && roadNumber.indexOf(lxNumber) != -1){
    			return lineStr;
    		}
    		
    	}
   		 return null;
     }
     
     public String getNewTongDaString(String danWeiNumber,List oldList,List newList){
    	String tempStr = null;
    	//String dwNumber = "";
 		//String contentTxt = "";
 		String roadNumber = "";
 		String newRoadNumber = "";
  		String lineStr = "";
 		String [] childStr = null; 
 		String [] newChildStr = null; 
 		//String newLineStr = "";
 		String  rowStr = "";
 		double roadMile = 0.0;
 		//String newLxNumber = "";
 		String tempLineStr = "";
 		int n = 0;
    	 for (int k = 0; newList != null && k < newList.size(); k++ ){
		 		lineStr = (String)newList.get(k);
				childStr = lineStr.split("\t");
				//dwNumber = childStr[5];
				roadNumber = childStr[7];
				 if (roadNumber.equals("null")) continue;
				 roadMile = ItemValue.getRound( ItemValue.getRound(Double.parseDouble(childStr[13]),6)/0.001,2);
				n = 0;
				for (int j = 0; oldList != null && j < oldList.size(); j++ ){
					 lineStr = (String)oldList.get(j);
					 newChildStr = lineStr.split("\t"); 
					// newLineStr = newChildStr[0];
					 newRoadNumber = newChildStr[7];
					 if (newRoadNumber.equals("null")) continue;
					 if (newRoadNumber.equals(roadNumber)){
						 n++;
					 }
				}
				if (n == 0 ){
					tempStr = danWeiNumber + "\t\t" + roadNumber + "\t" + roadMile + "\t\r\n" ;
					tempLineStr += tempStr;
				}
		
		 	}
    	 
    	 return tempLineStr;
     }
     //按乡镇、建制村编码查找新增通达路线
     public List getAddTongDa(String filePath ,String danWeiNumber ,List tongDaList ){
    	List list = this.getNewTongDa(filePath);
    	List temp = new ArrayList();
    	String lineStr = "";
     	String [] childStr = null;
     	String dWeiNumber = "";
     	String roadNumber = "";
     	
    	String rowStr = "";
     	String [] tempStr = null;
     	String dWeiNumber1 = "";
     	String roadNumber1 = "";
     	
     	int n = 0;
    	 for (int i = 0; list != null && i < list.size(); i++ ){
    		lineStr = (String)list.get(i);
     		childStr = lineStr.split("\t");
     		dWeiNumber = childStr[0];
     		roadNumber = childStr[1];
     		n = 1;
    		 if (dWeiNumber.equals(danWeiNumber)){
    			 n = 0;
     			 for (int j = 0; tongDaList != null && j < tongDaList.size(); j++){
     				 rowStr = (String)tongDaList.get(j);
     				tempStr = rowStr.split("\t");
     				roadNumber1  = tempStr[1];
     				if (roadNumber1.equals(roadNumber)){
     					n++ ;
     				}
     			 }
     			  if ( n == 0 )
     				 temp.add(lineStr);
     			 
     		 }
     		
    	 }
    	 return temp;
     }
     
     //验证乡镇、行政村编码
     public void isXzcAndXzBianMa(String number){
    	 
    	 if (number.length() != 12 )
				System.out.println(number + "不符合行政村或乡镇编码规则!");
     }
     //验证路线编码
     public void isLxNumber(String lxNumber){
    	 
    	 if (lxNumber.substring(0,1).equals ("X") || lxNumber.substring(0,1).equals("Y") 
					|| lxNumber.substring(0,1).equals("Z")  
					|| lxNumber.substring(0,1).equals("C")
					|| lxNumber.substring(0,1).equals("S")  
					|| lxNumber.substring(0,1).equals("G")
					|| lxNumber.length() == 10 )
    	 {
    		 //符合规则
    	 }
    	 else 
    		  System.out.println(lxNumber + "      不符合路线编码规则!");
    	 
     }
	public static void main(String msg[]) {
		CommClass cc = new CommClass();
		cc.setTxtFilePath("d:\\test\\Xzjbqk.txt");
		List l = cc.getXiangZhengTbl();
	}

	 //按重复路线、断头路统计路线里程
	public double [] getRoadMileCD(String [] ldList , String lxNumber){
				double [] temp = new double [3]; 
		String roadNumber = "";
		String roadName = "" ;
		String tempNumber = "";
		String lineStr = "";
		String tempStr = "";
		String alterStr = "";
		int jiShuType = 0; //技术等级
		int isChongFu = 0;//是否重复路线
		int isDuanTou = 0;//是否断头路线
		String luDuanNumber = "";//路段编号
		String [] childStr = null;
		String [] tempChild = null;
		double gradeValue = 0.0;
		double notGradeValue = 0.0;
		double notValue = 0.0;
		double tempValue = 0.0;
		double sumValue = 0.0;
		double chongFuValue = 0.0;
		double duanTouValue = 0.0;
		double mileCount = 0.0;
		String  luDuanValue = "";
		int n = 0;
		
		
		for (int i = 1; ldList != null && i < ldList.length ; i++) {
			
			lineStr = ldList[i];
			if (lineStr.length() == 0 ) continue;
			childStr = lineStr.split("\t");
			roadNumber = childStr[1];
			roadName = childStr[2];
			if (childStr[17].trim().length() == 0)
				jiShuType = 1;
			else 
			jiShuType  = Integer.parseInt(childStr[17]);
			isChongFu =  Integer.parseInt(childStr[22]);
			isDuanTou = Integer.parseInt(childStr[26]);
			luDuanNumber = childStr[0];
			luDuanValue = childStr[19];
			if (roadNumber.equals(lxNumber)){
				//mileCount += Double.parseDouble(luDuanValue);
				if (isChongFu ==1){   //1是2否
					chongFuValue += Double.parseDouble(luDuanValue);; //重复路线里程
				
				}
				
				if (isDuanTou == 1){   //1是2否
					duanTouValue +=  Double.parseDouble(luDuanValue);
					
			   }
				sumValue += Double.parseDouble(luDuanValue);
			}
		}
		
		temp[0] =  sumValue ;    //合计=路线总里程-重复-断头里程
		//temp[1] =  gradeValue;    //等级
		//temp[2] =  notGradeValue; //等外
		temp[1] =  chongFuValue;  //重复
		temp[2] =  duanTouValue;  //断头
		return temp;
		
	}

	/**
	 * @return 返回 txtFilePath。
	 */
	public String getTxtFilePath() {
		return txtFilePath;
	}

	/**
	 * @param txtFilePath 要设置的 txtFilePath。
	 */
	public void setTxtFilePath(String txtFilePath) {
		this.txtFilePath = txtFilePath;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -