結隊開發地鐵

合做人:肖成龍javascript

設計思想:css

數據庫創建了兩張表,一張將全部的地鐵線路信息儲存進去,html

還有一張用來存儲六條地鐵之間的連通節點。java

經過連通性,判斷是否須要換乘線路。mysql

預估時間:一週git

源程序代碼:github

數據庫代碼:web

 Dbutil.java算法

複製代碼
package com.hdq.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /**  * 數據庫鏈接工具  * @author Hu  *  */ public class DBUtil {    public static String db_url = "jdbc:mysql://localhost:3306/studentlist";  public static String db_user = "root";  public static String db_pass = "password";    public static Connection getConn () {   Connection conn = null;      try {    Class.forName("com.mysql.jdbc.Driver");//加載驅動    conn = DriverManager.getConnection(db_url, db_user, db_pass);   } catch (Exception e) {    e.printStackTrace();   }      return conn;  }    /**   * 關閉鏈接   * @param state   * @param conn   */  public static void close (Statement state, Connection conn) {   if (state != null) {    try {     state.close();    } catch (SQLException e) {     e.printStackTrace();    }   }      if (conn != null) {    try {     conn.close();    } catch (SQLException e) {     e.printStackTrace();    }   }  }    public static void close (ResultSet rs, Statement state, Connection conn) {   if (rs != null) {    try {     rs.close();    } catch (SQLException e) {     e.printStackTrace();    }   }      if (state != null) {    try {     state.close();    } catch (SQLException e) {     e.printStackTrace();    }   }      if (conn != null) {    try {     conn.close();    } catch (SQLException e) {     e.printStackTrace();    }   }  }  public static void main(String[] args) throws SQLException { //  Connection conn = getConn(); //  PreparedStatement pstmt = null; //  ResultSet rs = null; //  String sql ="select * from course"; //  pstmt = conn.prepareStatement(sql); //  rs = pstmt.executeQuery(); //  if(rs.next()){ //   System.out.println("空"); //  }else{ //   System.out.println("不空"); //  }  } }
複製代碼

 

 ClassService.javasql

複製代碼
package com.hdq.service; import java.util.List; import com.hdq.dao.ClassDao; /**  * CourseService  * 服務層  * @author HDQ  *  */ public class ClassService {  ClassDao cDao = new ClassDao();    /**   * 添加   * @param course   * @return   */  public boolean add(String table,String strList[],String strList1[]) {   boolean f = cDao.add(table,strList,strList1);   return f;  }    /**   * 刪除   */  public boolean del(String table,String qian,String hou) {   return cDao.delete(table,qian,hou);  }    /**   * 修改   * @return   */  public boolean update(String table,String []strlist,String []strlist1,String qian,String hou) {   return cDao.update(table,strlist,strlist1,qian,hou);  }  /**   * 查找   * @return   * @throws IllegalAccessException   * @throws InstantiationException   */  public <T> List<T> search(String table, String []strList, String []strList1,Class<T> clazz) throws InstantiationException, IllegalAccessException {   return cDao.search(table,strList,strList1,clazz);  }    /**   * 由時間查找   * @return   * @throws IllegalAccessException   * @throws InstantiationException   */  public <T> List<T> searchByTime(String table, String []strList, String []strList1,String biaoshi,String qian,String hou,Class<T> clazz) throws InstantiationException, IllegalAccessException {   return cDao.searchByTime(table, strList, strList1, biaoshi, qian, hou, clazz);  }  /**   * 所有數據   * @return   * @throws IllegalAccessException   * @throws InstantiationException   * @throws ClassNotFoundException   */  public <T> List<T> list(String table,String []strList,Class<T> clazz) throws ClassNotFoundException, InstantiationException, IllegalAccessException {   return cDao.list(table,strList,clazz);  }    /**   * 建立數據庫表單   * @return   * @throws IllegalAccessException   * @throws InstantiationException   */  public boolean createTable(String table,String []info,String []type,int []size)  {   return cDao.createTable(table, info, type, size);  } }
複製代碼

 

 Linenum.java

複製代碼
package com.hdq.entity; public class Linenum {  int linenum;  public int getLinenum() {   return linenum;  }  public void setLinenum(int linenum) {   this.linenum = linenum;  } }
複製代碼

 

Lineinfo.java

複製代碼
package com.hdq.entity; public class LineInfo {  int linenum;  String name;  public int getLinenum() {   return linenum;  }  public void setLinenum(int linenum) {   this.linenum = linenum;  }  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }  public LineInfo()  {   linenum=-1;  } }
複製代碼

 

ClassDao.java

複製代碼
package com.hdq.dao; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.hdq.util.DBUtil; /**  * 通用類Dao  * Dao層操做數據  * @author HDQ  *  */ public class ClassDao {  /**   * 添加   * @return   */  public <T> boolean add(String table,String []strList,String []strList1) {   if(strList.length==0)    return false;   String sql = "insert into "+table+"(";   for(int i=0;i<strList.length;i++)   {    if(i!=strList.length-1)     sql+=strList[i]+",";    else sql+=strList[i]+")";   }   sql+=" values('";   for(int i=0;i<strList1.length;i++)   {    if(i!=strList1.length-1)     sql+=strList1[i]+"','";    else sql+=strList1[i]+"')";   }   //建立數據庫連接   Connection conn = DBUtil.getConn();   Statement state = null;   boolean f = false;   int a = 0;      try {    state = conn.createStatement();    a=state.executeUpdate(sql);   } catch (Exception e) {    e.printStackTrace();   } finally {    //關閉鏈接    DBUtil.close(state, conn);   }      if (a > 0) {    f = true;   }   return f;  }  /**   * 刪除   *   * @return   */    public boolean delete (String table,String zhixing,String biaoshi) {   boolean f = false;   String sql = "delete from "+table+" where "+zhixing+"='" + biaoshi + "'";      Connection conn = DBUtil.getConn();   Statement state = null;   int a = 0;      try {    state = conn.createStatement();    a = state.executeUpdate(sql);   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(state, conn);   }      if (a > 0) {    f = true;   }   return f;  }  /**   * 修改     * @param pass   */  public boolean update(String table,String []strlist,String []strlist1,String qian,String hou) {   String sql = "update "+table+" set ";   for(int i=0;i<strlist.length;i++)   {    if(i!=strlist.length-1)     sql+=strlist[i]+"='" + strlist1[i] + "',";    else sql+=strlist[i]+"='" + strlist1[i] + "' where "+qian+"='" + hou + "'";   }   Connection conn = DBUtil.getConn();   Statement state = null;   boolean f = false;   int a = 0;   try {    state = conn.createStatement();    a = state.executeUpdate(sql);   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(state, conn);   }      if (a > 0) {    f = true;   }   return f;  }    /**   * 驗證通用類名稱是否惟一   * true --- 不惟一     * @return   */  public boolean name(String table,String zhi,String weiyi) {   boolean flag = false;   String sql = "select "+zhi+" from "+table+" where "+zhi+" = '" + weiyi + "'";   Connection conn = DBUtil.getConn();   Statement state = null;   ResultSet rs = null;      try {    state = conn.createStatement();    rs = state.executeQuery(sql);    while (rs.next()) {     flag = true;    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(rs, state, conn);   }   return flag;  }        /**   * 查找   * @return   * @throws IllegalAccessException   * @throws InstantiationException   */  @SuppressWarnings("deprecation")  public <T> List<T> search(String table,String []strList,String []strList1,Class<T> clazz) throws InstantiationException, IllegalAccessException {   String sql = "select * from "+table;   int i=0,k=0;   for(String it:strList1)   {    if(it!=null&&!it.equals(""))    {     if(k==0)      sql +=" where "+ strList[i]+" like '%" + it + "%'";     else sql +=" and "+ strList[i]+" like '%" + it + "%'";     ++k;    }    ++i;   }   List<T> list = new ArrayList<>();   Connection conn = DBUtil.getConn();   Statement state = null;   ResultSet rs = null;   try {    state = conn.createStatement();    rs = state.executeQuery(sql);    T bean = null;    while (rs.next()) {     bean=clazz.newInstance();     for(String it:strList)     {      Field fs=getDeclaredField(bean, it);      if(fs==null){       throw new IllegalArgumentException("Could not find field["+         it+"] on target ["+bean+"]");      }      makeAccessiable(fs);         try{             fs.set(bean, rs.getObject(it));         }         catch(IllegalAccessException e){             System.out.println("不可能拋出的異常");         }     }     list.add(bean);    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(rs, state, conn);   }      return list;  }  /**   * 由時間和條件查找   * @return   * @throws IllegalAccessException   * @throws InstantiationException   */  @SuppressWarnings("deprecation")  public <T> List<T> searchByTime(String table,String []strList,String []strList1,String biaoshi,String qian,String hou,Class<T> clazz) throws InstantiationException, IllegalAccessException {   String sql = "select * from "+table+" where ";   int i=0,k=0;   for(String it:strList1)   {    if(it!=null&&!it.equals(""))    {     sql += strList[i]+" like '%" + it + "%'";     ++k;    }    ++i;   }   if(qian!=null&&!qian.equals(""))   {    if(k>0)     sql+=" and "+biaoshi+" Between '"+qian+"' AND '"+hou+"'";    else sql+=biaoshi+" Between '"+qian+"' AND '"+hou+"'";   }   //and shijian Between '"+request.getParameter("shijian1")+"' AND '"+request.getParameter("shijian2")+"'"   //查詢的時間格式例如:2015-10-27 24:00:0   List<T> list = new ArrayList<>();   Connection conn = DBUtil.getConn();   Statement state = null;   ResultSet rs = null;   try {    state = conn.createStatement();    rs = state.executeQuery(sql);    T bean = null;    while (rs.next()) {     bean=clazz.newInstance();     for(String it:strList)     {      Field fs=getDeclaredField(bean, it);      if(fs==null){       throw new IllegalArgumentException("Could not find field["+         it+"] on target ["+bean+"]");      }      makeAccessiable(fs);         try{             fs.set(bean, rs.getObject(it));         }         catch(IllegalAccessException e){             System.out.println("不可能拋出的異常");         }     }     list.add(bean);    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(rs, state, conn);   }      return list;  }    /**   * 建立數據庫   * @return   * @throws ClassNotFoundException   * @throws IllegalAccessException   * @throws InstantiationException   */  public boolean createTable(String table,String []info,String []type,int []size)  {   String sql = "CREATE TABLE "+table+"(";   String lei[]=new String[] {"char","varchar"};   int i=0;   for(String it:info)   {    if(!it.equals(""))    {     boolean g_trit=false;     for(String sit:lei)     {      if(type[i].toLowerCase().contains(sit.toLowerCase()))      {       g_trit=true;      }     }     if(g_trit)      sql += it+" "+type[i]+"("+size[i]+")";     else sql += it+" "+type[i];    }        if(i!=info.length-1)     sql+=",";    ++i;   }   sql+=")";   //and shijian Between '"+request.getParameter("shijian1")+"' AND '"+request.getParameter("shijian2")+"'"   //查詢的時間格式例如:2015-10-27 24:00:0   Connection conn = DBUtil.getConn();   Statement state = null;   ResultSet rs = null;   int a=0;   boolean f=false;   try {    state = conn.createStatement();    a = state.executeUpdate(sql);       } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(rs, state, conn);   }   if(a>0)    f=true;   return f;  }      /**   * 所有數據   * @return   * @throws ClassNotFoundException   * @throws IllegalAccessException   * @throws InstantiationException   */  @SuppressWarnings("deprecation")  public <T> List<T> list(String table,String []strList,Class<T> clazz) throws ClassNotFoundException, InstantiationException, IllegalAccessException {   String sql = "select * from "+table;   List<T> list = new ArrayList<>();   Connection conn = DBUtil.getConn();   Statement state = null;   ResultSet rs = null;      try {    state = conn.createStatement();    rs = state.executeQuery(sql);    T bean = null;        while (rs.next()) {     bean=clazz.newInstance();     for(String it:strList)     {      Field fs=getDeclaredField(bean, it);      if(fs==null){       throw new IllegalArgumentException("Could not find field["+         it+"] on target ["+bean+"]");      }      makeAccessiable(fs);         try{             fs.set(bean, rs.getObject(it));         }         catch(IllegalAccessException e){             System.out.println("不可能拋出的異常");         }     }          list.add(bean);    }   } catch (SQLException e) {    e.printStackTrace();   } finally {    DBUtil.close(rs, state, conn);   }      return list;  }    //獲取field屬性,屬性有可能在父類中繼承  public static Field getDeclaredField(Object obj,String fieldName){      for (Class<?> clazz=obj.getClass(); clazz!=Object.class; clazz=clazz.getSuperclass()){          try{              return clazz.getDeclaredField(fieldName);          }          catch(Exception e){          }      }      return null;  }  //判斷field的修飾符是不是public,並據此改變field的訪問權限  public static void makeAccessiable(Field field){      if(!Modifier.isPublic(field.getModifiers())){          field.setAccessible(true);      }  } }
複製代碼

 

web服務界面代碼:

subway.jsp

複製代碼
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>石家莊地鐵線路查詢</title>
    <style> #dvs { margin: 20px 20px; background:rgb(240,240,240); width: 300px; } /*body { background: url(image/subway.jpg) ; background-position: center; background-size: auto; background-repeat: no-repeat; }*/ .subway-zoomcontainer { position: absolute; cursor: pointer; right: 9px; bottom: 83px; box-shadow: 1px 2px 1px rgba(0,0,0,.15); overflow: hidden; border: solid 1px #ccc; background: #fff; } .subway-zoomin-icon { position: relative; left: 8px; top: 8px; width: 10px; height: 10px; background: url(https://webmap1.bdimg.com/wolfman/static/common/images/api/mapZoom2x.png) 0 0; background-size: 40px 10px; } .subway-zoomin { width: 26px; height: 26px; border-bottom: solid 1px #ccc; } .subway-zoomout { width: 26px; height: 26px; } .subway-zoomout-icon { position: relative; left: 8px; top: 8px; width: 10px; height: 10px; background: url(https://webmap1.bdimg.com/wolfman/static/common/images/api/mapZoom2x.png) -10px 0; background-size: 40px 10px; } /*百度地圖功能測試*/ /* body, html{width: 100%;height: 100%;margin:0;font-family:"微軟雅黑";font-size:14px;} #l-map{height:100%;width:100%;} #r-result{width:100%;}*/ </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script> <link rel="stylesheet" href="subway.css"> </head> <body> <!-- 百度地圖搜索框測試 --> <!-- <div id="l-map"> </div> --> <!-- 搜索框結束 --> <div id="left-panel" class="" style="height: 857px;"> <form method="post" action="handleSql.jsp"> <div id="searchbox" class="clearfix"> <div id="searchbox-container"> <div id="sole-searchbox-content" class="searchbox-content" style="display: none;"> <input id="sole-input" class="searchbox-content-common" type="text" name="word" autocomplete="off" maxlength="256" placeholder="搜地點、查公交、找路線" value=""> <div class="input-clear" title="清空" style="display: none;"></div> <div class="searchbox-content-button right-button route-button loading-button" data-title="路線"> </div> </div> <div id="metro-searchbox-content" class="searchbox-content route-searchbox-content metroline"> <div class="route-header"> <div class="searchbox-content-button right-button cancel-button" data-title="清空"> </div> <div class="searchbox-content-common route-tabs"> <div class="tab-item metroline-tab" data-index="metroline"> <i></i> <span>站點查詢</span> </div> <div class="tab-item metrostation-tab" data-index="metrostation"> <!-- <i></i><span>站點查詢</span> --> </div> <div class="arrow-wrap"> </div> </div> <!-- <div class="searchbox-content-button right-button cancel-button" data-title="清空"> </div> --> </div> <div class="routebox"> <div class="searchbox-content-common routebox-content metroline-content" style="display: block;"> <div class="routebox-revert" title="切換起終點"> <div class="routebox-revert-icon"> </div> </div> <div class="routebox-inputs"> <div class="routebox-input route-start"> <div class="route-input-icon"> </div> <input name="start" id="sub_start_input" autocomplete="off" maxlength="256" placeholder="輸入起點" class="route-start-input" type="text" value=""> <div class="input-clear" title="清空"> </div> </div> <div class="routebox-input route-end"> <div class="route-input-icon"> </div> <input name="end" id="sub_end_input" autocomplete="off" maxlength="256" placeholder="輸入終點" class="route-end-input" type="text" value=""> <div class="input-clear" title="清空"> </div> </div> </div> </div> <div class="searchbox-content-common routebox-content metrostation-content" style="display: none;"> <div class="routebox-inputs"> <div class="routebox-input route-start"> <div class="route-input-icon"> </div> <input id="sub_station_input" autocomplete="off" maxlength="256" placeholder="輸入站點" class="route-start-input" type="text" value=""> <div class="input-clear" title="清空"> </div> </div> </div> </div> </div> </div> </div> <Input type="submit" id="search-button" data-title="搜索" data-tooltip="1" value=""> <div id="toast-wrapper" class=""> <div id="toast" class="warning"> <img class="info-tip-img" src="/wolfman/static/common/images/transparent.gif" alt=""> </div> </div> </div> </form> <ul id="cards-level0" class="cardlist"></ul> <ul id="cards-level1" class="cardlist"></ul> <ul id="cards-level2" class="cardlist"></ul> </div> <!-- 放大縮小框 --> <div class="subway-zoomcontainer" style="z-index:2;user-select: none;"> <div class="subway-zoomin"> <div class="subway-zoomin-icon" style="background-position: 0px 0px;" onclick="zoom(1.1)"> </div> </div> <div class="subway-zoomout"> <div class="subway-zoomout-icon" style="background-position: -10px 0px;" onclick="zoom(0.9)"> </div> </div> </div> <img src="Tony.png" id="subwayimage22" style="position:absolute;top:0;z-index:1;user-select: none;" width="9999" height="9999" onmousemove="on_Mousemove(event)" onmousedown="on_Mousedown(event);" onmouseup="on_Mouseup(event);" draggable="false"> <svg style="user-select: none;" width="9999" height="9999" xmlns="http://www.w3.org/2000/svg" id="svg" class="svgimg" style="position:absolute;top:0;z-index:0;"> <!-- Created with Method Draw - http://github.com/duopixel/Method-Draw/ --> <g> <title>background</title> <rect fill="#fff" id="canvas_background" height="819" width="1662" y="-1" x="-1"/> <g display="none" overflow="visible" y="0" x="0" height="100%" width="100%" id="canvasGrid"> <rect fill="url(#gridpattern)" stroke-width="0" y="0" x="0" height="100%" width="100%"/> </g> </g> <g transform="scale(1,1) translate(0,0)" id="subwayimage"> <title>Layer 1</title> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="8.757729" y1="286.750008" x2="424.745186" y2="286.750008" id="svg_3" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="428.750002" y1="285.749998" x2="429.750002" y2="522.749987" id="svg_7" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="430.750012" y1="522.75" x2="1235.916179" y2="518.75" id="svg_8" stroke-linejoin="null" stroke-linecap="null" stroke="#e8e819"/> <line fill="none" stroke="#56ffff" stroke-width="1.5" fill-opacity="null" x1="340.75001" y1="321.75" x2="340.75001" y2="631.75" id="svg_9" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="340.750008" y1="322.75" x2="924.625372" y2="320.75" id="svg_12" stroke-linejoin="null" stroke-linecap="null" stroke="#00ffff"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="204.750011" y1="397.75" x2="713.750043" y2="392.75" id="svg_13" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="711.75001" y1="393.75" x2="759.750009" y2="409.75" id="svg_14" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="758.750006" y1="408.75" x2="802.75001" y2="408.75" id="svg_16" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="803.75" y1="407.750007" x2="803.75" y2="228.750009" id="svg_18" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="802.750011" y1="230.750004" x2="755.750009" y2="187.749999" id="svg_19" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000" transform="rotate(-2.0042965412139893 779.250000000002,209.24999999999773) "/> <line fill="none" stroke="#ff0000" stroke-width="1.5" fill-opacity="null" x1="755.75001" y1="188.75" x2="756.75001" y2="141.75" id="svg_20" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke="#ff0000" stroke-width="1.5" fill-opacity="null" x1="755.75001" y1="142.75" x2="798.75001" y2="142.75" id="svg_22" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="798.75001" y1="143.749998" x2="799.75001" y2="-14.25" id="svg_24" stroke-linejoin="null" stroke-linecap="null" stroke="#ff0000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="546.999999" y1="272.999999" x2="546.999999" y2="497.999997" id="svg_25" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="545.999999" y1="272.999999" x2="573.999999" y2="228.999999" id="svg_26" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="573.999999" y1="231.999999" x2="572.999999" y2="189.999999" id="svg_28" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="574.999999" y1="190.999999" x2="641.999997" y2="115.000001" id="svg_29" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="691.999999" y1="224.999999" x2="691.999999" y2="277.999999" id="svg_30" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="640.999998" y1="276.999999" x2="691.999999" y2="276.999999" id="svg_31" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="639.999999" y1="276.999998" x2="641.999999" y2="603.999985" id="svg_32" stroke-linejoin="null" stroke-linecap="null" stroke="#00bf00"/> <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="642.999999" y1="116.999999" x2="643.999999" y2="74.999999" id="svg_33" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" opacity="0.5" x1="644.999999" y1="74.999999" x2="1025.969094" y2="76.999999" id="svg_34" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="338.000012" y1="603.22223" x2="643.999986" y2="602.22223" id="svg_35" stroke-linejoin="null" stroke-linecap="null" stroke="#00ff00"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="474.999998" y1="499.222229" x2="547.999999" y2="499.222229" id="svg_36" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="474.000966" y1="498.222232" x2="474.000966" y2="565.22223" id="svg_37" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="473.001931" y1="566.22223" x2="506" y2="567.22223" id="svg_38" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="506.999999" y1="567.222226" x2="506.999999" y2="680.22223" id="svg_39" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="507.999998" y1="678.000009" x2="678.999998" y2="678.000009" id="svg_40" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="677" y1="675.444455" x2="677" y2="816.444464" id="svg_44" stroke-linejoin="null" stroke-linecap="null" stroke="#000"/> <line fill="none" stroke="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" x1="677.999999" y1="814.222237" x2="876.999999" y2="813.222237" id="svg_45" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke="#00ff00" stroke-width="1.5" fill-opacity="null" x1="340.999999" y1="605.555563" x2="262.999999" y2="535.555563" id="svg_46" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke="#0000ff" stroke-width="1.5" fill-opacity="null" x1="265.999999" y1="503.555563" x2="390.999999" y2="505.555563" id="svg_47" stroke-linejoin="null" stroke-linecap="null"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="390.999999" y1="505.555562" x2="390.999999" y2="455.555563" id="svg_48" stroke-linejoin="null" stroke-linecap="null" stroke="#0000bf"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="391.999998" y1="455.555563" x2="753.000001" y2="455.555563" id="svg_49" stroke-linejoin="null" stroke-linecap="null" stroke="#005fbf"/> <line fill="none" stroke-width="1.5" fill-opacity="null" x1="749.999997" y1="456.555561" x2="781.999998" y2="408.555557" id="svg_50" stroke-linejoin="null" stroke-linecap="null" stroke="#005fbf"/> <line fill="none" stroke="#005fbf" stroke-width="1.5" fill-opacity="null" x1="782.999999" y1="409.555563" x2="784.999999" y2="635.555563" id="svg_51" stroke-linejoin="null" stroke-linecap="null"/> <ellipse fill="#000" stroke-width="1.5" cx="23.999999" cy="286.999999" id="svg_52" rx="4" ry="5"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="6.978282" y="278.125815" id="svg_53" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4274840133538049,0,0,0.49652937054634094,11.41375450861757,135.19759746547788) " stroke="#000">鹿泉一中</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="65.999999" cy="286.999999" id="svg_55" rx="4" ry="5"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="45.373584" y="318.018471" id="svg_57" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.42949756979942316,0,0,0.5261452794075012,29.51215553283691,138.71865515969694) " stroke="#000">鹿泉醫院</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="103.499999" cy="287.499999" id="svg_58" rx="4.5" ry="4.5"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="102.580619" y="263.508617" id="svg_60" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.45255220560829534,0,0,0.662858346304631,40.19398863447108,101.01990253497603) " stroke="#000">鹿泉中心</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="144.499998" cy="287.499999" id="svg_61" rx="5.5" ry="4.5" stroke="#000"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="229.999999" cy="224.999999" id="svg_62"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="182.999999" cy="287" id="svg_63" rx="6" ry="4" stroke="#000"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="224.499999" cy="286.499999" id="svg_64" rx="4.5" ry="5.5"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="263.499999" cy="286.499999" id="svg_65" rx="5.5" ry="3.5" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="313.499999" cy="286.999999" id="svg_66" rx="3.5" ry="4" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="367.999999" cy="286.499999" id="svg_67" rx="5" ry="4.5" stroke="#000"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="426.999999" cy="286.499999" id="svg_68" rx="5" ry="4.5"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="113.525258" y="304.999999" id="svg_69" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5095589571441436,0,0,0.5340622479145443,70.75605791345589,146.23171817854396) " stroke="#000">北海山</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="153.428338" y="283.124303" id="svg_70" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5316401124000549,0,0,0.6274738311767578,82.43134021759033,100.42490610480309) " stroke="#000">南新城</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="215.999999" y="300.999999" id="svg_71" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.518863929258747,0,0,0.5828509302834969,92.84869269010156,132.15302958513118) " stroke="#000">大郭鎮</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="257.999999" y="266.999999" id="svg_72" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.531300482240013,0,0,0.6650809049606323,108.79399648471028,98.29637623764575) " stroke="#000">西三莊</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="266.195882" y="403.188314" id="svg_73" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.593551516532898,0,0,0.5678108930587769,125.99902987480164,78.45582881942391) " stroke="#000">水上公園</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="323.999999" y="213.604117" id="svg_74" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5908783417995345,0,0,0.4932380938363247,156.93890582558458,166.36538727592077) " stroke="#000">高柱</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="409.745273" y="342.075136" id="svg_75" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6243754323861133,0,0,0.5317951440811157,151.72563770056468,89.6758613102138) " stroke="#000">柏林路</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="429.499999" cy="320.777781" id="svg_76" rx="3.5" ry="4" transform="rotate(150.56007385253906 429.5,320.7777709960938) "/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="392.999999" y="191.777781" id="svg_77" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6282671689987182,0,0,0.6038267016410828,184.0910025835037,221.16994393244383) " stroke="#000">市莊</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="385.999997" cy="321.777781" id="svg_78" rx="6" ry="4" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="365.072888" y="341.516546" id="svg_80" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4330810010433197,0,0,0.5751209500439103,210.89386761188507,143.77809940149177) " stroke="#000">火車站北</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="341.999999" cy="323.277781" id="svg_81" rx="4" ry="3.5" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="301.890896" y="316.360535" id="svg_82" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5021069645881653,0,0,0.5678108930587769,137.41847777366638,150.5368683114648) " stroke="#000">和平西路</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="363.777687" id="svg_84" rx="3.5" ry="5" stroke="#000"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="341.999999" cy="397.277781" id="svg_85" rx="4" ry="4.5"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="310.499999" cy="397.777782" id="svg_87" rx="3.5" ry="4" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="277.999999" cy="397.277781" id="svg_88" rx="4" ry="3.5" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="244" cy="397.777776" id="svg_89" rx="4" ry="4" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="204.999998" cy="398.277781" id="svg_90" rx="5" ry="4.5" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="191.902536" y="397.103708" id="svg_91" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6489189863204956,0,0,0.5317951440811157,55.470800161361694,176.19133984297514) " stroke="#000">上莊</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="136.999999" y="422.777781" id="svg_92" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.541362689660481,0,0,0.6481665786687394,152.41833927082087,145.80502269391235) " stroke="#000">西王</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="380.785432" y="310.36219" id="svg_93" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.48190700171947043,0,0,0.49856112721208845,71.35371248145269,231.39091786145127) " stroke="#000">法醫醫院</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="380.851183" y="376.117976" id="svg_94" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4969634097944683,0,0,0.5674911127816953,94.06428106636382,204.73437038335672) " stroke="#000">軍醫醫院</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="490.206265" y="385.092941" id="svg_95" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4815846631121872,0,0,0.5155719481236503,104.38777184118646,217.2121037854659) " stroke="#000">和平醫院</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="572.994236" y="278.767862" id="svg_96" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.45024311542510986,0,0,0.5678108930587769,83.01328957080841,208.8823977485299) " stroke="#000">河北二建</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="385.499999" cy="395.277781" id="svg_97" rx="5.5" ry="4.5" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="681.010904" y="336.37766" id="svg_98" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.4127495288848877,0,0,0.5859964181326838,86.25241294503212,196.20553576949595) " stroke="#000">烈士陵園</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="437.222227" id="svg_99" rx="5.5" ry="5"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="339.999999" cy="473.722227" id="svg_100" rx="5" ry="4.5" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="337.729133" y="450.196827" id="svg_101" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.46062146153900907,0,0,0.4773196660918935,132.2895832066389,226.53763671107066) " stroke="#000">益友百貨</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="175.999999" y="507.222227" id="svg_102" font-size="24" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.5581445693969727,0,0,0.49577939510345453,190.7665557861328,224.54699360765517) " stroke="#000">審計廳</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="504.722227" id="svg_105" rx="5.5" ry="4.5"/> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="336.999999" y="522.222227" id="svg_106" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">碧海雲天</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="304.999995" cy="504.722227" id="svg_107" rx="4" ry="4.5" stroke="#000"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="264.499999" cy="503.722227" id="svg_108" rx="3.5" ry="4.5" stroke="#000"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="282.999999" y="519.222227" id="svg_109" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000">創業園</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="239.999999" y="516.756579" id="svg_110" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1,0,0,1.0750292539596558,0,-37.472423024475574) " stroke="null">西崗頭</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="266.000964" cy="536.722227" id="svg_111" rx="6.000966" ry="5.5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="215.999999" y="548.222227" id="svg_113" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">碧水藍灣</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.999999" cy="552.722227" id="svg_114" rx="6" ry="5.5"/> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="364.999999" cy="567.222227" id="svg_115"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="346.999999" y="558.222227" id="svg_116" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">五星花園</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="298.499999" cy="568.722227" id="svg_117" rx="5.5" ry="4.5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="260.999999" y="584.222227" id="svg_118" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東良廂</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.499999" cy="604.222227" id="svg_119" rx="3.5" ry="5"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="286.999999" y="615.222227" id="svg_120" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="null">華一醫院</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="340.999999" cy="629.722227" id="svg_121" rx="5" ry="4.5"/> <text style="cursor: move;" fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="306.999999" y="644.000009" id="svg_123" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">濱河街頭</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="415.999999" cy="602.500009" id="svg_124" rx="4" ry="4.5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="397.999999" y="622.000009" id="svg_125" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">濱河街</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="506.499999" cy="602.00001" id="svg_126" rx="5.5" ry="5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="468.999999" y="617.000009" id="svg_127" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">塔談南</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="507.499999" cy="646.000009" id="svg_128" rx="4.5" ry="4"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="512.999999" y="672.502548" id="svg_129" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1,0,0,1.0280837222424697,0,-39.12820605410744) " stroke="null">南位</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="505.999999" cy="678.500009" id="svg_130" rx="4" ry="4.5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="494.999999" y="696.000009" id="svg_131" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">嘉華</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="555.499999" cy="677.500023" id="svg_132" rx="3.5" ry="3.5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="523.999999" y="697.000009" id="svg_133" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北科技大學</text> <ellipse fill="#020202" stroke-width="1.5" cx="628.999998" cy="679.000005" id="svg_137" rx="4" ry="4" stroke="null"/> <ellipse fill="#020202" stroke-width="1.5" cx="638.999999" cy="715.000009" id="svg_138"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="610.999999" y="698.000009" id="svg_139" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東尹村</text> <ellipse fill="#020202" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="677.499999" cy="677.500009" id="svg_140" rx="4.5" ry="3.5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="690.999999" y="691.000009" id="svg_141" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">樓底</text> <ellipse fill="#000" stroke-width="1.5" cx="677.499999" cy="747.722237" id="svg_142" rx="5.5" ry="5.5"/> <ellipse fill="#000" stroke-width="1.5" cx="676.999999" cy="786.222237" id="svg_143" rx="5" ry="4"/> <text fill="#000000" stroke-width="0" x="685.999999" y="752.222237" id="svg_144" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">於底</text> <text fill="#000000" stroke-width="0" x="686.999999" y="790.222237" id="svg_145" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">留營</text> <ellipse fill="#000" stroke-width="1.5" cx="676.999999" cy="814.222237" id="svg_146" rx="4" ry="5" transform="rotate(-17.003820419311523 677,814.2222290039059) "/> <ellipse fill="#000" stroke-width="1.5" cx="762.499999" cy="814.722239" id="svg_147" rx="4.5" ry="4.5" stroke="null"/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="873.999999" cy="813.222237" id="svg_148" rx="5" ry="6"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="673.999999" y="832.222237" id="svg_150" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">油通村</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="743.999999" y="831.222237" id="svg_151" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">欒城西</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="862.999999" y="830.222237" id="svg_152" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">欒城</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="506.999999" cy="569.555563" id="svg_153" rx="6" ry="5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="513.999999" y="573.555563" id="svg_154" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">塔談</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="473.001931" cy="522.055563" id="svg_155" rx="5" ry="4.5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="431.999999" y="540.555563" id="svg_156" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">火車站</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="493.555563" id="svg_157" rx="5" ry="5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="430.999999" y="496.555563" id="svg_158" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">中興路</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="454.055563" id="svg_159" rx="6" ry="5.5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="375.94493" y="451.554597" id="svg_160" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">槐安大橋</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="428.06041" id="svg_161" rx="4" ry="4.5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="432.996134" y="433.557495" id="svg_162" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">十一中</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="428.991304" y="409.552664" id="svg_163" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">新百廣場</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.999999" cy="395.055563" id="svg_164" rx="5" ry="5.5"/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="428.499999" cy="362.555563" id="svg_165" rx="4.5" ry="4"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="430.999999" y="366.555563" id="svg_166" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市二中</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="556.999999" cy="601.555563" id="svg_167" rx="4" ry="5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="542.999999" y="616.555563" id="svg_168" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南欒</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="594.499999" cy="601.555563" id="svg_169" rx="4.5" ry="6" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="576.999999" y="616.555563" id="svg_170" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">塗料廠</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="640.999999" cy="601.055563" id="svg_171" rx="4" ry="3.5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="644.999999" y="614.555563" id="svg_172" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">趙卜口</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="500.499999" cy="522.055563" id="svg_173" rx="4.5" ry="5.5"/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="533.999999" cy="523.055563" id="svg_174" rx="4" ry="4.5"/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="570.999999" cy="522.055563" id="svg_175" rx="5" ry="4.5"/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="613.999999" cy="520.555563" id="svg_176" rx="4" ry="5"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="481.999999" y="540.555563" id="svg_177" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">金街村</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="514.999999" y="516.555563" id="svg_178" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">印刷二廠</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="539.370951" y="538.555563" id="svg_179" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(1.0378473997116089,0,0,1,-3.7421616464853287,0) " stroke="null">塔冢</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="601.999999" y="536.555563" id="svg_180" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">裕華</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="642.499998" cy="522.555563" id="svg_181" rx="4.5" ry="5" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="633.988405" y="541.561359" id="svg_182" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南王</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="502.999515" cy="500.056044" id="svg_183" rx="4.001449" ry="3.500483" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="484.467594" y="490.918269" id="svg_184" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東三教</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.527504" cy="497.925032" id="svg_185" rx="5.004831" ry="5.004831"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="550.531361" y="498.925999" id="svg_186" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東崗頭</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="549.530403" y="450.879628" id="svg_188" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">新世隆</text> <ellipse fill="#000" stroke-width="1.5" cx="546.527516" cy="454.883489" id="svg_190" rx="5.004831" ry="4.003865"/> <ellipse fill="#000" stroke-width="1.5" cx="469.453112" cy="453.38204" id="svg_191" rx="4.003865" ry="4.504348"/> <ellipse fill="#000" stroke-width="1.5" cx="512.494655" cy="454.383006" id="svg_192" rx="4.003865" ry="4.504348" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="455.439587" y="446.875753" id="svg_193" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">裕隆</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="485.468574" y="451.880589" id="svg_194" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">人防大廈</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.527504" cy="426.856437" id="svg_195" rx="5.004831" ry="4.003865"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532327" y="429.859333" id="svg_196" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北大戲院</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="546.027021" cy="393.824555" id="svg_197" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="523.505274" y="407.838084" id="svg_198" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北國商城</text> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="463.947798" cy="394.825521" id="svg_199" rx="4.504348" ry="4.003865" transform="rotate(-8.515549659729004 463.9478149414066,394.8255310058595) "/> <ellipse fill="#000" stroke="null" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="507.990308" cy="393.824555" id="svg_200" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="448.432829" y="387.818752" id="svg_201" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">大石橋</text> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="487.470491" y="387.818756" id="svg_202" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市招待所</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="486.469536" cy="321.977427" id="svg_203" rx="4.003865" ry="4.003865"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="464.448291" y="316.972589" id="svg_204" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">軍械學院</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="547.52847" cy="321.977427" id="svg_205" rx="5.004831" ry="5.004831"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="553.53427" y="315.971636" id="svg_207" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藍天聖木</text> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="548.028953" cy="355.009309" id="svg_208" rx="4.504348" ry="4.003865" stroke="null"/> <text fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532349" y="358.01221" id="svg_209" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">長安公園</text> <ellipse fill="#000000" stroke="null" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="571.551657" cy="393.546505" id="svg_210" rx="3.002898" ry="3.503381"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="611.590302" cy="394.046997" id="svg_211" rx="4.003865" ry="4.003867" stroke="null"/> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="549.530398" y="386.039262" id="svg_213" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">省博物館</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="585.565171" y="408.060512" id="svg_214" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">河北醫大</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" cx="589.068565" cy="322.47791" id="svg_215" rx="3.503381" ry="4.504348"/> <text fill="#000000" stroke="#000000" stroke-width="0" x="572.552632" y="335.990957" id="svg_217" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">常青園</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" cx="639.617354" cy="320.97646" id="svg_218" rx="4.003865" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" x="617.5961" y="316.972593" id="svg_219" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">建華市場</text> <ellipse fill="#000" stroke-width="1.5" cx="640.618307" cy="359.513667" id="svg_220" rx="3.002894" ry="3.503383" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" x="643.621248" y="363.01704" id="svg_221" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">長安醫院</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="639.617354" cy="393.546505" id="svg_222" rx="4.003865" ry="4.504348"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="622.600919" y="386.039262" id="svg_223" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">建百大樓</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="667.143923" cy="394.547471" id="svg_224" rx="3.503381" ry="4.504348"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="648.626038" y="412.064383" id="svg_225" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藝術學校</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="694.170008" cy="394.046988" id="svg_226" rx="2.502415" ry="3.002898"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="680.65698" y="388.041193" id="svg_227" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">談固</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="714.18934" cy="393.04601" id="svg_228" rx="2.502409" ry="3.002899" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="710.68595" y="388.041192" id="svg_229" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">白佛口</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.55359" cy="455.105922" id="svg_230" rx="3.002898" ry="4.003865"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="611.089819" cy="456.106888" id="svg_232" rx="3.503381" ry="4.003865" transform="rotate(34.604347229003906 611.0898437499999,456.10687255859375) "/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="551.532328" y="474.124278" id="svg_233" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8376125693321228,0,0,0.8965385556221008,89.37905676104128,47.591964461526004) " stroke="#000000">石門公園</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="593.740997" y="473.002796" id="svg_234" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8782094717025757,0,0,1.0333660371708502,73.00771278329194,-16.100229403334858) " stroke="#000000">省地震局</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.118803" cy="455.606405" id="svg_235" rx="4.504348" ry="4.504348"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="642.372324" y="471.236893" id="svg_236" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8014817833900452,0,0,0.8965385556221008,127.54795417189598,49.17843431824622) " stroke="#000000">東明商城</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.619286" cy="425.577421" id="svg_237" rx="4.003865" ry="4.504348"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="646.62412" y="433.084667" id="svg_238" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">兒童醫院</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="681.657939" cy="456.10687" id="svg_239" rx="3.002903" ry="4.003867" stroke="#000000"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="723.198026" cy="456.106888" id="svg_240" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="661.638609" y="454.104957" id="svg_242" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">國際城</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="697.673397" y="449.100123" id="svg_243" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.7739247408284767,0,0,1.0532593947250035,165.2605724980005,-23.222637915761684) " stroke="#000000">二十里鋪</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="641.118803" cy="493.142634" id="svg_244" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="645.623181" y="496.145532" id="svg_246" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8164405471893446,0,0,0.8458039164543152,118.44023293112517,77.31050842836521) " stroke="#000000">經濟學院</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="672.148753" cy="521.169686" id="svg_248" rx="3.503381" ry="4.003865"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="696.17194" cy="522.170652" id="svg_249" rx="2.502415" ry="3.002898"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="735.209619" cy="521.169686" id="svg_250" rx="3.503381" ry="3.002898"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="784.256959" cy="521.169686" id="svg_251" rx="3.503381" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="662.639575" y="536.184179" id="svg_252" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">卓達</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="687.66374" y="517.165821" id="svg_253" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">位同</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="716.691763" y="537.185144" id="svg_254" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">中仰陵</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="770.743914" y="539.187077" id="svg_255" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南豆</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="782.75551" cy="470.620897" id="svg_256" rx="4.003865" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="785.758408" y="475.125243" id="svg_257" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北豆</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="781.254061" cy="410.562931" id="svg_258" rx="4.504348" ry="6.506279" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="760.734255" y="400.052785" id="svg_260" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">海世界</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.275316" cy="407.059548" id="svg_261" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="791.764205" y="423.075005" id="svg_262" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">卓達星辰</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.775799" cy="363.017038" id="svg_263" rx="4.003865" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="812.784498" y="371.024766" id="svg_264" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">石家莊東</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="802.774837" cy="321.476942" id="svg_265" rx="3.002899" ry="4.504346" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="766.740049" y="335.990953" id="svg_266" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東杜莊</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="680.156482" cy="319.975494" id="svg_267" rx="3.503381" ry="4.003865" transform="rotate(-91.8455581665039 680.156494140625,319.97549438476557) "/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="661.638606" y="333.989019" id="svg_269" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南翟營</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="718.193195" cy="320.475978" id="svg_270" rx="3.503381" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="702.67822" y="334.989985" id="svg_271" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">土賢莊</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="761.234745" cy="319.975495" id="svg_272" rx="2.50242" ry="3.002898" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="743.717831" y="316.972597" id="svg_273" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西兆通</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="849.820241" cy="320.47598" id="svg_274" rx="4.003865" ry="4.504348" stroke="#000000"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="923.391251" cy="319.975494" id="svg_275" rx="4.504348" ry="5.004831"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="907.876275" y="336.991918" id="svg_276" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東五女</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="834.80575" y="334.989984" id="svg_277" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南楊莊</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="804.276282" cy="272.930086" id="svg_278" rx="3.503381" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="817.789325" y="278.935883" id="svg_280" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東兆通</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="803.275327" cy="230.889509" id="svg_281" rx="3.503385" ry="5.004831" stroke="#000000"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="774.747784" y="241.900136" id="svg_282" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西莊</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="639.617354" cy="277.434434" id="svg_284" rx="3.002898" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="598.577743" y="283.940715" id="svg_285" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北翟營</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="691.667592" cy="275.432502" id="svg_286" rx="4.003865" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="694.670493" y="280.937816" id="svg_287" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">高營鎮</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="691.667592" cy="227.886611" id="svg_288" rx="4.003865" ry="3.002898"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="701.677246" y="234.893374" id="svg_289" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">十里鎮</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="547.52847" cy="273.430569" id="svg_290" rx="5.004831" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="552.533303" y="282.939748" id="svg_291" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">運河橋</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.053107" cy="227.886611" id="svg_292" rx="3.503381" ry="3.002898"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="579.55939" y="235.89434" id="svg_293" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">鐵道大學</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="573.55359" cy="191.184514" id="svg_294" rx="5.004831" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="581.561325" y="199.192243" id="svg_295" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西古城</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="600.079192" cy="162.156497" id="svg_297" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="606.585473" y="174.16809" id="svg_298" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">市農科院</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="627.105277" cy="133.628962" id="svg_299" rx="3.503381" ry="3.503381"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="633.61156" y="140.135243" id="svg_300" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">神學院</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="643.120735" cy="102.098529" id="svg_301" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="652.629912" y="108.104326" id="svg_302" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">西關</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="756.730391" cy="160.154564" id="svg_303" rx="4.003865" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="725.700437" y="169.163259" id="svg_304" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">臨濟</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="778.251163" cy="141.136208" id="svg_305" rx="3.503381" ry="4.003865"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="751.725569" y="133.128479" id="svg_306" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">行政中心</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.271451" cy="112.10819" id="svg_307" rx="4.504348" ry="4.003865"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.777734" y="117.11302" id="svg_308" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000000">羅家莊南</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="642.119769" cy="75.072443" id="svg_309" rx="4.504348" ry="3.002898"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="611.590308" y="71.06858" id="svg_311" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">正定</text> <ellipse fill="#000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="668.645372" cy="75.072443" id="svg_312" rx="3.002898" ry="2.001932" stroke="#000000"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="708.183534" cy="75.072443" id="svg_313" rx="3.503381" ry="3.002898"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="746.220247" cy="75.072444" id="svg_314" rx="3.503381" ry="4.003865"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="777.250197" cy="75.572926" id="svg_315" rx="3.503381" ry="3.503381" transform="rotate(-19.983339309692383 777.2501831054686,75.57292938232423) "/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.771934" cy="76.07341" id="svg_316" rx="3.002898" ry="4.003865"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="654.63184" y="53.051188" id="svg_317" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.6310911178588865,0,0,1.1429800318956038,234.08095569908622,6.064623812149378) " stroke="#000000">石家莊學院</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="694.67049" y="69.066649" id="svg_318" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北關</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="722.028133" y="92.089297" id="svg_319" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8579109907150269,0,0,0.8965385556221008,102.10205387510359,7.064776701236042) " stroke="#000000">天元湘西</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="759.733263" y="66.063749" id="svg_320" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.9008024982113554,0,0,0.8448078036308289,75.10194451922942,11.062743675987804) " stroke="#000000">天元湖</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="801.773877" y="88.085004" id="svg_321" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8697400689125061,0,0,1,104.29342794977129,0) " stroke="#000000">羅家莊</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="853.824105" cy="75.072443" id="svg_322" rx="3.002898" ry="3.002898"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="897.866615" cy="75.072443" id="svg_323" rx="3.002898" ry="3.002898"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="941.909124" cy="74.57196" id="svg_324" rx="3.002898" ry="3.503381"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="989.455015" cy="77.074376" id="svg_325" rx="3.503381" ry="4.003865"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="1025.489796" cy="77.574859" id="svg_326" rx="2.502415" ry="3.503381"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.771934" cy="56.054086" id="svg_328" rx="3.002898" ry="2.001932"/> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="799.271451" cy="38.036696" id="svg_329" rx="2.502415" ry="3.002898"/> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.777722" y="62.059883" id="svg_330" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="matrix(0.8808890581130981,0,0,1,95.84336383268237,0) " stroke="#000000">羅家莊北</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="806.778709" y="42.040558" id="svg_331" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">侯家莊</text> <ellipse fill="#000" stroke="#000000" stroke-width="1.5" stroke-opacity="null" fill-opacity="null" cx="798.770968" cy="20.019306" id="svg_332" rx="3.002898" ry="3.002898"/> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="807.779682" y="27.026065" id="svg_335" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">樹路</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="838.809613" y="72.069541" id="svg_336" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">諸福屯</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="884.854064" y="71.068579" id="svg_337" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">姚村</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="925.893694" y="71.068578" id="svg_338" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000000">蔡家崗</text> <text fill="#000000" stroke="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="969.93616" y="72.069541" id="svg_339" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北白皮</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1014.97967" y="72.069545" id="svg_340" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" stroke="#000">只都</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="822.126851" cy="521.558953" id="svg_341" rx="4.003865" ry="4.504348"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="871.174191" cy="520.057504" id="svg_342" rx="4.003865" ry="5.004831"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="932.233125" cy="520.057504" id="svg_343" rx="5.004831" ry="5.004831"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="972.27177" cy="520.057504" id="svg_344" rx="4.003865" ry="4.003865"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1062.358721" cy="519.056538" id="svg_345" rx="5.004831" ry="5.004831"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="784.090138" cy="562.598564" id="svg_346" rx="5.004831" ry="5.505314"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="784.090138" cy="595.129964" id="svg_347" rx="4.003865" ry="4.003865"/> <ellipse fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="786.092069" cy="635.669095" id="svg_348" rx="6.005796" ry="5.505314" stroke="#000"/> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="789.094968" y="600.134794" id="svg_350" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">工農路</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="790.095941" y="565.10098" id="svg_351" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">東仰陵</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="805.110429" y="539.075861" id="svg_352" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">韓通</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="850.153902" y="536.072961" id="svg_353" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">北樂鄉</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="917.218631" y="537.073929" id="svg_354" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南席</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="954.254379" y="537.073927" id="svg_355" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">南席東</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1041.338431" y="538.074896" id="svg_356" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城西</text> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1105.900748" cy="518.556055" id="svg_357" rx="4.504348" ry="4.504348"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1157.450503" cy="518.556055" id="svg_358" rx="4.003865" ry="4.504348"/> <ellipse fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" cx="1232.522963" cy="518.055572" id="svg_359" rx="5.004831" ry="5.004831"/> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1214.505573" y="541.07779" id="svg_360" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">工業園</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1093.388672" y="538.074891" id="svg_361" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1141.435048" y="536.072963" id="svg_362" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">藁城東</text> <text fill="#000000" stroke="#000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="795.100762" y="638.171507" id="svg_363" font-size="12" font-family="Helvetica, Arial, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve">郄馬</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="135.751262" y="408.128657" id="svg_364" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.323177665479534,0,0,2.240630644060161,-55.21473357696062,-507.71592987101945) " stroke="#000">一號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="265.656498" y="684.755763" id="svg_365" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.5315284729003906,0,0,1.7718292474746704,-116.98609483242035,-542.8492174465209) " stroke="#000">五號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="970.937142" y="321.087678" id="svg_366" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.495351626744423,0,0,1.800472932482904,-508.79553720948513,-260.92749635914345) " stroke="#000">五號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="772.612192" y="23.155663" id="svg_367" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.2898725271224976,0,0,1.744183897972107,-251.8494042288512,-9.744157914072275) " stroke="#000">一號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="166.750789" y="595.474795" id="svg_368" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.4374249470139944,0,0,2.0201489091609233,-50.89796812457011,-629.1003914656308) " stroke="#000">四號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="474.294909" y="172.551198" id="svg_369" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.9909437202542648,0,0,1.6511370186348984,-297.1530456625842,-74.43033276948424) " stroke="#000">四號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="181.180804" y="504.691205" id="svg_370" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="rotate(-1.686640977859497 211.4925231933589,500.616546630859) matrix(1.6718876414088293,0,0,1.8462280011996268,-122.86901496428285,-422.74901314991126) " stroke="#000">六號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="801.467225" y="665.012241" id="svg_371" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" transform="rotate(-4.6771039962768555 828.464843749997,657.8839111328131) matrix(1.4308805400142246,0,0,1.786565288425906,-345.16096890320233,-521.435148001328) " stroke="#000" font-weight="bold" font-style="italic">六號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="920.888836" y="870.618091" id="svg_372" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="rotate(-5.417753219604492 919.7630004882803,830.1729736328117) matrix(1.5495148384528639,0,0,2.322592209137838,-537.1188968088334,-1180.662874606645) " stroke="#000">二號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1012.786558" y="115.330423" id="svg_373" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-style="italic" font-weight="bold" transform="matrix(1.6311510801315308,0,0,1.8007729053497314,-657.0381361525506,-89.16105818003416) " stroke="#000">二號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="26.825145" y="233.484693" id="svg_374" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.5498554311623651,0,0,2.181600953061905,-21.428133679609594,-268.99278488329577) " stroke="#000">三號線</text> <text fill="#000000" stroke-width="0" stroke-opacity="null" fill-opacity="null" x="1193.151622" y="470.787721" id="svg_375" font-size="12" font-family="Euphoria, sans-serif" text-anchor="start" style="user-select: none;" xml:space="preserve" font-weight="bold" font-style="italic" transform="matrix(1.9775887326892412,0,0,1.9396863738681418,-1188.54474343339,-416.25077726611875) " stroke="#000">三號線</text> </g> </svg> <br> <!-- <input type="button" onclick="zoom(1.1)" value="測試按鈕"> --> <!-- 縮放結束 --> <br> <!-- 顯示詳細詳細 --> <div class="tooltip" id="tooltip-1" style="left: 397px; top: 57px; display: none;">搜索</div> <script type="text/javascript"> // // 百度地圖API功能測試 // function G(id) { // return document.getElementById(id); // } // var map = new BMap.Map("l-map"); // map.centerAndZoom("石家莊",10); // 初始化地圖,設置城市和地圖級別。 // // 定義一個控件類,即function // function ZoomControl() { // this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT; // this.defaultOffset = new BMap.Size(10, 10); // } // // 經過JavaScript的prototype屬性繼承於BMap.Control // ZoomControl.prototype = new BMap.Control(); // // 自定義控件必須實現本身的initialize方法,而且將控件的DOM元素返回 // // 在本方法中建立個div元素做爲控件的容器,並將其添加到地圖容器中 // ZoomControl.prototype.initialize = function(map){ // // 建立一個DOM元素 // var div = document.createElement("div"); // div.innerHTML = '<div id="r-result">搜索地址:<input type="text" id="suggestId" size="20" value="百度" style="width:150px;" /></div><div id="searchResultPanel" style="border:1px solid #C0C0C0;width:150px;height:auto; display:none;"></div>'; // // 添加DOM元素到地圖中 // map.getContainer().appendChild(div); // // 將DOM元素返回 // return div; // } // // 建立控件 // var myZoomCtrl = new ZoomControl(); // // 添加到地圖當中 // map.addControl(myZoomCtrl); // var ac = new BMap.Autocomplete( //創建一個自動完成的對象 // {"input" : "suggestId" // ,"location" : map // }); // ac.addEventListener("onhighlight", function(e) { //鼠標放在下拉列表上的事件 // var str = ""; // var _value = e.fromitem.value; // var value = ""; // if (e.fromitem.index > -1) { // value = _value.province + _value.city + _value.district + _value.street + _value.business; // } // str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value; // value = ""; // if (e.toitem.index > -1) { // _value = e.toitem.value; // value = _value.province + _value.city + _value.district + _value.street + _value.business; // } // str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value; // G("searchResultPanel").innerHTML = str; // }); // var myValue; // ac.addEventListener("onconfirm", function(e) { //鼠標點擊下拉列表後的事件 // var _value = e.item.value; // myValue = _value.province + _value.city + _value.district + _value.street + _value.business; // G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue; // setPlace(); // }); // function setPlace(){ // map.clearOverlays(); //清除地圖上全部覆蓋物 // function myFun(){ // var pp = local.getResults().getPoi(0).point; //獲取第一個智能搜索的結果 // map.centerAndZoom(pp, 14); // map.addOverlay(new BMap.Marker(pp)); //添加標註 // } // var local = new BMap.LocalSearch(map, { //智能搜索 // onSearchComplete: myFun // }); // local.search(myValue); // } // //--------------------滾輪實現矢量圖(路徑)放大功能--------------------------- var myimage = document.getElementById("subwayimage22"); if (myimage.addEventListener) { // IE9, Chrome, Safari, Opera myimage.addEventListener("mousewheel", MouseWheelHandler, false); // Firefox myimage.addEventListener("DOMMouseScroll", MouseWheelHandler, false); } // IE 6/7/8 else myimage.attachEvent("onmousewheel", MouseWheelHandler); function MouseWheelHandler(e) { // cross-browser wheel delta var e = window.event || e; // old IE support var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail))); //myimage.style.width = Math.max(50, Math.min(1900, myimage.width + (30 * delta))) + "px";  e.wheelDelta>0 || e.detail >0?zoombypositon(1.1,e):zoombypositon(0.9,e); return false; } //------------------------------實現放大矢量圖功能---------------------------------------- var svg = document.getElementById("svgimg"); var svgPanel = document.getElementById("subwayimage"); var bgPath=document.getElementById("subwayimage").getBBox(); var gridSvg = document.getElementById("grid"); var width = 800; //設置svg總體的寬和高 var height = 400; var gridLength = 20; //定義網格的大小 var scale=1.0; svg.setAttribute("width",width); svg.setAttribute("height",height); //繪製網格  drawGrid(gridSvg,width,height,gridLength); /** * 繪製網格 * @param {Object} svgBackground 繪製網格對象 * @param {Int} winWidth 區域寬度 * @param {Int} winHeigth 區域高度 * @param {Int} gridLength 網格大小 */ function drawGrid(svgBackground,winWidth,winHeight,gridLength) { var childs = gridSvg.childNodes; //刪除以前的網格節點,便於重繪 for (var i = childs.length - 1; i >= 0; i--) { svgBackground.removeChild(childs.item(i)); } for (var i = 0, len = Math.ceil(winWidth / gridLength); i <= len; i++) { var attrs = { x1: i * gridLength, y1: 0, x2: i * gridLength, y2: winHeight, stroke: "#ddd" }; var line = resetSVG("line", attrs); svgBackground.appendChild(line); }; for (var i = 0, len = Math.ceil(winHeight / gridLength); i <= len; i++) { var attrs = { x1: 0, y1: i * gridLength, x2: winWidth, y2: i * gridLength, stroke: "#ddd" }; var line = resetSVG("line", attrs); svgBackground.appendChild(line); }; } /** * js建立svg元素 * @param {String} tag svg的標籤名 * @param {Object} svg元素的屬性 */ function resetSVG(tag, attrs) { var element = document.createElementNS('http://www.w3.org/2000/svg', tag); for (var k in attrs) { element.setAttribute(k, attrs[k]); } return element; } /** * svg放縮 * {Float} num 放縮的倍數 */ function zoom(num){ if((scale<2.14||num<1)&&(scale>0.5||num>1)) { scale*= num; if(!fmemory) { bx1=0; by1=0; bx=0; by=0; bx=1; by=1; fmemory=true; } svgPanel.setAttribute("transform","scale("+scale+") translate("+bx+","+by+")"); } } var bx1=0.0; var by1=0.0; var bx=bgPath.x; var by=bgPath.y; var addTemp=false; function zoombypositon(num,e){ if((scale<2.0||num<1)&&(scale>0.5||num>1)) { scale*= num; var bWitdth=bgPath.width; var bHeight=bgPath.height; bx=bgPath.x; by=bgPath.y; var x=e.clientX-bx; var y=e.clientY-by; x-=x*scale; y-=y*scale; bx+=x/scale; by+=y/scale; //-----偏移量設置---- if(fmemory) { bx-=(bgPath.x-bx1)/scale; by-=(bgPath.y-by1)/scale; } else { bx-=bgPath.x/scale; by-=bgPath.y/scale; } svgPanel.setAttribute("transform","scale("+scale+") translate("+bx+","+by+")"); addTemp=true; } } var g_checkDown=false; var fmemory=false; var x=0.0; var y=0.0; // var t,et;  function on_Mouseup(e) { //alert("鼠標移動到了按鈕,經過onmouseover方法觸發了mouseover事件"); g_checkDown=false; } function on_Mousedown(e) { //alert("鼠標移動到了按鈕,經過onmouseover方法觸發了mouseover事件"); g_checkDown=true; x=e.clientX; y=e.clientY; if(!fmemory) { bx1=0; by1=0; bx=0; by=0; bx=1; by=1; fmemory=true; } else { bx1=bx; by1=by; } // et=e; // t=setTimeout("text()",500);  } var oldscale=1.0; var g_once=false; function on_Mousemove(e) { if(!g_once) { oldscale=1.0; g_once=true; } if(g_checkDown) { bx1+=((e.clientX-x))/scale; by1+=((e.clientY-y))/scale; bx+=((e.clientX-x))/scale; by+=((e.clientY-y))/scale; if(addTemp) { //偏移量設置 // bx1-=(bx-bgPath.x)*(oldscale-scale); // by1-=(by-bgPath.y)*(oldscale-scale); addTemp=false; oldscale=scale; } svgPanel.setAttribute("transform", "scale("+scale+") translate("+(bx1)+","+(by1)+")"); x=e.clientX; y=e.clientY; //alert("鼠標移動到了按鈕,經過onmouseover方法觸發了mouseover事件"+(bx+e.clientX-x));  } } //計時器例子 // function text(e) // { // if(g_checkDown) // { // bx=bgPath.x; // by=bgPath.y; // svgPanel.setAttribute("transform","translate("+(bx+et.clientX-x)+","+by+et.clientY-y+")"); // x=et.clientX; // y=et.clientY; // //alert("鼠標移動到了按鈕,經過onmouseover方法觸發了mouseover事件"+(bx+e.clientX-x)); // alert("鼠標移動到了按鈕,經過onmouseover方法觸發了mouseover事件"+(bx+et.clientX-x)); // t=setTimeout("text()",500); // } // else // { // clearTimeout(t) // } // } //---------------------綁定滾輪放大矢量圖圖功能-------------- // if(document.addEventListener){ // document.addEventListener('DOMMouseScroll',scrollZoom,false); // } // window.onmousewheel=document.onmousewheel=scrollZoom; // * // * 滑輪滾動處理事件,向上滾放大 // * {Object} e 事件對象 // function scrollZoom(e){ // e=e || window.event; // //e.detail用來兼容 FireFox // e.wheelDelta>0 || e.detail >0?zoom(1.1):zoom(0.9); // } //----------------------------------------- // 文件可移動到電腦 // window.onload = function () { // var box1 = document.getElementById("subwayimage"); // box1.onmousedown = function (event) { // // console.log(1); // /*再次點擊時使得圖標任然在那個位置,鼠標能夠點擊到圖標上*/ // var ol = event.clientX - box1.offsetLeft; // var ot = event.clientY - box1.offsetTop; // /*鼠標點擊*/ // document.onmousemove = function (event) { // var left = event.clientX - ol; // var top = event.clientY - ot; // box1.style.left = left+"px";/*賦值*/ // box1.style.top = top+"px"; // } // /*鼠標鬆開*/ // document.onmouseup = function (event) { // document.onmousemove = null; // document.onmouseup = null; // } // } // } </script> </body> </html> <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <%} %>
複製代碼

 

handleSql.jsp

複製代碼
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  <%@ page language="java" import="java.util.*"%> <%@ page language="java" import="lyz.ClassService"%> <%@ page language="java" import="com.hdq.entity.LineInfo"%> <%@ page language="java" import="com.hdq.entity.Linenum" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數據處理層</title> </head> <body> <% request.setCharacterEncoding("utf-8"); //-------------------------------- String start=request.getParameter("start"); String end=request.getParameter("end"); ClassService service=new ClassService(); @SuppressWarnings("unchecked") List<Linenum> ln=(List<Linenum>)service.list("linenum", new String[]{"linenum"},new Linenum().getClass()); int g_slinenum=-1,g_elinenum=-1; int g_snum=-1,g_enum=-1; List<LineInfo> pathInfo=new ArrayList<LineInfo>(); c:for(Linenum it:ln) { int g_count=0; @SuppressWarnings("unchecked") List<LineInfo> info=(List<LineInfo>)service.list("line"+it.getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass()); for(LineInfo it1:info) { if(it1.getName().equals(start)) { //找到相應的節點 g_slinenum=it.getLinenum(); g_snum=g_count; } if(it1.getName().equals(end)) { g_elinenum=it.getLinenum(); g_enum=g_count; } if(g_elinenum!=-1&&g_slinenum!=-1) break c; g_count++; } } if(g_slinenum!=-1&&g_elinenum!=-1) { if(g_elinenum!=g_slinenum) { //狀況一:換乘線路只有一或沒有的狀況給予最短路徑 @SuppressWarnings("unchecked") List<LineInfo> einfo=(List<LineInfo>)service.list("line"+g_elinenum, new String[]{"linenum","name"},new LineInfo().getClass()); @SuppressWarnings("unchecked") List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass()); int g_center=-1,g_ecenter=-1; boolean fOutside=false,feOutside=false; for(int i=0;i<sinfo.size();i++) { if(i==g_snum) fOutside=true; if(sinfo.get(i).getLinenum()==g_elinenum) { g_center=i; } if(g_center!=-1&&fOutside) break; } if(g_center<g_snum) { pathInfo=sinfo.subList(g_center, g_snum+1); Collections.reverse(pathInfo); } else { pathInfo=sinfo.subList(g_snum, g_center+1); } List<LineInfo> subPathInfo=new ArrayList<LineInfo>(); for(int i=0;i<einfo.size();i++) { if(i==g_enum) feOutside=true; if(g_center<g_snum) { if(einfo.get(i).getName().equals(sinfo.get(g_snum).getName())) { g_ecenter=i; } } else { if(einfo.get(i).getName().equals(sinfo.get(g_center).getName())) { g_ecenter=i; } } if(g_ecenter!=-1&&feOutside) break; } if(g_ecenter<g_enum) { subPathInfo=einfo.subList(g_ecenter, g_enum+1); } else { subPathInfo=einfo.subList(g_enum, g_ecenter+1); Collections.reverse(subPathInfo); } LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+g_elinenum+"號線路"); pathInfo.add(pointInfo); pathInfo.addAll(subPathInfo); } else { @SuppressWarnings("unchecked") List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass()); if(g_snum>g_enum) { pathInfo=sinfo.subList(g_enum,g_snum+1); Collections.reverse(pathInfo); } else pathInfo=sinfo.subList(g_snum,g_enum+1); } //狀況二:考慮可能換乘兩路的狀況 @SuppressWarnings("unchecked") List<LineInfo> einfo=(List<LineInfo>)service.list("line"+g_elinenum, new String[]{"linenum","name"},new LineInfo().getClass()); @SuppressWarnings("unchecked") List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass()); //開始中間節點的儲存 List<LineInfo> scenterPointList=new ArrayList<LineInfo>(); List<Integer> snumList=new ArrayList<Integer>(); //結束中間節點的儲存 List<LineInfo> ecenterPointList=new ArrayList<LineInfo>(); List<Integer> enumList=new ArrayList<Integer>(); List<Integer> ecnumList=new ArrayList<Integer>(); List<Integer> scnumList=new ArrayList<Integer>(); //儲存全部可能出現的路徑的容器 List<List<LineInfo>> pathList=new ArrayList<List<LineInfo>>(); for(int i1=0;i1<einfo.size();i1++) { for(int j1=0;j1<sinfo.size();j1++) { if(einfo.get(i1).getLinenum()==sinfo.get(j1).getLinenum()&&sinfo.get(j1).getLinenum()!=-1) { scenterPointList.add(sinfo.get(j1)); snumList.add(j1); ecenterPointList.add(einfo.get(i1)); enumList.add(i1); } } } for(int i=0;i<scenterPointList.size();i++) { //儲存開始節點到線路節點信息 List<LineInfo> pathTemp; //起點到開始中間節點路徑 if(g_snum>snumList.get(i)) { pathTemp=new ArrayList<LineInfo>(sinfo.subList(snumList.get(i), g_snum+1)); Collections.reverse(pathTemp); } else { pathTemp=new ArrayList<LineInfo>(sinfo.subList( g_snum,snumList.get(i)+1)); } //獲取中間節點線路 @SuppressWarnings("unchecked") List<LineInfo> centerinfo=(List<LineInfo>)service.list("line"+scenterPointList.get(i).getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass()); //初始化中間線路節點的開始站點和結束站點位置 int scnum=-1,ecnum=-1; for(int j=0;j<centerinfo.size();j++) { if(scenterPointList.get(i).getName().equals(centerinfo.get(j).getName())) { scnum=j; } if(ecenterPointList.get(i).getName().equals(centerinfo.get(j).getName())) { ecnum=j; } if(ecnum!=-1&&scnum!=-1) { break; } } if(scnum!=-1&&ecnum!=-1) { if(scnum>ecnum) { List<LineInfo> temp=new ArrayList<LineInfo>(centerinfo.subList(ecnum,scnum+1)); Collections.reverse(temp); LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+scenterPointList.get(i).getLinenum()+"號線路"); pathTemp.add(pointInfo); pathTemp.addAll(temp); } else { List<LineInfo> temp=new ArrayList<LineInfo>(centerinfo.subList(scnum,ecnum+1)); LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+scenterPointList.get(i).getLinenum()+"號線路"); pathTemp.add(pointInfo); pathTemp.addAll(temp); } LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+centerinfo.get(ecnum).getLinenum()+"號線路"); pathTemp.add(pointInfo); } ecnumList.add(ecnum); scnumList.add(scnum); //從開始中間節點到結束節點路徑 if(g_enum>enumList.get(i)) { List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList(enumList.get(i), g_enum+1)); pathTemp.addAll(temp); } else { List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList( g_enum,enumList.get(i)+1)); Collections.reverse(temp); pathTemp.addAll(temp); } pathList.add(pathTemp); } //最優路徑求解 //若不是同一線路則進行求解 if(g_slinenum!=g_elinenum) { for(int z=0;z<pathList.size();z++) { //如果換乘兩次才進行比較 if(ecnumList.get(z)!=-1&&scnumList.get(z)!=-1) { if((pathInfo.size()-2)>(pathList.get(z).size()-4)) { pathInfo=pathList.get(z); } } } } /* //上述狀況都是根據同窗的想法實現的,可是老是不對,下面用本身以前的迷宮實現最優路徑 //狀況三:迷宮算法 //迷宮算法儲存轉換節點權值 List<Integer> valueList=new ArrayList<Integer>(); List<List<List<LineInfo>>> theShortest=new ArrayList<List<List<LineInfo>>>(); for(int i=0;i<sinfo.size();i++) { //更改的線路號 int g_changePoint=sinfo.get(i).getLinenum(); if(g_changePoint==-1) continue; List<LineInfo> temp=new ArrayList<LineInfo>(); LineInfo changePoint=sinfo.get(i); if(g_snum>i) { temp=new ArrayList<LineInfo>(sinfo.subList(i, g_snum+1)); Collections.reverse(temp); } else { temp=new ArrayList<LineInfo>(sinfo.subList( g_snum,i+1)); } //權值初始化 Integer valueUp=0; //換乘不能重複 List<Integer> cantRepeat=new ArrayList<Integer>(); cantRepeat.add(g_changePoint); valueUp++; //儲存上一路徑信息 List<LineInfo> lastPath=new ArrayList<LineInfo>(sinfo); List<List<LineInfo>> tempSelect=new ArrayList<List<LineInfo>>(); while(changePoint.getLinenum()!=g_elinenum) { List<LineInfo> pathTemp=new ArrayList<LineInfo>(temp); //獲取轉折節點線路 @SuppressWarnings("unchecked") List<LineInfo> changePath=(List<LineInfo>)service.list("line"+changePoint.getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass()); //另外一結束節點在本線路中位置 for(int g=0;g<changePath.size();g++) { g_changePoint=changePath.get(g).getLinenum(); if(g_changePoint==-1) continue; if(cantRepeat.contains(g_changePoint)||g_changePoint==g_slinenum) continue; //初始化中間線路節點的開始站點和結束站點位置 int scnum=-1; for(int j=0;j<changePath.size();j++) { if(lastPath.get(i).getName().equals(changePath.get(j).getName())) { scnum=j; } if(scnum!=-1) { break; } } //scnum開始節點,g結束節點位置,g_changePoint線路號,changePath路徑信息 if(scnum>g) { //添加換乘節點信息:代填 LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+changePoint.getLinenum()+"號線路"); pathTemp.add(pointInfo); pathTemp.addAll(temp); //路徑添加 List<LineInfo> temp1=new ArrayList<LineInfo>(changePath.subList(g, scnum+1)); Collections.reverse(temp1); pathTemp.addAll(temp1); //中介線路號更改 g_changePoint=changePath.get(g).getLinenum(); //儲存上條路徑 lastPath=new ArrayList<LineInfo>(changePath); //權值加一 valueUp++; //最後節點的存儲 changePoint=changePath.get(g); cantRepeat.add(changePoint.getLinenum()); } else { //添加換乘節點信息:代填 LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+changePoint.getLinenum()+"號線路"); pathTemp.add(pointInfo); pathTemp.addAll(temp); //路徑添加 List<LineInfo> temp1=new ArrayList<LineInfo>(changePath.subList(scnum, g+1)); pathTemp.addAll(temp1); //中介線路號更改 g_changePoint=changePath.get(g).getLinenum(); //儲存上條路徑 lastPath=new ArrayList<LineInfo>(changePath); //權值加一 valueUp++; //最後節點的存儲 changePoint=changePath.get(g); cantRepeat.add(changePoint.getLinenum()); } //存儲進待選裏面最後分析 tempSelect.add(pathTemp); //---------------- } theShortest.add(tempSelect); } } //把上面求得的路徑歸一 List<List<LineInfo>> tempSum=new ArrayList<List<LineInfo>>(); //權值列表 List<Integer> valueUpList=new ArrayList<Integer>(); for(int i=0;i<theShortest.size();i++) { //添加換乘節點信息:代填 LineInfo pointInfo=new LineInfo(); pointInfo.setName("換乘"+g_elinenum+"號線路"); tempSum.get(i).add(pointInfo); List<LineInfo> temp=new ArrayList<LineInfo>(); for(int j=0;j<theShortest.get(i).size();j++) { tempSum.get(j).addAll(theShortest.get(i).get(j)); if(valueUpList.size()>j) valueUpList.set(j, valueUpList.get(j)+1); else valueUpList.add(2); } } //最終路徑 List<Integer> finalNum=new ArrayList<Integer>(); for(int i=0;i<einfo.size();i++) { String finalName=tempSum.get(i).get(tempSum.get(i).size()-1).getName(); if(finalName.equals(einfo.get(i).getName())) { finalNum.add(i); } } for(int i=0;i<einfo.size();i++) { if(g_enum>finalNum.get(i)) tempSum.add(new ArrayList<LineInfo>(einfo.subList(finalNum.get(i), g_enum+1))); else { List<LineInfo> temp=new ArrayList<LineInfo>(einfo.subList(g_enum, finalNum.get(i)+1)); Collections.reverse(temp); tempSum.add(temp); } } //若不是同一線路則進行求解 if(g_slinenum!=g_elinenum) { for(int z=0;z<tempSum.size();z++) { //如果換乘兩次才進行比較 if(ecnumList.get(z)!=-1&&scnumList.get(z)!=-1) { if((pathInfo.size()-2)>(tempSum.get(z).size()-valueUpList.get(z)*2)) { pathInfo=tempSum.get(z); } } } } */ //-----------------------------------迷宮循環 String info=new String("查詢的信息以下:"); for(LineInfo it:pathInfo) { info+=it.getName(); if(!it.getName().equals(pathInfo.get(pathInfo.size()-1).getName())) { info+="-"; } } request.setAttribute("message",info); } else { request.setAttribute("message","查無信息,請肯定你輸入的起點和終點的名稱正確"); } request.getRequestDispatcher("subway.jsp").forward(request,response); %> </body> </html>
複製代碼

 

實驗截圖:

 

 

 

 

 2.

 

 

3

4

 

 

姓名:陳陽陽             日期:2019.3.28

  聽課 編寫開發地鐵程序 網上查資料 日總計
週日   2小時 30分鐘 2小時
週一  五小時 1小時30分鐘 10分鐘 2小時
週二  一小時 30分鐘 0分鐘 30分鐘
週三   1小時 1小時 2小時
週四  四小時 0分鐘 30分鐘 30分鐘
週五  兩小時 2小時 30分鐘 4小時30分鐘
週六   2小時 40分鐘 2小時40分鐘
周總計 十二小時 9小時 3小時30分鐘 14小時10分鐘

姓名:肖成龍  日期:2019.3.28

  聽課 編寫開發地鐵程序 網上查資料 日總計
週日   2小時 40分鐘 2小時
週一  五小時 1小時30分鐘 20分鐘 2小時
週二  一小時 30分鐘 0分鐘 30分鐘
週三   1小時 1小時 2小時
週四  四小時 0分鐘 50分鐘 30分鐘
週五  兩小時 2小時 30分鐘 4小時30分鐘
週六   2小時 40分鐘 2小時40分鐘
周總計 十二小時 9小時 4小時

編程總結分析:本次結隊開發讓我意識到團隊開發的重要性,兩人開發寫代碼的效率很高,並且有我的在旁邊能激勵兩個互相寫下去。

相關文章
相關標籤/搜索