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

📄 totalsixtable.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					   //if (!oldlxNumber.substring(0,1).equals("C")) continue; //只取村道
					   if (oldlxNumber.equals(lxNumber)){
						   n ++;
						   break;
					   }
				   }
				   
				   if ( n == 0 ) {
					 
								  System.out.println("删除路线:"+ lxNumber + "   " +  childStr[4]);
								  double [] roadInfo = cc.getRoadMile1(oldLdList,lxNumber); //在路段信息表中得到里程信息
								  mileCount = roadInfo[0];     //合计
									 gradeValue = roadInfo[1];     //等级
									 notGradeValue = roadInfo[2];  //等外
									 gradeCount += gradeValue ;    //等级合计
									 notGradeCount += notGradeValue ;  //等外合计
									 sumMileCount += mileCount ;   //总合计
								   tempStr =  lxNumber + "\t" + childStr[4] + "\t" + ItemValue.getRound(mileCount,3) 
								            + "\t" + ItemValue.getRound(gradeValue,3) + "\t" + ItemValue.getRound(notGradeValue,3) + "\r\n";
						      myFile.write(tempStr);
				    
			     }
			   }
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
			
		}
	
	}
	
	
//	新增乡镇、建制村
	public void NewAddXzAndJzc() throws IOException{
		Iterator it = newXzMap.keySet().iterator();
		String lineStr = "";
		String townNumber = "";
		String [] childStr = null;
		String oldlineStr = "";
		String oldtownNumber = "";
		String [] oldchildStr = null;
		String renKou = "";
		int n = 0;
	    String cityName = "";
		while (it.hasNext()) {
			
			String key = (String) it.next(); //城市名称
			for (int k = 0; cityArray != null && k < cityArray.length; k++){
				if (key.equals(cityArray[k][0]))
					{cityName = cityArray[k][1];
				    break;
					}
			}
		    System.err.println("***************正在处理  "+ cityName + "  数据!  ********************");	
			FileOperate fo = new FileOperate();
			String outPutFile = this.outFilePath + cityName + "\\新增乡镇、行政村一览表.txt";
			File newFile = fo.createFolder(outPutFile);
			FileWriter resultFile = new FileWriter(newFile);
			PrintWriter myFile = new PrintWriter(resultFile);
			
			List newXzList = (List) newXzMap.get(key); //本次报部路线(分市)
			List oldXzList = (List) oldXzMap.get(key); //上次报部路线(分市)
			//List newLdList = (List) newLDMap.get(key); //上次报部路线(分市)
			   for (int i = 0 ; newXzList != null && i < newXzList.size(); i++){
				   lineStr = (String)newXzList.get(i);
				   childStr = lineStr.split("\t");
				   townNumber = childStr[5];
				   renKou = childStr[6];
				   n = 0;
				   for (int j = 0 ; oldXzList != null && j < oldXzList.size(); j++){
					   oldlineStr = (String)oldXzList.get(j);
					   oldchildStr = oldlineStr.split("\t");
					   oldtownNumber = oldchildStr[5];
					   if ( (oldchildStr[4].trim().equals(childStr[4].trim() ) && oldtownNumber.equals(townNumber))
								|| ((oldchildStr[4].equals(childStr[4] )	&& !oldtownNumber.equals(townNumber)))
								|| ((!oldchildStr[4].equals(childStr[4] ) 	&& oldtownNumber.equals(townNumber)))){
					   
					     // if ( oldtownNumber.equals(townNumber)){
						   n ++;
						   break;
					   }
				   }
				   
				   if ( n == 0 ) {
					   System.out.println("新增的乡镇、行政村:   "+ townNumber + "   " +  childStr[4]);
					   lineStr =  townNumber + "\t" + childStr[4] + "\t" + renKou + "\r\n" ;
					   myFile.write(lineStr);
				   }
			   }
			   
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
			
		}
	
	}
	
