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

📄 alterdatabase.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package net.aetherial.gis.baobu.TotalExcel;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import net.aetherial.gis.output.FileOperate;
import net.aetherial.gis.surface.ItemValue;

public class AlterDataBase {
	String[][] cityArray = new String[][] { { "3401", "合肥市" },	{ "3402", "芜湖市" },
            { "3403", "蚌埠市" }, { "3404", "淮南市" }, 
            { "3405", "马鞍山市" }, { "3406", "淮北市" },
            { "3407", "铜陵市" }, { "3408", "安庆市" },
            { "3410", "黄山市" },{ "3411", "滁州市" },
            { "3412", "阜阳市" }, { "3413", "宿州市" },
            { "3414", "巢湖市" },  { "3415", "六安市" }, 
            { "3416", "亳州市" },{ "3417", "池州市" }, 
            { "3418", "宣城市" }};
	Map  oldLxMap = new HashMap ();
	Map  newLxMap = new HashMap ();
	Map  oldLDMap = new HashMap ();
	Map  newLDMap = new HashMap ();
	Map  oldXzMap = new HashMap ();
	Map  newXzMap = new HashMap ();
	Map  oldJzcMap = new HashMap ();
	Map  newJzcMap = new HashMap ();
	Map  oldJzcTdMap = new HashMap ();
	Map  newJzcTdMap = new HashMap ();
	Map  oldXzTdMap = new HashMap ();
	Map  newXzTdMap = new HashMap ();
	Map  oldDkMap = new HashMap ();
	Map  newDkMap = new HashMap ();
	Map  oldQlMap = new HashMap ();
	Map  newQlMap = new HashMap ();
	Map  oldSdMap = new HashMap ();
	Map  newSdMap = new HashMap ();
	private  String  oldFilePath = "E:\\报部JIO导出数据1\\报部接口\\first";        //上一次报部数据路径
	private  String  newFilePath = "E:\\报部JIO导出数据1\\报部接口\\current";      //本次数据路径
	private  String  outFilePath = "E:\\报部JIO比较后数据1\\"; //输出路径
	
	
    /*
     * 构造函数
     */
	public AlterDataBase(){
		super();
	}
	
	public void readData(){
		System.out.println("正在读取数据,请稍候...");
		oldLxMap = this.readFile(oldFilePath + "\\Lx.txt");
		newLxMap = this.readFile(newFilePath + "\\Lx.txt");
		oldLDMap = this.readFile(oldFilePath + "\\Ld.txt");
		newLDMap = this.readFile(newFilePath + "\\Ld.txt");
		oldQlMap = this.readFile(oldFilePath + "\\Ql.txt");
		newQlMap = this.readFile(newFilePath + "\\Ql.txt");
		oldDkMap = this.readFile(oldFilePath + "\\Dk.txt");
		newDkMap = this.readFile(newFilePath + "\\Dk.txt");
		oldSdMap = this.readFile(oldFilePath + "\\Sd.txt");
		newSdMap = this.readFile(newFilePath + "\\Sd.txt");
		oldJzcMap = this.readXzJzcFile(oldFilePath + "\\Jzcjbqk.txt");
		newJzcMap = this.readXzJzcFile(newFilePath + "\\Jzcjbqk.txt");
		oldXzMap = this.readXzJzcFile(oldFilePath + "\\Xzjbqk.txt");
		newXzMap = this.readXzJzcFile(newFilePath + "\\Xzjbqk.txt");
		oldJzcTdMap = this.readXzJzcFile(oldFilePath + "\\Jzctdqk.txt");
		newJzcTdMap = this.readXzJzcFile(newFilePath + "\\Jzctdqk.txt");
		oldXzTdMap = this.readXzJzcFile(oldFilePath + "\\Xztdqk.txt");
		newXzTdMap = this.readXzJzcFile(newFilePath + "\\Xztdqk.txt");
		
	}

	//按市分类读取路线、路段数据
	private Map readFile(String filename) {
		File file = new File(filename);
		String split = "\t";
		String[] fields = null;
	    String cityCode = "";
		Map roadMap = new HashMap();
		List lxList = new ArrayList();
		try {
			BufferedReader br = new BufferedReader(new FileReader(file));
			String road = br.readLine();//Ignore title line
			road = br.readLine();
			while (road != null) {
				fields = road.split(split);
			    cityCode = fields[5].trim().substring(4,8);
				if (roadMap.get((String) cityCode) == null) {
					roadMap.put(cityCode, new ArrayList());
				}
				lxList = (List)roadMap.get(cityCode);
				lxList.add(road);
				road = br.readLine();
			}
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return roadMap;
	}
	
	//按市分类读取删除的超范围路线数据
	private Map readCFWFile(String filename) {
		File file = new File(filename);
		String split = "\t";
		String[] fields = null;
	    String cityCode = "";
		Map roadMap = new HashMap();
		List lxList = new ArrayList();
		try {
			BufferedReader br = new BufferedReader(new FileReader(file));
			String road = br.readLine();//Ignore title line
			road = br.readLine();
			while (road != null) {
				fields = road.split(split);
			    cityCode = fields[0].trim().substring(4,8);
				if (roadMap.get((String) cityCode) == null) {
					roadMap.put(cityCode, new ArrayList());
				}
				lxList = (List)roadMap.get(cityCode);
				lxList.add(road);
				road = br.readLine();
			}
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return roadMap;
	}
	

	//按市分类读取删除的超范围路段数据
	private Map readCFWLdFile(String filename) {
		File file = new File(filename);
		String split = "\t";
		String[] fields = null;
	    String cityCode = "";
		Map roadMap = new HashMap();
		List lxList = new ArrayList();
		try {
			BufferedReader br = new BufferedReader(new FileReader(file));
			String road = br.readLine();//Ignore title line
			road = br.readLine();
			while (road != null) {
				fields = road.split(split);
			    cityCode = fields[1].trim().substring(4,8);
				if (roadMap.get((String) cityCode) == null) {
					roadMap.put(cityCode, new ArrayList());
				}
				lxList = (List)roadMap.get(cityCode);
				lxList.add(road);
				road = br.readLine();
			}
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return roadMap;
	}
//	按市分类读取路线、路段数据
	private Map readXzJzcFile(String filename) {
		File file = new File(filename);
		String split = "\t";
		String[] fields = null;
	    String cityCode = "";
		Map jzcMap = new HashMap();
		List lxList = new ArrayList();
		try {
			BufferedReader br = new BufferedReader(new FileReader(file));
			String road = br.readLine();//Ignore title line
			road = br.readLine();
			while (road != null) {
				fields = road.split(split);
			    cityCode = fields[5].trim().substring(0,4);
				if (jzcMap.get((String) cityCode) == null) {
					jzcMap.put(cityCode, new ArrayList());
				}
				lxList = (List)jzcMap.get(cityCode);
				lxList.add(road);
				road = br.readLine();
			}
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return jzcMap;
	}
	

//	乡镇、建制村编码、名称变更
	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 + " 数据,处理完毕!  ********************");	
		}
	
	}
//	渡口变更
	public void AlterDk() throws IOException{

⌨️ 快捷键说明

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