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

📄 fillxzc.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.our.auto.extend;






import org.w3c.dom.Node;
import net.aetherial.gis.surface.ItemValue;
import net.aetherial.gis.table.WuWei;
import net.aetherial.gis.dataType.WptType;
import net.aetherial.gis.our.auto.Auto;
import net.aetherial.gis.our.FrameOur;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: </p>
 *
 * @author 王爱国
 * @version 1.0
 */
public class FillXZC  extends Auto{
  private String directory = "";
  private WuWei ww = new WuWei();
  public FillXZC(FrameOur fo) {
    this.setFrameOur(fo);
  }
  public void setAllFile(){

    this.msg("数组与乡镇文件匹配率:" + this.ww.isXiangZhenSimulate(this.input));
    if (super.input == null) {
      System.out.println("super.input == null");
      return;
    }
    for (int i = 0; i < this.input.length; i++) {
      this.open(this.input[i]);
      this.print(this.input[i].getName() +
          "********************************************************");
      int[] xiabiao = this.getXiangZhenXiabiao(this.input[i].getName());
      this.setAFile(xiabiao);
      this.saveMemory(this.directory + this.input[i].getName());
      this.setMemoryReset();
    }
    this.msg("文件匹配行政村航点完毕!\r\n生成的文件在:" + this.directory + "下.");

  }
  private void setAFile(int[] xibiao){
    Node[] wpts = ItemValue.getWaypoint();
    if (wpts == null) {
      return;
    }else{
      for (int i = 0; i < wpts.length; i++) {
        if ((this.isXZC(wpts[i]))&&(this.isWptName_CUNWEIHUI(wpts[i]))) {
          //填充行政村
          if (!(this.setToXZC(wpts[i],xibiao))) {
            this.setToXZC(wpts[i]);
          }

        }
      }
    }
  }

  /**
   * 填充行政村
   */
  private void setToXZC(Node wpt){
    String[] array = null;
    if (!(isXZCNull(wpt))) {
      return;
    }
    if (this.ww.wuwei_cun != null) {
      for (int i = 0; i < ww.wuwei_cun.length; i++) {
        if ((ItemValue.getWaypointName(wpt)).indexOf(ww.wuwei_cun[i]) != -1) {
          array = new String[11];
          array[0] = ww.wuchen_xiangzhen[i];
          array[1] = ww.wuwei_cun[i];
          array[2] = ww.wmianji[i];
          array[3] = ww.wzirancun[i];
          array[4] = ww.wdixing[i];
          array[5] = ww.wtiaojian[i];
          array[6] = ww.wdukou[i];
          array[7] = ww.wuwei_renkou[i];
          array[8] = ww.wuwei_shouru[i];
          array[9] = ww.wuwei_jinji[i];
          array[10] = ww.wbeizhu[i];

          ItemValue.setWaypointXZC(wpt,array);
        }
      }
    }
  }
  /**
   * 填充行政村,在该乡镇里寻找行政村
   */
  private boolean setToXZC(Node wpt,int[] xiabiao){
    String[] array = null;
    if (!(isXZCNull(wpt))) {
      return false;
    }
    if (this.ww.wuwei_cun != null) {
      if (xiabiao == null) {
        return false;
      }
      for (int i = xiabiao[0]; i <= xiabiao[1]; i++) {
        if ((ItemValue.getWaypointName(wpt)).indexOf(ww.wuwei_cun[i]) != -1) {
          array = new String[11];
          array[0] = ww.wuchen_xiangzhen[i];
          array[1] = ww.wuwei_cun[i];
          array[2] = ww.wmianji[i];
          array[3] = ww.wzirancun[i];
          array[4] = ww.wdixing[i];
          array[5] = ww.wtiaojian[i];
          array[6] = ww.wdukou[i];
          array[7] = ww.wuwei_renkou[i];
          array[8] = ww.wuwei_shouru[i];
          array[9] = ww.wuwei_jinji[i];
          array[10] = ww.wbeizhu[i];

          ItemValue.setWaypointXZC(wpt,array);
          System.out.println("通过匹配乡镇方式完成填充!");
          return true;
        }
      }
    }
    return false;
  }
  /**
   * 得到与该文件名称匹配的乡镇数组下标
   */
  private int[] getXiangZhenXiabiao(String fileName){
    int[] xiabiao = null;
    boolean find = false;
    if (ww.wuchen_xiangzhen == null) {
      return null;
    }
    else {
      for (int i = 0; i < ww.wuchen_xiangzhen.length; i++) {
        if (getRidOfSuffix(fileName).indexOf(getRidOfSuffix(ww.wuchen_xiangzhen[i])) != -1) {
          if (!find) {
            xiabiao = new int[2];
            xiabiao[0] = i;
            find = true;
          }
        }else{
          if (xiabiao != null) {
            xiabiao[1] = i -1;
            System.out.println(fileName + "匹配到乡镇数组:(" + xiabiao[0]+ "-" + xiabiao[1] +")");
            return xiabiao;
          }
        }
      }
      if ((xiabiao != null)&&(xiabiao[1] == 0)) {
        xiabiao[1] = ww.wuchen_xiangzhen.length-1;
        System.out.println(fileName + "匹配到乡镇数组:(" + xiabiao[0]+ "-" + xiabiao[1] +")");
        return xiabiao;
      }
    }
    return null;
  }
  /**
   * 去除乡镇的“镇、乡、办事处”字眼
   */
  private String getRidOfSuffix(String xiangzhen){
    return xiangzhen.replaceAll("镇","").replaceAll("乡","").replaceAll("办事处","");
  }
  /**
   * 判断已录入的行政村是否为空
   */
  private boolean isXZCNull(Node wpt){
    String[] array = ItemValue.getWaypointXZC(wpt);
    if (array == null) {
      return true;
    }else{
      if ((array[1] == null)||(array[1].equals("null"))) {
        return true;
      }
    }
    return false;
  }
  /**
   * 判断航点是否属于比较范围
   * wptName 航点名称
   * arrayName 数组名称
   */
  private boolean isWptName_CUNWEIHUI(Node wpt){
    String wptName = ItemValue.getWaypointName(wpt);
    int jToken = wptName.indexOf("居委会");
    if (jToken != -1) {
      return true;
    }
    int cToken = wptName.indexOf("村委会");
    if (cToken == -1) {
      return false;
    }else{
      return true;
    }
  }

  /**
   * 判断航点是否为行政村
   */
  private boolean isXZC(Node wpt){
    String kp = ItemValue.getWaypointKP(wpt);
    if (kp.equals(WptType.W1XingZhengCun)) {
      return true;
    }
    else {
      return false;
    }
  }
  public void setSavedDirectory(String path){
    this.directory = path;
  }

}

⌨️ 快捷键说明

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