//	删除乡镇、建制村
	public void DelXzAndJzc() throws IOException{
		Iterator it = oldXzMap.keySet().iterator();
		String lineStr = "";
		String townNumber = "";
		String [] childStr = null;
		String oldlineStr = "";
		String oldtownNumber = "";
		String [] oldchildStr = null;
		String renKou = "";
		int n = 0;
	    String cityName = "";
		while (it.hasNext()) {
			
			String key = (String) it.next(); //城市名称
			for (int k = 0; cityArray != null && k < cityArray.length; k++){
				if (key.equals(cityArray[k][0]))
					{cityName = cityArray[k][1];
				    break;
					}
			}
		    System.err.println("***************正在处理  "+ cityName + "  数据!  ********************");	
			FileOperate fo = new FileOperate();
			String outPutFile = this.outFilePath + cityName + "\\删除乡镇、建制村一览表.txt";
			File newFile = fo.createFolder(outPutFile);
			FileWriter resultFile = new FileWriter(newFile);
			PrintWriter myFile = new PrintWriter(resultFile);
			
			List newXzList = (List) oldXzMap.get(key); //上次报部路线(分市)
			List oldXzList = (List) newXzMap.get(key); //本次报部路线(分市)
			//List newLdList = (List) newLDMap.get(key); //上次报部路线(分市)
			   for (int i = 0 ; newXzList != null && i < newXzList.size(); i++){
				   lineStr = (String)newXzList.get(i);
				   childStr = lineStr.split("\t");
				   townNumber = childStr[5];
				   renKou = childStr[6];
				   n = 0;
				   for (int j = 0 ; oldXzList != null && j < oldXzList.size(); j++){
					   oldlineStr = (String)oldXzList.get(j);
					   oldchildStr = oldlineStr.split("\t");
					   oldtownNumber = oldchildStr[5];
					   if ( (oldchildStr[4].equals(childStr[4] ) && oldtownNumber.equals(townNumber))
								|| ((oldchildStr[4].equals(childStr[4] )	&& !oldtownNumber.equals(townNumber)))
								|| ((!oldchildStr[4].equals(childStr[4] ) 	&& oldtownNumber.equals(townNumber)))){
					   
					     // if ( oldtownNumber.equals(townNumber)){
						   n ++;
						   break;
					   }
				   }
				   
				   if ( n == 0 ) {
					   System.out.println("删除的乡镇、行政村:   "+ townNumber + "   " +  childStr[4]);
					   lineStr =  townNumber + "\t" + childStr[4] + "\t" + renKou + "\r\n" ;
					   myFile.write(lineStr);
				   }
			   }
			   
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
			
		}
	
	}
