Пример #1
0
 /**
  * areaTree全国区域拓扑树初始化
  *
  * @param fileName
  * @throws Exception void
  */
 public static void buildTree(String fileName) throws Exception {
   FileInputStream fis = new FileInputStream(new File(fileName));
   BufferedReader br = new BufferedReader(new InputStreamReader(fis, "utf-8"));
   String line = null;
   AreaNode node = null;
   while ((line = br.readLine()) != null) { // 读取区域文件
     String[] lines = line.split(";");
     Geometry polygon = new WKTReader().read(lines[lines.length - 1]);
     node = new AreaNode(); // 创建节点
     node.setAreaCode(Long.parseLong(lines[0]));
     node.setAreaName(lines[1]);
     node.setPolygon(polygon);
     areaTree.insert(polygon.getEnvelopeInternal(), node); // 向树上添加节点
   }
   fis.close();
   br.close();
   areaTree.build(); // 构建树
 }