//	乡镇、建制村编码、名称变更
	public void AlterXzAndJzc() throws IOException{
		Iterator it = newXzMap.keySet().iterator();
		String lineStr = "";
		String townNumber = "";
		String [] childStr = null;
		String oldlineStr = "";
		String oldtownNumber = "";
		String [] oldchildStr = null;
		String jinDu = "";
		String weiDu = "";
		int n = 0;
	    String cityName = "";
		NewCommClass cc = new NewCommClass();
		while (it.hasNext()) {
			
			String key = (String) it.next(); //城市名称
			if (!key.equals("3404")) continue;
			for (int k = 0; cityArray != null && k < cityArray.length; k++){
				if (key.equals(cityArray[k][0]))
					{cityName = cityArray[k][1];
				    break;
					}
			}
		    System.err.println("***************正在处理  "+ cityName + "  数据!  ********************");	
			FileOperate fo = new FileOperate();
			String outPutFile = this.outFilePath + cityName + "\\乡镇建制村编码或名称调整一览表.txt";
			File newFile = fo.createFolder(outPutFile);
			FileWriter resultFile = new FileWriter(newFile);
			PrintWriter myFile = new PrintWriter(resultFile);
			
			List newXzList = (List) newXzMap.get(key); //本次报部路线(分市)
			List oldXzList = (List) oldXzMap.get(key); //上次报部路线(分市)
			//List newLdList = (List) newLDMap.get(key); //上次报部路线(分市)
			   for (int i = 0 ; newXzList != null && i < newXzList.size(); i++){
				   lineStr = (String)newXzList.get(i);
				   childStr = lineStr.split("\t");
				   townNumber = childStr[5];
				   int m = 4;
				   jinDu = childStr[12];
				   if (townNumber.substring(9,12).equals("000")){
					   weiDu = childStr[16];
					   m = 6;
				       }
				   else {
					   weiDu = childStr[20];
					   m = 9;
				   }
					  
				   n = 0;
				   for (int j = 0 ; oldXzList != null && j < oldXzList.size(); j++){
					   oldlineStr = (String)oldXzList.get(j);
					   oldchildStr = oldlineStr.split("\t");
					   oldtownNumber = oldchildStr[5];
					    if ( (oldchildStr[4].equals(childStr[4] ) && oldtownNumber.equals(townNumber)))
								break;
					   if ((!childStr[4].equals(oldchildStr[4]) && townNumber.equals(oldtownNumber) ) 
								|| (childStr[4].equals(oldchildStr[4]) && !townNumber.equals(oldtownNumber))
								&& oldtownNumber.substring(0,9).equals(townNumber.substring(0,9))){
							   n ++;
						   break;
					   }
				   }
				   
				   if ( n != 0 ) {
					   System.out.println("变更的乡镇、行政村:   "+ townNumber + "   " +  childStr[4]);
					   String [] temp = cc.getNameAndNumber(childStr[4],townNumber,oldXzList);
					   lineStr =  temp[0] + " \t" +  townNumber +"\t"+ temp[1] + "\t"
						            + childStr[4] +"\t" + jinDu + "\t" + weiDu + "\r\n";
					   myFile.write(lineStr);
				   }
			   }
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
		}
	
	}
	/*
	 *1、通达路线选取变化一览表,所有与第一次报送数据中通达路线发生变化的乡镇、建制村通达路线信息
	 *2、里程为乡镇政府距离通达路线的里程
	 *3、新增或删除的乡镇、建制村不在表中
	 *4、按照乡镇、建制村编码排序
	 */
	public void AlterTDLX() throws IOException{
		Iterator it = newXzMap.keySet().iterator();
		String lineStr = "";
		String townNumber = "";
		String [] childStr = null;
		int n = 0;
	    String cityName = "";
		NewCommClass cc = new NewCommClass();
        List tdLxList1 = new ArrayList();
        List tdLxList2 = new ArrayList();
  		String roadNumber = "";
		double roadMile = 0.0;
		String [] newChildStr = null; 
		String newLineStr = "";
		String newRoadNumber = "";
		String tempStr = "";
		boolean isAlter =true;
		while (it.hasNext()) {
			String key = (String) it.next(); //城市名称
			for (int k = 0; cityArray != null && k < cityArray.length; k++){
				if (key.equals(cityArray[k][0])){
					cityName = cityArray[k][1];
				    break;
					}
			}
		    System.err.println("***************正在处理  "+ cityName + "  数据!  ********************");	
			FileOperate fo = new FileOperate();
			String outPutFile = this.outFilePath + cityName + "\\通达路线选取变化一览表.txt";
			File newFile = fo.createFolder(outPutFile);
			FileWriter resultFile = new FileWriter(newFile);
			PrintWriter myFile = new PrintWriter(resultFile);
			
			List newXzList = (List) newXzMap.get(key); //本次报部乡镇、行政村(分市)
			
			List newTdList = (List) newTdMap.get(key);
			List oldTdList = (List) oldTdMap.get(key);
			
			   for (int i = 0 ; newXzList != null && i < newXzList.size(); i++){
				   lineStr = (String)newXzList.get(i);
				   childStr = lineStr.split("\t");
				   townNumber = childStr[5];
				   tdLxList1 = cc.getFirstTongDaByNum(oldTdList,townNumber);       //根据乡镇、行政村编码得到上次通达的路线
				   tdLxList2 = cc.getFirstTongDaByNum(newTdList,townNumber);       //根据乡镇、行政村编码得到本次通达的路线
					isAlter = false;
				   String tempLineStr = "";
				   for (int k = 0; tdLxList1 != null && k < tdLxList1.size(); k++ ){
				 		lineStr = (String)tdLxList1.get(k);
						childStr = lineStr.split("\t");
						roadNumber = childStr[7].trim();
					
						roadMile = ItemValue.getRound(ItemValue.getRound(Double.parseDouble(childStr[13]),6)/0.001,2);
						n = 0;
						for (int j = 0; tdLxList2 != null && j < tdLxList2.size(); j++ ){
							 lineStr = (String)tdLxList2.get(j);
							 newChildStr = lineStr.split("\t"); 
							 newLineStr = newChildStr[0];
							 newRoadNumber = newChildStr[7].trim();
							 if (newRoadNumber.equals("null")) continue;
							 if (newRoadNumber.equals(roadNumber)){
								 n++;
								 break;
							 }
						}
						if (n != 0 ){
							tempStr = townNumber + "\t" + roadNumber + "\t" + roadNumber + "\t" + roadMile + "\t\r\n" ;
							tempLineStr += tempStr;
						}else {
							tempStr = townNumber + "\t" + roadNumber + "\t\t" + roadMile + "\t\r\n" ;
							tempLineStr += tempStr;
							  isAlter = true;
						}
						
				 	}
				   
				   if (isAlter){ //两次比较有变化
				 		
				 		newLineStr = cc.getNewTongDaString(townNumber,tdLxList1,tdLxList2); //获取本次新增的通达路线
				 		myFile.write( tempLineStr) ;
				 	    System.out.println("有变化的乡镇、行政村:   "+ townNumber);
				 		if (newLineStr != null )
				 		myFile.write( newLineStr) ;
				 	}
			   }
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
		}
	
	}
	
   //	删除超范围上报路线
	public void DelCFWLx() throws IOException{
		Iterator it = delLxMap.keySet().iterator();
		String lineStr = "";
		String lxNumber = "";
		String [] childStr = null;
		String oldlineStr = "";
		String oldlxNumber = "";
		String [] oldchildStr = null;
		int n = 0;
	    String cityName = "";
	    String tongDaStr = "";
		NewCommClass cc = new NewCommClass();
		double liCheng = 0.0;
		while (it.hasNext()) {
			
			String key = (String) it.next(); //城市名称
			for (int k = 0; cityArray != null && k < cityArray.length; k++){
				if (key.equals(cityArray[k][0]))
					{cityName = cityArray[k][1];
				    break;
					}
			}
		    System.err.println("***************正在处理  "+ cityName + "  数据!  ********************");	
			FileOperate fo = new FileOperate();
			String outPutFile = this.outFilePath + cityName + "\\已删除超范围调查路线一览表.txt";
			File newFile = fo.createFolder(outPutFile);
			FileWriter resultFile = new FileWriter(newFile);
			PrintWriter myFile = new PrintWriter(resultFile);
			
		
			List newLxList = (List) delLxMap.get(key); //上次报部路线(分市)
		
			
			List oldLdList = (List) delLdMap.get(key); //上次报部路段(分市)
			List oldTdList = (List) oldTdMap.get(key); //上次通达信息(分市)
			List lxOfLd = new ArrayList();
			   for (int i = 0 ; newLxList != null && i < newLxList.size(); i++){
				   lineStr = (String)newLxList.get(i);
				   childStr = lineStr.split("\t");
				   lxNumber = childStr[0];
				   lxOfLd = cc.getLdByLxnumber(oldLdList,lxNumber);
				   //System.out.println("删除路线:"+ lxNumber + "   " +  childStr[1]);
					   liCheng = cc.getRoadInfo2(lxOfLd,lxNumber);     //获取里程
						  if (liCheng > 0.0  ){
							 // System.out.println("删除路线:"+ lxNumber + "   " +  childStr[1]);
							  boolean  isTongDa =  cc.isTDLx(oldTdList,lxNumber); //判断是否是通达路线
							  if (isTongDa) {
								  System.out.println("删除路线:"+ lxNumber + "   " +  childStr[1]);
							//tongDaStr = cc.getIsTongDa(oldTongList,oldLxNumber);  //得到上次报部时所用的行政村编码
								lineStr =  lxNumber + "\t" + childStr[1] + "\t" + liCheng+ "\t" + tongDaStr + "\r\n";
			  			        myFile.write(lineStr);
				         }
			        }
			     }
			 
		 	  myFile.close();  
		 	  System.err.println("***************  "+ cityName + " 数据,处理完毕!  ********************");	
			
		}
	
	}
	
	public  static void main(String [] args) throws IOException{
		//  NewCommClass cc = new NewCommClass();
		// System.out.println("==========count========" + cc.getCityCount("3405"));
		TotalSixTable tst = new TotalSixTable();
		   tst.readData();
		   //tst.NewAddLx();
		  //tst.NewAddXzAndJzc();
		 //tst.DelXzAndJzc();
		   //tst.AlterXzAndJzc();
		 // tst.DelLx();
		  tst.DelFirstLx();
		  // tst.AlterTDLX();
		 //tst.DelCFWLx();
		  
	}

}

⌨️ 快捷键说明

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