石家庄地铁查询系统(双人项目)(续)

合作人:张思远

1、石家庄地铁规划图

石家庄地铁查询系统(双人项目)(续)

 

本系统是基于以上的石家庄地铁规划图来实现的。

2、功能设计

(一)数据库设计

  数据库中只有一个数据表。

  数据表结构为{lineid, stationname, tinformation, ordnum}

  数据表结构的含义为(线路号,站点名,换乘信息,站点在自己线路上的顺序),其中换乘信息记录的是该站点所在的另一条线路。

  石家庄地铁查询系统(双人项目)(续)

  石家庄地铁查询系统(双人项目)(续)

(二)站点查询

  用户可通过输入起始站和终点站来查询线路信息,查询到的线路信息包括:换乘最少的线路、站点最少的线路,线路信息由文本域显示。

  石家庄地铁查询系统(双人项目)(续)

(三)地图显示

  我们组和陈欢、王嘉梁他们组,以上面的石家庄地铁规划图为标准,一起做了svg图。

  通过js代码可控制地图的放大、缩小、拖拽。

  石家庄地铁查询系统(双人项目)(续)

 3、相关代码

  (一)前端页面

   石家庄地铁查询系统(双人项目)(续)

    1)

    主页面为main.jsp,其为一个框架,分为三部分:head、index_in、foot。

    head:head.jsp,为页眉。

    index_in:index_in.jsp,其为一个小框架,分为两部分:search、map。

      search:search.jsp,用于搜索线路和显示线路。

      map:map.jsp,用于显示地图。

    foot:foot.jsp,为页脚。

    2)代码

    main.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<style type="text/css">

.headframe{
    width:100%;
    height:150px;
    border:0;
}

.mainframe{
    width:100%;
    height:500px;
    border:0;
}

.footframe{
    width:100%;
    height:60px;
    border:0;    
}

</style>

</head>
<body>

<iframe src="head.jsp" class="headframe" scrolling="no"></iframe>
<iframe src="index_in.jsp" class="mainframe" scrolling="no" name="mainAction"></iframe>
<iframe src="foot.jsp" class="footframe" scrolling="no"></iframe>

</body>
</html>
main.jsp

    head.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">

#head{
    background-color:#3F51B5;
    width:100%; 
    height:150px;
}

#head P{
    font-family:YouYuan;
    font-size:25px;
    color:#E8EAF6;
    position:absolute;
    left:60px;
    top:20px;
}

#head span{
    family:YouYuan;
    size:20px;
    color:#E8EAF6;
    position:absolute;
    left:60px;
    top:70px;
}

#head-in{
    background-color:#737DB5;
    height:30px;
    width:99%;
    position:absolute;
    top:120px;
}
</style>
</head>
<body>

<div id="head">
    <p>石家庄地铁</p>
    <span>SHIJIAZHUANG SUBWAY</span>
    <div id="head-in">
    </div>
</div>

</body>
</html>
head.jsp

    index_in.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">

.searchframe{
    width:300px; 
    height:500px;
    border:0;
}

.mapframe{
    width:1110px;
    height:500px;
    position:relative;
    left:5px;
    border:0;
}

</style>
</head>
<body>

<iframe src="beginsearch.jsp" class="searchframe" scrolling="no"></iframe>
<iframe src="map.jsp" class="mapframe" scrolling="no"></iframe>

</body>
</html>
index_in.jsp

      beginsearch.jsp(此jsp是为了防止servlet传参的空指针问题)

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.HttpSession" %>
<%@page import="javax.servlet.http.HttpServletResponse" %>
<%@page import="javax.servlet.http.HttpServletRequest" %>
<%@page import="com.Bean.*" %>
<%@page import="java.util.List" %>
<%@page import="java.util.ArrayList" %>  
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<style type="text/css">

div{
    background-color:#3F51B5;
    width:300px; 
    height:500px;
    border-radius:5px;
}

div p{
    font-family:YouYuan;
    font-size:20px;
    color:#E8EAF6;
}

div p input{
    height:20px;
    border-radius:3px;
    border:0px;
}

#check{
    width:70px;
    height:25px;
    border-radius:3px;
    color:white;
    background-color:#004D99;
    text-align:center;
    text-decoration:none;
    border:none;
    position:relative;
    left:110px;
}

#check:hover{
    background-color:#6699CC;
}

#information{
    width:260px;
    height:300px;
    border-radius:3px;
    display:block;
    margin:0 auto;
    font-family:YouYuan;
    font-size:13px;
}

</style>

</head>
<body>

<div>
    <form action="${pageContext.request.contextPath}/Search/SubwaySearchServlet" method="post" onsubmit="return oncheck()">
        <br/>        
        <p>&nbsp;&nbsp;起始站:
            <input type="text" name="start" id="start" placeholder="  Starting station">
        </p>
        <p>&nbsp;&nbsp;终点站:
            <input type="text" name="end" id="end" placeholder="  Ending station">
        </p>        
        <p><input type="submit" value="查询" name="check" id="check"></p>
        <textarea name="information" id="information" readonly="readonly">
        线路信息:
        </textarea>
    </form>
</div>

<script type="text/javascript">


function oncheck() {
    
    var start = document.getElementById("start");
    var end = document.getElementById("end");
    var strstart = start.value;
    var strend = end.value;
    
    if(strstart == '') {
        alert('起始站为空');
        start.focus();
        return false;
    }
    if(strend == '') {
        alert('终点站为空');
        end.focus();
        return false;
    }
    
    return true;
}

</script>
</body>
</html>
beginsearch.jsp

      search.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.HttpSession" %>
<%@page import="javax.servlet.http.HttpServletResponse" %>
<%@page import="javax.servlet.http.HttpServletRequest" %>
<%@page import="com.Bean.*" %>
<%@page import="java.util.List" %>
<%@page import="java.util.ArrayList" %>  
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<style type="text/css">

div{
    background-color:#3F51B5;
    width:300px; 
    height:500px;
    border-radius:5px;
}

div p{
    font-family:YouYuan;
    font-size:20px;
    color:#E8EAF6;
}

div p input{
    height:20px;
    border-radius:3px;
    border:0px;
}

#check{
    width:70px;
    height:25px;
    border-radius:3px;
    color:white;
    background-color:#004D99;
    text-align:center;
    text-decoration:none;
    border:none;
    position:relative;
    left:110px;
}

#check:hover{
    background-color:#6699CC;
}

#information{
    width:260px;
    height:300px;
    border-radius:3px;
    display:block;
    margin:0 auto;
    font-family:YouYuan;
    font-size:13px;
}

</style>

</head>
<body>

<div>
    <form action="${pageContext.request.contextPath}/Search/SubwaySearchServlet" method="post" onsubmit="return oncheck()">
        <br/>        
        <p>&nbsp;&nbsp;起始站:
            <input type="text" name="start" id="start" placeholder="  Starting station">
        </p>
        <p>&nbsp;&nbsp;终点站:
            <input type="text" name="end" id="end" placeholder="  Ending station">
        </p>        
        <p><input type="submit" value="查询" name="check" id="check"></p>
        <textarea name="information" id="information" readonly="readonly">
线路信息:
------------------------------
换乘最少:        
<%List<Bean> l = (List<Bean>)session.getAttribute("list");int num=l.size();%>
<%for(int i=0; i<l.size(); i++){%>
<%=l.get(i).getStationname()%><%if((i+1 < l.size()) && l.get(i).getStationname().equals(l.get(i+1).getStationname())){ num=num-1;%><%="(换乘)"%><%}%>
<%}%>
<%="(共"+num+"站)" %>
------------------------------
站点最少:
<%List<Bean> l2 = (List<Bean>)session.getAttribute("list2");int num2=l2.size();%>
<%for(int i=0; i<l2.size(); i++){%>
<%=l2.get(i).getStationname()%>
<%}%>
<%="(共"+num2+"站)" %>
------------------------------
        </textarea>
    </form>
</div>

<script type="text/javascript">


function oncheck() {
    
    var start = document.getElementById("start");
    var end = document.getElementById("end");
    var strstart = start.value;
    var strend = end.value;
    
    if(strstart == '') {
        alert('起始站为空');
        start.focus();
        return false;
    }
    if(strend == '') {
        alert('终点站为空');
        end.focus();
        return false;
    }
    if(strstart != ('上庄'||'西王'||'法医医院'||'军医医院'||'和平医院'||'烈士陵园'||'新百广场'||'大石桥'||'市招待所'||'北国商城'||'省博物馆'||'河北医大'||'建百大楼'||'艺术学校'||'谈固'||'白佛口'||'海世界'||'卓达星辰'||'石家庄东'||'东杜庄'||'东兆通'||'西庄'||'临济'||'行政中心'||'罗家南庄'||'罗家庄'||'罗家北庄'||'侯家庄'||'数路'||'只都'||'北白皮'||'蔡家岗'||'桃村'||'诸福屯'||'罗家庄'||'天元湖'||'天元湖西'||'北关'||'石家庄学院'||'正定'||'西关'||'神学院'||'市农科院'||'西古城'||'铁道学院'||'运河桥'||'蓝天圣木'||'长安公园'||'北国商城'||'河北大戏院'||'新世隆'||'东岗头'||'东三教'||'火车站'||'塔谈'||'塔谈南'||'南位'||'嘉华'||'河北科技大学'||'东尹村'||'楼底'||'于底'||'留营'||'油通村'||'栾城西'||'栾城'||'鹿泉一中'||'鹿泉医院'||'鹿泉中心'||'北海山'||'南新城'||'大郭镇'||'西三庄'||'水上公园'||'高柱'||'柏林路'||'市庄'||'十二中'||'新百广场'||'十一中'||'槐安大桥'||'中星路'||'火车站'||'金利街'||'印刷二厂'||'塔冢'||'裕华'||'裕华'||'南王'||'卓达'||'位同'||'中仰陵'||'南豆'||'韩通'||'北乐乡'||'南席'||'南席东'||'藁城西'||'藁城'||'藁城东'||'工业园'||'碧海蓝湾'||'东良厢'||'华医学院'||'滨河街(4号线)'||'塔谈南'||'南栾'||'涂料厂'||'赵卜口'||'南王'||'经济学院'||'东明商城'||'儿童医院'||'建百大楼'||'长安医院'||'建华市场'||'北翟营'||'高营镇'||'十里铺'||'滨河街(5号线)'||'华医学院'||'五星花园'||'碧海云天'||'审计厅'||'益友百货'||'和平医院'||'河北二建'||'和平西路'||'火车北站'||'市庄'||'军械学院'||'蓝天圣木'||'常青园'||'建华市场'||'南翟营'||'土贤庄'||'西兆通'||'东杜庄'||'南杨庄'||'东五女'||'西岗头'||'创业园'||'碧海云天'||'考试中心'||'槐安大桥'||'裕龙'||'人防大厦'||'新世隆'||'石门公园'||'省地震局'||'东明商城'||'国际城'||'二十里铺'||'海世界'||'北豆'||'南豆'||'东仰陵'||'工农路'||'郄马')){
        alert('起始站错误');
        start.focus();
        return false;
    }
    if(strend != ('上庄'||'西王'||'法医医院'||'军医医院'||'和平医院'||'烈士陵园'||'新百广场'||'大石桥'||'市招待所'||'北国商城'||'省博物馆'||'河北医大'||'建百大楼'||'艺术学校'||'谈固'||'白佛口'||'海世界'||'卓达星辰'||'石家庄东'||'东杜庄'||'东兆通'||'西庄'||'临济'||'行政中心'||'罗家南庄'||'罗家庄'||'罗家北庄'||'侯家庄'||'数路'||'只都'||'北白皮'||'蔡家岗'||'桃村'||'诸福屯'||'罗家庄'||'天元湖'||'天元湖西'||'北关'||'石家庄学院'||'正定'||'西关'||'神学院'||'市农科院'||'西古城'||'铁道学院'||'运河桥'||'蓝天圣木'||'长安公园'||'北国商城'||'河北大戏院'||'新世隆'||'东岗头'||'东三教'||'火车站'||'塔谈'||'塔谈南'||'南位'||'嘉华'||'河北科技大学'||'东尹村'||'楼底'||'于底'||'留营'||'油通村'||'栾城西'||'栾城'||'鹿泉一中'||'鹿泉医院'||'鹿泉中心'||'北海山'||'南新城'||'大郭镇'||'西三庄'||'水上公园'||'高柱'||'柏林路'||'市庄'||'十二中'||'新百广场'||'十一中'||'槐安大桥'||'中星路'||'火车站'||'金利街'||'印刷二厂'||'塔冢'||'裕华'||'裕华'||'南王'||'卓达'||'位同'||'中仰陵'||'南豆'||'韩通'||'北乐乡'||'南席'||'南席东'||'藁城西'||'藁城'||'藁城东'||'工业园'||'碧海蓝湾'||'东良厢'||'华医学院'||'滨河街(4号线)'||'塔谈南'||'南栾'||'涂料厂'||'赵卜口'||'南王'||'经济学院'||'东明商城'||'儿童医院'||'建百大楼'||'长安医院'||'建华市场'||'北翟营'||'高营镇'||'十里铺'||'滨河街(5号线)'||'华医学院'||'五星花园'||'碧海云天'||'审计厅'||'益友百货'||'和平医院'||'河北二建'||'和平西路'||'火车北站'||'市庄'||'军械学院'||'蓝天圣木'||'常青园'||'建华市场'||'南翟营'||'土贤庄'||'西兆通'||'东杜庄'||'南杨庄'||'东五女'||'西岗头'||'创业园'||'碧海云天'||'考试中心'||'槐安大桥'||'裕龙'||'人防大厦'||'新世隆'||'石门公园'||'省地震局'||'东明商城'||'国际城'||'二十里铺'||'海世界'||'北豆'||'南豆'||'东仰陵'||'工农路'||'郄马')){
        alert('终点站错误');
        end.focus();
        return false;
    }
    return true;
}

</script>
</body>
</html>
search.jsp

      map.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/drag.js"></script>
<style type="text/css">

#zoomSvg{
    transform:scale(1.2,1.2);
}

</style>
</head>
<body>

<div id="dragDiv">
     <svg id="zoomSvg" width="1133" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1133 804" xmlns:ev="http://www.w3.org/2001/xml-events" height="804" xmlns:xlink="http://www.w3.org/1999/xlink">
        <style type="text/css"><![CDATA[
            .st2 {fill:#303030;font-family:Arial;font-size:5pt;font-weight:bold}
            .st4 {fill:#303030;font-family:宋体;font-size:10pt;font-weight:bold}
            .st3 {fill:#303030;font-family:宋体;font-size:5pt;font-weight:bold}
            .st1 {fill:#303030;font-family:宋体;font-size:9pt}
            ]]>
        </style>
        <defs>
            <linearGradient y1="0%" y2="100%" x2="0%" x1="0%" id="lg1">
            <stop offset="0" stop-color="#fbfbfb"/>
            <stop offset="1" stop-color="#efefef"/>
            </linearGradient>
        </defs>
    <g transform="translate(5,5)" id="page1">



<path d="M502,0L0,0L-198.9,-208.5L-209.1,-198.9L-6.1,14L502,14L502,0z" stroke="#969696" fill="#00b4f0" transform="translate(610.06,222.79)" id="rivershape"/>
<g transform="translate(805.06,223.3)" id="rivername">
<path fill-opacity="0.08" d="M4.4,2L67.6,2C68.9,2,70,3.1,70,4.4L70,13.1C70,14.4,68.9,15.5,67.6,15.5L4.4,15.5C3.1,15.5,2,14.4,2,13.1L2,4.4C2,3.1,3.1,2,4.4,2z" fill="#000000"/>
<path d="M2.4,0L65.6,0C66.9,0,68,1.1,68,2.4L68,11.1C68,12.4,66.9,13.5,65.6,13.5L2.4,13.5C1.1,13.5,0,12.4,0,11.1L0,2.4C0,1.1,1.1,0,2.4,0z" stroke="#6d6d6d" fill="url(#lg1)"/>
<text class="st1">
<tspan x="16" y="11.1">滹沱河</tspan>
</text>
</g>



<path d="M0,0L468,0L468,5L0,5L0,0z" stroke="#d7091d" fill="#d7091d" transform="translate(212,415.17)" id="shape1"/>
<path d="M30.2,0L-5.1,0L-4.3,48L.7,48L0,5L30.2,5L30.2,0z" stroke="#d7091d" fill="#d7091d" transform="translate(711.13,197.3)" id="shape2"/>
<path d="M5,140.5L5,-2L-39.2,-49L-42.8,-45.6L0,0L0,140.5L5,140.5z" stroke="#d7091d" fill="#d7091d" transform="translate(750,291.3)" id="shape3"/>
<path d="M60,0L0,0L-9.9,-12.9L-14.1,-10.1L-2.6,5L60,5L60,0z" stroke="#d7091d" fill="#d7091d" transform="translate(690,428.8)" id="shape4"/>
<path d="M0,0L5,0L5,158.5L0,158.5L0,0z" stroke="#d7091d" fill="#d7091d" transform="translate(736.67,43.3)" id="shape5"/>
<g transform="translate(733.5,40.13)" id="shape6">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">树路</tspan>
</text>
</g>
<g transform="translate(733.5,70.43)" id="shape7">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">侯家庄</tspan>
</text>
</g>
<g transform="translate(733.83,103.63)" id="shape8">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">罗家庄北</tspan>
</text>
</g>
<g transform="translate(733.83,136.83)" id="shape9">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.84,0.55,-0.55,0.84,8.6,-6.1)">
<tspan x="25.6" y="13.5">罗家庄</tspan>
</text>
</g>
<g transform="translate(733.83,168.63)" id="shape10">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">罗家庄南</tspan>
</text>
</g>
<g transform="translate(720.58,194.13)" id="shape11">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.69,0.73,-0.73,0.69,-2,0.6)">
<tspan x="-31.9" y="-3.1">行政中心</tspan>
</text>
</g>
<g transform="translate(703,207.48)" id="shape12">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-20.8" y="4.7">临济</tspan>
</text>
</g>
<g transform="translate(746,284.96)" id="shape13">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">西庄</tspan>
</text>
</g>
<g transform="translate(746.83,314.96)" id="shape14">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">东兆通</tspan>
</text>
</g>
<g transform="translate(746.83,347.63)" id="shape15">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,-0.8,0.8,0.61,-11.6,4.9)">
<tspan x="-23.8" y="13.2">东杜庄</tspan>
</text>
</g>
<g transform="translate(746.83,380.3)" id="shape16">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">石家庄东</tspan>
</text>
</g>
<g transform="translate(746,425.63)" id="shape17">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="23.9">卓达星辰</tspan>
</text>
</g>
<g transform="translate(715.66,424.63)" id="shape18">
<path stroke-width="3" d="M10.6,0L5.3,0C2.4,0,0,2.5,0,5.7C0,8.8,2.4,11.3,5.3,11.3L10.6,11.3" stroke="#d7091d" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,0)"/>
<path stroke-width="3" d="M0,0L5.3,0C8.3,0,10.6,2.5,10.6,5.7C10.6,8.8,8.3,11.3,5.3,11.3L0,11.3" stroke="#30c9f7" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,10.6)"/>
<text class="st3" transform="matrix(0.63,0.78,-0.78,0.63,6.3,2.1)">
<tspan x="-22" y="9.6">海世界</tspan>
</text>
</g>
<g transform="translate(672.33,411.63)" id="shape19">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">白佛口</tspan>
</text>
</g>
<g transform="translate(641.83,413)" id="shape20">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">谈固</tspan>
</text>
</g>
<g transform="translate(610.83,412)" id="shape21">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">艺术学校</tspan>
</text>
</g>
<g transform="translate(579.83,412.33)" id="shape22">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">建百大楼</tspan>
</text>
</g>
<g transform="translate(548.83,413)" id="shape23">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">河北医大</tspan>
</text>
</g>
<g transform="translate(517.83,412.33)" id="shape24">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">省博物馆</tspan>
</text>
</g>
<g transform="translate(486.33,412.33)" id="shape25">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">北国商城</tspan>
</text>
</g>
<g transform="translate(455.83,412.33)" id="shape26">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">市招待所</tspan>
</text>
</g>
<g transform="translate(424.83,412.33)" id="shape27">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">大石桥</tspan>
</text>
</g>
<g transform="translate(394.55,412.33)" id="shape28">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">新百广场</tspan>
</text>
</g>
<g transform="translate(362.83,412.33)" id="shape29">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">烈士陵园</tspan>
</text>
</g>
<g transform="translate(332.33,412)" id="shape30">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.53,-0.53,0.85,8.1,-6.1)">
<tspan x="25.7" y="13.3">和平医院</tspan>
</text>
</g>
<g transform="translate(301.83,412.33)" id="shape31">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">军医医院</tspan>
</text>
</g>
<g transform="translate(270.33,412.33)" id="shape32">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">法医医院</tspan>
</text>
</g>
<g transform="translate(239.33,412.33)" id="shape33">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">西王</tspan>
</text>
</g>
<g transform="translate(208.83,412)" id="shape34">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">上庄</tspan>
</text>
</g>
<g transform="translate(677.34,51.45)" id="shape35">
<text class="st4">
<tspan x="15.4" y="14.7">1号线</tspan>
</text>
</g>
<g transform="translate(147.33,409.7)" id="shape36">
<text class="st4">
<tspan x="15.4" y="14.7">1号线</tspan>
</text>
</g>
<!--1号线:shape1到shape36-->



<path d="M62.5,0L-5,0L-5,49L0,49L0,5L62.5,5L62.5,0z" stroke="#813f84" fill="#813f84" transform="translate(432,513)" id="shape37"/>
<path d="M5,0L5,52L5,54.1L-71.2,131.8L-74.8,128.2L0,52L0,0L5,0z" stroke="#813f84" fill="#813f84" transform="translate(583,140)" id="shape38"/>
<path d="M0,0L313,0L313,5L0,5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(583,140)" id="shape39"/>
<path d="M5,0L5,33.5L5,35.6L-15.8,57.3L-19.2,53.7L0,33.5L0,0L5,0z" stroke="#813f84" fill="#813f84" transform="translate(508.5,268.5)" id="shape40"/>
<path d="M0,0L5,0L5,195.5L0,195.5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(489.5,321.5)" id="shape41"/>
<path d="M5,96L5,-5L-30,-5L-30,0L0,0L0,96L5,96z" stroke="#813f84" fill="#813f84" transform="translate(459,562)" id="shape42"/>
<path d="M5,102L5,-5L-134,-5L-134,0L0,0L0,102L5,102z" stroke="#813f84" fill="#813f84" transform="translate(595,658)" id="shape43"/>
<path d="M0,0L161,0L161,5L0,5L0,0z" stroke="#813f84" fill="#813f84" transform="translate(595,755)" id="shape44"/>
<g transform="translate(887.83,136.83)" id="shape45">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">只都</tspan>
</text>
</g>
<g transform="translate(857.34,136.83)" id="shape46">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">北白皮</tspan>
</text>
</g>
<g transform="translate(826.67,136.83)" id="shape47">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">蔡家岗</tspan>
</text>
</g>
<g transform="translate(796,136.83)" id="shape48">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">桃村</tspan>
</text>
</g>
<g transform="translate(765.33,136.83)" id="shape49">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">诸福屯</tspan>
</text>
</g>
<g transform="translate(733.83,136.83)" id="shape50">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.84,0.55,-0.55,0.84,8.6,-6.1)">
<tspan x="25.6" y="13.5">罗家庄</tspan>
</text>
</g>
<g transform="translate(702,136.83)" id="shape51">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">天元湖</tspan>
</text>
</g>
<g transform="translate(672.33,136.83)" id="shape52">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">天元湖西</tspan>
</text>
</g>
<g transform="translate(642.66,136.83)" id="shape53">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">北关</tspan>
</text>
</g>
<g transform="translate(609,136.83)" id="shape54">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-7.5" y="-8.5">石家庄学院</tspan>
</text>
</g>
<g transform="translate(579.83,136.83)" id="shape55">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">正定</tspan>
</text>
</g>
<g transform="translate(579.83,168.63)" id="shape56">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">西关</tspan>
</text>
</g>
<g transform="translate(555.59,213.3)" id="shape57">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">神学院</tspan>
</text>
</g>
<g transform="translate(529.33,238.33)" id="shape58">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">市农科院</tspan>
</text>
</g>
<g transform="translate(505.33,265.33)" id="shape59">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">西古城</tspan>
</text>
</g>
<g transform="translate(505.33,297)" id="shape60">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">铁道学院</tspan>
</text>
</g>
<g transform="translate(486.33,318.33)" id="shape61">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">运河桥</tspan>
</text>
</g>
<g transform="translate(486.33,348.21)" id="shape62">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.9,-0.44,0.44,0.9,1.1,6.8)">
<tspan x="26.2" y="3">蓝天圣木</tspan>
</text>
</g>
<g transform="translate(486.83,380.83)" id="shape63">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">长安公园</tspan>
</text>
</g>
<g transform="translate(486.33,412.33)" id="shape64">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">北国商城</tspan>
</text>
</g>
<g transform="translate(486.33,445.11)" id="shape65">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">河北大戏院</tspan>
</text>
</g>
<g transform="translate(486.33,477.55)" id="shape66">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.89,0.46,-0.46,0.89,6.6,-5.8)">
<tspan x="26.1" y="12.6">新世隆</tspan>
</text>
</g>
<g transform="translate(486.33,509.83)" id="shape67">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">东岗头</tspan>
</text>
</g>
<g transform="translate(455.83,508.66)" id="shape68">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">东三教</tspan>
</text>
</g>
<g transform="translate(423.83,529.33)" id="shape69">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.69,-0.72,0.72,0.69,-10.2,2.9)">
<tspan x="-24.7" y="12.4">火车站</tspan>
</text>
</g>
<g transform="translate(455.83,555.3)" id="shape70">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="21.7" y="6.7">塔谈</tspan>
</text>
</g>
<g transform="translate(455.83,587.3)" id="shape71">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.7,-0.71,0.71,0.7,-10,2.6)">
<tspan x="-24.8" y="12.2">塔谈南</tspan>
</text>
</g>
<g transform="translate(455.83,617.63)" id="shape72">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">南位</tspan>
</text>
</g>
<g transform="translate(455.33,649.83)" id="shape73">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">嘉华</tspan>
</text>
</g>
<g transform="translate(506,650.3)" id="shape74">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-11.1" y="23.9">河北科技大学</tspan>
</text>
</g>
<g transform="translate(548.83,649.83)" id="shape75">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">东尹村</tspan>
</text>
</g>
<g transform="translate(591.83,650.3)" id="shape76">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">楼底</tspan>
</text>
</g>
<g transform="translate(591.83,703.15)" id="shape77">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">于底</tspan>
</text>
</g>
<g transform="translate(591.83,734.63)" id="shape78">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">留营</tspan>
</text>
</g>
<g transform="translate(621.98,751.83)" id="shape79">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">油通村</tspan>
</text>
</g>
<g transform="translate(677.32,751.83)" id="shape80">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">栾城西</tspan>
</text>
</g>
<g transform="translate(747.83,751.83)" id="shape81">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">栾城</tspan>
</text>
</g>
<g transform="translate(898,136.83)" id="shape82">
<text class="st4">
<tspan x="15.4" y="14.7">2号线</tspan>
</text>
</g>
<g transform="translate(722.17,730.75)" id="shape83">
<text class="st4">
<tspan x="15.4" y="14.7">2号线</tspan>
</text>
</g>
<!--2号线:shape37到shape83-->



<path d="M0,0L681,0L681,5L0,5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(398.5,532.28)" id="shape84"/>
<path d="M0,0L5,0L5,216.5L0,216.5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(397.72,320.78)" id="shape85"/>
<path d="M0,0L361.5,0L361.5,5L0,5L0,0z" stroke="#0168a5" fill="#0168a5" transform="translate(44,318.78)" id="shape86"/>
<g transform="translate(1067.66,528.11)" id="shape87">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">工业园</tspan>
</text>
</g>
<g transform="translate(1036.33,528.11)" id="shape88">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">藁城东</tspan>
</text>
</g>
<g transform="translate(1005.33,528.11)" id="shape89">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">藁城</tspan>
</text>
</g>
<g transform="translate(974.33,528.11)" id="shape90">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">藁城西</tspan>
</text>
</g>
<g transform="translate(876.98,528.11)" id="shape91">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">南席东</tspan>
</text>
</g>
<g transform="translate(833.32,528.11)" id="shape92">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">南席</tspan>
</text>
</g>
<g transform="translate(789.66,528.11)" id="shape93">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">北乐乡</tspan>
</text>
</g>
<g transform="translate(746,528.11)" id="shape94">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">韩通</tspan>
</text>
</g>
<g transform="translate(715.33,529.11)" id="shape95">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.71,-0.71,0.71,0.71,5.2,8.8)">
<tspan x="24.2" y="0.1">南豆</tspan>
</text>
</g>
<g transform="translate(685,528.11)" id="shape96">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">中仰陵</tspan>
</text>
</g>
<g transform="translate(640.66,528.11)" id="shape97">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">位同</tspan>
</text>
</g>
<g transform="translate(611.33,528.11)" id="shape98">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">卓达</tspan>
</text>
</g>
<g transform="translate(579.83,528.11)" id="shape99">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,0.79,-0.79,0.61,15.9,-4.2)">
<tspan x="23.2" y="16.1">南王</tspan>
</text>
</g>
<g transform="translate(548.83,528.11)" id="shape100">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">裕华</tspan>
</text>
</g>
<g transform="translate(517.83,528.11)" id="shape101">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">塔家</tspan>
</text>
</g>
<g transform="translate(486.83,528.11)" id="shape102">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="23.9">印刷二场</tspan>
</text>
</g>
<g transform="translate(455.83,528.11)" id="shape103">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">金利街</tspan>
</text>
</g>
<g transform="translate(423.83,529.11)" id="shape104">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.69,-0.72,0.72,0.69,-10.2,2.9)">
<tspan x="-24.7" y="12.4">火车站</tspan>
</text>
</g>
<g transform="translate(393.66,508.44)" id="shape105">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.93,-0.37,0.37,0.93,-3.8,-0.9)">
<tspan x="-27.3" y="8.6">中星路</tspan>
</text>
</g>
<g transform="translate(394.96,476.66)" id="shape106">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.86,0.51,-0.51,0.86,7.8,-6)">
<tspan x="25.8" y="13.1">槐安大桥</tspan>
</text>
</g>
<g transform="translate(394.55,444.89)" id="shape107">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">十一中</tspan>
</text>
</g>
<g transform="translate(394.55,412.11)" id="shape108">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">新百广场</tspan>
</text>
</g>
<g transform="translate(394.96,380.61)" id="shape109">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">市二中</tspan>
</text>
</g>
<g transform="translate(394.55,347.99)" id="shape110">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">市庄</tspan>
</text>
</g>
<g transform="translate(394.96,315.37)" id="shape111">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">柏林路</tspan>
</text>
</g>
<g transform="translate(362.83,315.61)" id="shape112">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">高柱</tspan>
</text>
</g>
<g transform="translate(332.33,315.61)" id="shape113">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">水上公园</tspan>
</text>
</g>
<g transform="translate(301.83,315.61)" id="shape114">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">西三庄</tspan>
</text>
</g>
<g transform="translate(251.83,315.61)" id="shape115">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">大郭镇</tspan>
</text>
</g>
<g transform="translate(190.33,315.61)" id="shape116">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">南新城</tspan>
</text>
</g>
<g transform="translate(147.33,315.61)" id="shape117">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">北海山</tspan>
</text>
</g>
<g transform="translate(104.33,315.61)" id="shape118">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">鹿泉中心</tspan>
</text>
</g>
<g transform="translate(73.33,315.61)" id="shape119">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">鹿泉医院</tspan>
</text>
</g>
<g transform="translate(42.33,315.61)" id="shape120">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">鹿泉一中</tspan>
</text>
</g>
<g transform="translate(28,330.78)" id="shape121">
<text class="st4">
<tspan x="15.4" y="14.7">3号线</tspan>
</text>
</g>
<g transform="translate(992,556.9)" id="shape122">
<text class="st4">
<tspan x="15.4" y="14.7">3号线</tspan>
</text>
</g>
<!--3号线:shape84到shape123-->



<path d="M250,0L0,0L-48.2,-49.9L-51.8,-46.5L-2.2,5L250,5L250,0z" stroke="#deb887" fill="#deb887" transform="translate(338,589.47)" id="shape124"/>
<path d="M5,270.2L5,0L36,0L36,-5L0,-5L0,270.2L5,270.2z" stroke="#deb887" fill="#deb887" transform="translate(583,323.77)" id="shape125"/>
<path d="M0,0L5,0L5,32.2L0,32.2L0,0z" stroke="#deb887" fill="#deb887" transform="translate(614,286.3)" id="shape126"/>
<g transform="translate(610.83,283.13)" id="shape127">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">十里铺</tspan>
</text>
</g>
<g transform="translate(610.66,315.59)" id="shape128">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">高营镇</tspan>
</text>
</g>
<g transform="translate(579.83,315.59)" id="shape129">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-28" y="4.7">北翟营</tspan>
</text>
</g>
<g transform="translate(579.83,348.21)" id="shape130">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.65,-0.76,0.76,0.65,-10.9,3.8)">
<tspan x="-31.5" y="12.7">建华市场</tspan>
</text>
</g>
<g transform="translate(579.83,380.83)" id="shape131">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">长安医院</tspan>
</text>
</g>
<g transform="translate(579.83,412.33)" id="shape132">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">建百大楼</tspan>
</text>
</g>
<g transform="translate(579.83,445.11)" id="shape133">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">儿童医院</tspan>
</text>
</g>
<g transform="translate(579.83,476.88)" id="shape134">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,-0.79,0.79,0.61,-11.5,4.7)">
<tspan x="-31.1" y="13.1">东明商城</tspan>
</text>
</g>
<g transform="translate(579.83,502.63)" id="shape135">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">经济学院</tspan>
</text>
</g>
<g transform="translate(579.83,528.33)" id="shape136">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,0.79,-0.79,0.61,15.9,-4.2)">
<tspan x="23.2" y="16.1">南王</tspan>
</text>
</g>
<g transform="translate(579.83,585.33)" id="shape137">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">赵卜口</tspan>
</text>
</g>
<g transform="translate(531.92,586.3)" id="shape138">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">涂料厂</tspan>
</text>
</g>
<g transform="translate(486.83,586.3)" id="shape139">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="23.9">南栗</tspan>
</text>
</g>
<g transform="translate(455.83,587.3)" id="shape140">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.7,-0.71,0.71,0.7,-10,2.6)">
<tspan x="-24.8" y="12.2">塔谈南</tspan>
</text>
</g>
<g transform="translate(387.66,586.3)" id="shape141">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">滨河街</tspan>
</text>
</g>
<g transform="translate(332.33,585.33)" id="shape142">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.87,-0.49,0.49,0.87,1.6,7.3)">
<tspan x="26" y="2.5">华医学院</tspan>
</text>
</g>
<g transform="translate(306,561)" id="shape143">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">东良厢</tspan>
</text>
</g>
<g transform="translate(282.33,535.63)" id="shape144">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">碧水蓝湾</tspan>
</text>
</g>
<g transform="translate(240.58,551.42)" id="shape145">
<text class="st4">
<tspan x="15.4" y="14.7">4号线</tspan>
</text>
</g>
<g transform="translate(579.83,261.45)" id="shape146">
<text class="st4">
<tspan x="15.4" y="14.7">4号线</tspan>
</text>
</g>
<!--4号线:shape124到shape146-->



<path d="M475.3,0L-5,0L-5,273.5L0,273.5L0,5L475.3,5L475.3,0z" stroke="#f08300" fill="#f08300" transform="translate(340.67,352.47)" id="shape147"/>
<g transform="translate(807.83,349.3)" id="shape148">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">东五女</tspan>
</text>
</g>
<g transform="translate(778.33,348.3)" id="shape149">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">南杨庄</tspan>
</text>
</g>
<g transform="translate(746.83,347.63)" id="shape150">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,-0.8,0.8,0.61,-11.6,4.9)">
<tspan x="-23.8" y="13.2">东杜庄</tspan>
</text>
</g>
<g transform="translate(709,347.63)" id="shape151">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">西兆通</tspan>
</text>
</g>
<g transform="translate(648,348.3)" id="shape152">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">土贤庄</tspan>
</text>
</g>
<g transform="translate(610.83,348.3)" id="shape153">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">南翟营</tspan>
</text>
</g>
<g transform="translate(579.83,348.21)" id="shape154">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.65,-0.76,0.76,0.65,-10.9,3.8)">
<tspan x="-31.5" y="12.7">建华市场</tspan>
</text>
</g>
<g transform="translate(533.08,348.21)" id="shape155">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="23.9">常青园</tspan>
</text>
</g>
<g transform="translate(486.33,348.21)" id="shape156">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.9,-0.44,0.44,0.9,1.1,6.8)">
<tspan x="26.2" y="3">蓝天圣木</tspan>
</text>
</g>
<g transform="translate(440.33,348.21)" id="shape157">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="23.9">军械学院</tspan>
</text>
</g>
<g transform="translate(394.55,348.21)" id="shape158">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.52,-0.52,0.85,8.1,-6.1)">
<tspan x="25.8" y="13.2">市庄</tspan>
</text>
</g>
<g transform="translate(362.83,349.3)" id="shape159">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="23.9">火车北站</tspan>
</text>
</g>
<g transform="translate(332.33,348.21)" id="shape160">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-35.2" y="4.7">和平西路</tspan>
</text>
</g>
<g transform="translate(332.33,380.83)" id="shape161">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-35.2" y="4.7">河北二建</tspan>
</text>
</g>
<g transform="translate(332.33,412)" id="shape162">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.85,0.53,-0.53,0.85,8.1,-6.1)">
<tspan x="25.7" y="13.3">和平医院</tspan>
</text>
</g>
<g transform="translate(332.33,445.11)" id="shape163">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-35.2" y="4.7">益友百货</tspan>
</text>
</g>
<g transform="translate(332.33,476.88)" id="shape164">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-28" y="4.7">审计厅</tspan>
</text>
</g>
<g transform="translate(332.33,508.66)" id="shape165">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.77,0.63,-0.63,0.77,11,-6)">
<tspan x="24.9" y="14.4">碧海云天</tspan>
</text>
</g>
<g transform="translate(332.33,547.66)" id="shape166">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">五星花园</tspan>
</text>
</g>
<g transform="translate(332.33,585.33)" id="shape167">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.87,-0.49,0.49,0.87,1.6,7.3)">
<tspan x="26" y="2.5">华医学院</tspan>
</text>
</g>
<g transform="translate(332.5,620.33)" id="shape168">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">滨河街</tspan>
</text>
</g>
<g transform="translate(807.83,338.37)" id="shape169">
<text class="st4">
<tspan x="15.4" y="14.7">5号线</tspan>
</text>
</g>
<g transform="translate(306.67,638.9)" id="shape170">
<text class="st4">
<tspan x="15.4" y="14.7">5号线</tspan>
</text>
</g>
<!--5号线:shape147到shape170-->



<path d="M0,0L297.8,0L297.8,5L0,5L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(366.61,480.72)" id="shape171"/>
<path d="M12.5,0L-2.1,0L-48.3,46.8L-44.7,50.2L0,5L12.5,5L12.5,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(709.5,435.5)" id="shape172"/>
<path d="M0,0L5,0L5,221.3L0,221.3L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(719.22,436.72)" id="shape173"/>
<path d="M0,0L94,0L94,-31.5L99,-31.5L99,5L0,5L0,0z" stroke="#30c9f7" fill="#30c9f7" transform="translate(271.83,512.49)" id="shape174"/>
<g transform="translate(716.05,649.83)" id="shape175">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">郗马</tspan>
</text>
</g>
<g transform="translate(715.33,592.67)" id="shape176">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">工农路</tspan>
</text>
</g>
<g transform="translate(716.05,561)" id="shape177">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">东仰陵</tspan>
</text>
</g>
<g transform="translate(715.33,529.33)" id="shape178">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.71,-0.71,0.71,0.71,5.2,8.8)">
<tspan x="24.2" y="0.1">南豆</tspan>
</text>
</g>
<g transform="translate(715.33,483.53)" id="shape179">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="27.3" y="7.7">北豆</tspan>
</text>
</g>
<g transform="translate(715.66,424.63)" id="shape180">
<path stroke-width="3" d="M10.6,0L5.3,0C2.4,0,0,2.5,0,5.7C0,8.8,2.4,11.3,5.3,11.3L10.6,11.3" stroke="#d7091d" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,0)"/>
<path stroke-width="3" d="M0,0L5.3,0C8.3,0,10.6,2.5,10.6,5.7C10.6,8.8,8.3,11.3,5.3,11.3L0,11.3" stroke="#30c9f7" fill="#ffffff" transform="matrix(0,1,-1,0,11.3,10.6)"/>
<text class="st3" transform="matrix(0.63,0.78,-0.78,0.63,6.3,2.1)">
<tspan x="-22" y="9.6">海世界</tspan>
</text>
</g>
<g transform="translate(641.83,476.88)" id="shape181">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">二十里铺</tspan>
</text>
</g>
<g transform="translate(610.83,476.88)" id="shape182">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">国际城</tspan>
</text>
</g>
<g transform="translate(579.83,476.88)" id="shape183">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.61,-0.79,0.79,0.61,-11.5,4.7)">
<tspan x="-31.1" y="13.1">东明商城</tspan>
</text>
</g>
<g transform="translate(548.83,477.55)" id="shape184">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">省地震局</tspan>
</text>
</g>
<g transform="translate(517.83,477.55)" id="shape185">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">石门公园</tspan>
</text>
</g>
<g transform="translate(486.33,477.55)" id="shape186">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.89,0.46,-0.46,0.89,6.6,-5.8)">
<tspan x="26.1" y="12.6">新世隆</tspan>
</text>
</g>
<g transform="translate(455.83,476.88)" id="shape187">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">人防大厦</tspan>
</text>
</g>
<g transform="translate(424.83,477.55)" id="shape188">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="3.3" y="-8.5">裕龙</tspan>
</text>
</g>
<g transform="translate(394.96,476.88)" id="shape189">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.86,0.51,-0.51,0.86,7.8,-6)">
<tspan x="25.8" y="13.1">槐安大桥</tspan>
</text>
</g>
<g transform="translate(362.66,476.33)" id="shape190">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-3.9" y="-8.5">考试中心</tspan>
</text>
</g>
<g transform="translate(332.33,508.66)" id="shape191">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2" transform="matrix(0.77,0.63,-0.63,0.77,11,-6)">
<tspan x="24.9" y="14.4">碧海云天</tspan>
</text>
</g>
<g transform="translate(301.83,509.33)" id="shape192">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">创业园</tspan>
</text>
</g>
<g transform="translate(268.66,509.33)" id="shape193">
<path stroke-width="4" d="M0,5.7C0,2.5,2.5,0,5.7,0C8.8,0,11.3,2.5,11.3,5.7C11.3,8.8,8.8,11.3,5.7,11.3C2.5,11.3,0,8.8,0,5.7z" stroke="#000000" fill="#ffffff"/>
<text class="st2">
<tspan x="-0.3" y="-8.5">西岗头</tspan>
</text>
</g>
<g transform="translate(692.5,670.45)" id="shape194">
<text class="st4">
<tspan x="15.4" y="14.7">6号线</tspan>
</text>
</g>
<g transform="translate(211.25,498.9)" id="shape195">
<text class="st4">
<tspan x="15.4" y="14.7">6号线</tspan>
</text>
</g>
<!--6号线:shape171到shape195-->



</g>
</svg>
</div>

</body>
<script type="text/javascript">

window.onload = function () {
    $solway.drag({
        ele: document.getElementById('dragDiv')
    });
};

var now = 2.2;
var svg = document.getElementById("zoomSvg");
function zoom(num){
    switch(num){
        case 1.1:now += 0.2;
            if(now>4)
                now=4;
            svg.style = "transform:scale(" + now + ","+ now + ")";
            break;
        case 0.9:now -= 0.2;
            if(now<1.2)
                now=1.2;
            svg.style = "transform:scale(" + now + ","+ now + ")";
            break;
    }
}
var scrollFunc=function(e){
    e=e || window.event; 
    if(e.wheelDelta){//IE/Opera/Chrome
        if(e.wheelDelta>0)
            zoom(1.1);
        else
            zoom(0.9);
    }else if(e.detail){//Firefox 
        if(e.detail>0)
            zoom(1.1);
        else
            zoom(0.9);
    }
} 
/*注册事件*/ 
if(document.addEventListener){ 
    document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C 
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari 

</script>
</html>
map.jsp

    foot.jsp

石家庄地铁查询系统(双人项目)(续)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">

#foot{
    background-color:#3F51B5;
    width:100%; 
    height:60px;
}

#foot span{
    font-family:YouYuan;
    font-size:17px;
    color:white;
    display:block;
    text-align:center;
    position: relative;
    top:20px;    
}

</style>
</head>
<body>

<div id="foot">
    <span>注:--------</span>
</div>

</body>
</html>
foot.jsp

  (二)后台设计与算法

   石家庄地铁查询系统(双人项目)(续)

    1)

    Java文件分为四个包:

    com.Bean:用于存放站点类。

    com.Dao:用于存放算法。

    com.DBUtil:用于存放数据库连接类。

    com.Servlet:用于存放servlet类。

    2)代码

    com.Bean:

      Bean.java

石家庄地铁查询系统(双人项目)(续)
package com.Bean;

public class Bean {
    private int lineid;
    private String stationname;
    private int tinformation;
    private int ordnum;
    
    public void setLineid(int lineid){
        this.lineid = lineid;
    }
    public int getLineid() {
        return lineid;
    }    
    public void setStationname(String stationname){
        this.stationname = stationname;
    }
    public String getStationname() {
        return stationname;
    }    
    public void setTinformation(int tinformation){
        this.tinformation = tinformation;
    }
    public int getTinformation() {
        return tinformation;
    }    
    public void setOrdnum(int ordnum){
        this.ordnum = ordnum;
    }
    public int getOrdnum() {
        return ordnum;
    }
}
Bean.java

    com.Dao:

    (此包中的类用来计算站点最少的路径,该算法我没有想出来,是我从网上找来然后修改的,原地址:https://blog.csdn.net/wangchsh2008/article/details/46288967

      DataBuilder.java(存放线路)

石家庄地铁查询系统(双人项目)(续)
package com.Dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.DBUtil.SubwayDBUtil;

public class DataBuilder {
    public static List<Station> line1 = new ArrayList<Station>();//1号线
    public static List<Station> line2 = new ArrayList<Station>();//2号线
    public static List<Station> line3 = new ArrayList<Station>();//3号线
    public static List<Station> line4 = new ArrayList<Station>();//4号线
    public static List<Station> line5 = new ArrayList<Station>();//5号线
    public static List<Station> line6 = new ArrayList<Station>();//6号线
    public static Set<List<Station>> lineSet = new HashSet<List<Station>>();//所有线集合
    public static int totalStaion = 0;//总的站点数量
    static {        
        /*******************************************************************************/
        //1号线
        String[] line1Arr = new String[29];
        Connection conn1 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn1.createStatement();
            String sql = "select * from line where lineid=1";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line1Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn1.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }        

        for(String s : line1Arr) {
            line1.add(new Station(s));
        }
        for(int i =0;i<line1.size();i++) {
            if(i<line1.size()-1) {
                line1.get(i).next = line1.get(i+1);
                line1.get(i+1).prev = line1.get(i);
            }
        }
        
        /*******************************************************************************/
        //2号线
        String[] line2Arr = new String[37];
        Connection conn2 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn2.createStatement();
            String sql = "select * from line where lineid=2";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line2Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn2.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }        

        for(String s : line2Arr) {
            line2.add(new Station(s));
        }
        for(int i =0;i<line2.size();i++) {
            if(i<line2.size()-1) {
                line2.get(i).next = line2.get(i+1);
                line2.get(i+1).prev = line2.get(i);
            }
        }
        
        /*******************************************************************************/
        //3号线
        String[] line3Arr = new String[35];
        Connection conn3 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn3.createStatement();
            String sql = "select * from line where lineid=3";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line3Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn3.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }    
        
        for(String s : line3Arr) {
            line3.add(new Station(s));
        }
        for(int i =0;i<line3.size();i++) {
            if(i<line3.size()-1) {
                line3.get(i).next = line3.get(i+1);
                line3.get(i+1).prev = line3.get(i);
            }
        }
        
        /*******************************************************************************/        
        //4号线
        String[] line4Arr = new String[18];
        Connection conn4 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn4.createStatement();
            String sql = "select * from line where lineid=4";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line4Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn4.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        for(String s : line4Arr) {
            line4.add(new Station(s));
        }
        for(int i =0;i<line4.size();i++) {
            if(i<line4.size()-1) {
                line4.get(i).next = line4.get(i+1);
                line4.get(i+1).prev = line4.get(i);
            }
        }
        
        /*******************************************************************************/        
        //5号线
        String[] line5Arr = new String[21];
        Connection conn5 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn5.createStatement();
            String sql = "select * from line where lineid=5";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line5Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn5.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        for(String s : line5Arr) {
            line5.add(new Station(s));
        }
        for(int i =0;i<line5.size();i++) {
            if(i<line5.size()-1) {
                line5.get(i).next = line5.get(i+1);
                line5.get(i+1).prev = line5.get(i);
            }
        }
        
        /*******************************************************************************/        
        //s8号线
        String[] line6Arr = new String[19];
        Connection conn6 = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn6.createStatement();
            String sql = "select * from line where lineid=6";
              ResultSet rs = stmt.executeQuery(sql);
              int k = 0;
              while(rs.next()) {                  
                  line6Arr[k] = rs.getString("stationname");
                  k++;
              }
              conn6.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        for(String s : line6Arr) {
            line6.add(new Station(s));
        }
        for(int i =0;i<line6.size();i++) {
            if(i<line6.size()-1) {
                line6.get(i).next = line6.get(i+1);
                line6.get(i+1).prev = line6.get(i);
            }
        }
        
        /*******************************************************************************/
        lineSet.add(line1);
        lineSet.add(line2);
        lineSet.add(line3);
        lineSet.add(line4);
        lineSet.add(line5);
        lineSet.add(line6);
        totalStaion  = line1.size() + line2.size() + line3.size() + line4.size() + line5.size() + line6.size();
        System.out.println("总的站点数量:"+totalStaion);
    }
    public static void main(String[] args) {
        System.out.println("总的站点数量:"+totalStaion);
    }
}
DataBuilder.java

      Station.java(另一个站点类)

石家庄地铁查询系统(双人项目)(续)
package com.Dao;

import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;

public class Station {
    private String name; //地铁站名称,假设具备唯一性    
    public Station prev; //本站在lineNo线上面的前一个站    
    public Station next; //本站在lineNo线上面的后一个站
    
    //本站到某一个目标站(key)所经过的所有站集合(value),保持前后顺序
    private Map<Station,LinkedHashSet<Station>> orderSetMap = new HashMap<Station,LinkedHashSet<Station>>();
    
    public Station (String name){
        this.name = name;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
    
    public LinkedHashSet<Station> getAllPassedStations(Station station) {
        if(orderSetMap.get(station) == null) {
            LinkedHashSet<Station> set = new LinkedHashSet<Station>(); 
            set.add(this);
            orderSetMap.put(station, set);
        }
        return orderSetMap.get(station);
    }
 
    public Map<Station, LinkedHashSet<Station>> getOrderSetMap() {
        return orderSetMap;
    }
    
    @Override
    public boolean equals(Object obj) {
        if(this == obj){
            return true;
        } 
        else if(obj instanceof Station) {
            Station s = (Station) obj;    
            if(s.getName().equals(this.getName())) {
                return true;
            } 
            else {
                return false;
            }
        } 
        else {
            return false;
        }
    }
    
    
    @Override
    public int hashCode() {
        return this.getName().hashCode();
    }
    
}
Ststion.java

      Subway.java(具体算法的实现)

石家庄地铁查询系统(双人项目)(续)
package com.Dao;

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;

import com.Bean.Bean;

public class Subway {
    
    private List<Station> outList = new ArrayList<Station>();//记录已经分析过的站点
    
    //计算从s1站到s2站的最短经过路径
    public List<Bean> calculate(Station s1,Station s2){
        
        List<Bean> list = new ArrayList<Bean>();//用于返回路径信息
        
        if(outList.size() == DataBuilder.totalStaion){
            System.out.println("找到目标站点:"+s2.getName()+",共经过"+(s1.getAllPassedStations(s2).size()-1)+"站");
            for(Station station : s1.getAllPassedStations(s2)){
                System.out.print(station.getName()+"->");
                Bean bean = new Bean();
                bean.setStationname(station.getName());
                list.add(bean);
            }
            return list;
        }
        if(!outList.contains(s1)){
            outList.add(s1);
        }
        //如果起点站的OrderSetMap为空,则第一次用起点站的前后站点初始化之
        if(s1.getOrderSetMap().isEmpty()){
            List<Station> Linkedstations = getAllLinkedStations(s1);
            for(Station s : Linkedstations){
                s1.getAllPassedStations(s).add(s);
            }
        }
        Station parent = getShortestPath(s1);//获取距离起点站s1最近的一个站(有多个的话,随意取一个)
        if(parent == s2){
            System.out.println("找到目标站点:"+s2+",共经过"+(s1.getAllPassedStations(s2).size()-1)+"站");
            for(Station station : s1.getAllPassedStations(s2)){
                System.out.print(station.getName()+"->");
                Bean bean = new Bean();
                bean.setStationname(station.getName());
                list.add(bean);
            }
            return list;
        }
        for(Station child : getAllLinkedStations(parent)){
            if(outList.contains(child)){
                continue;
            }
            int shortestPath = (s1.getAllPassedStations(parent).size()-1) + 1;//前面这个1表示计算路径需要去除自身站点,后面这个1表示增加了1站距离
            if(s1.getAllPassedStations(child).contains(child)){
                //如果s1已经计算过到此child的经过距离,那么比较出最小的距离
                if((s1.getAllPassedStations(child).size()-1) > shortestPath){
                    //重置S1到周围各站的最小路径
                    s1.getAllPassedStations(child).clear();
                    s1.getAllPassedStations(child).addAll(s1.getAllPassedStations(parent));
                    s1.getAllPassedStations(child).add(child);
                }
            } else {
                //如果s1还没有计算过到此child的经过距离
                s1.getAllPassedStations(child).addAll(s1.getAllPassedStations(parent));
                s1.getAllPassedStations(child).add(child);
            }
        }
        outList.add(parent);
        return calculate(s1,s2);
    }
    
    //取参数station到各个站的最短距离,相隔1站,距离为1,依次类推
    private Station getShortestPath(Station station){
        int minPatn = Integer.MAX_VALUE;
        Station rets = null;
        for(Station s :station.getOrderSetMap().keySet()){
            if(outList.contains(s)){
                continue;
            }
            LinkedHashSet<Station> set  = station.getAllPassedStations(s);//参数station到s所经过的所有站点的集合
            if(set.size() < minPatn){
                minPatn = set.size();
                rets = s;
            }
        }
        return rets;
    }
    
    //获取参数station直接相连的所有站,包括交叉线上面的站
    private List<Station> getAllLinkedStations(Station station){
        List<Station> linkedStaions = new ArrayList<Station>();
        for(List<Station> line : DataBuilder.lineSet){
            if(line.contains(station)){//如果某一条线包含了此站,注意由于重写了hashcode方法,只有name相同,即认为是同一个对象
                Station s = line.get(line.indexOf(station));
                if(s.prev != null){
                    linkedStaions.add(s.prev);
                }
                if(s.next != null){
                    linkedStaions.add(s.next);
                }
            }
        }
        return linkedStaions;
    }

}
Subway.java

    com.DBUtil:

      SubwayDBUtil.java

石家庄地铁查询系统(双人项目)(续)
package com.DBUtil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SubwayDBUtil {
    public static String db_url="jdbc:mysql://localhost:3306/subway?useSSL=true&serverTimezone=UTC";//这是连接数据库,userdome是数据库的名称,userUnicode=true&characterEncoding=UTF-8是将字符集设置为utf-8,避免乱码。
    public static String db_user="root";//数据的用户名
    public static String db_password="lty100609";//数据库的密码
    public static Connection getConn()//获取连接,返回Connection类型,必须设置为static这样才能在其他类中使用
    {
        Connection conn=null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");//加载驱动
            conn=DriverManager.getConnection(db_url,db_user,db_password);//连接数据库
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return 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();
            }
        }
    }

}
SubwayDBUtil.java

    com.Servlet:

      SeaechServlet.java(最少换乘算法,传参,获取页面参数值)(其实这个类中的最少换乘算法应该放到com.Dao包里比较好)

石家庄地铁查询系统(双人项目)(续)
package com.Servlet;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
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 javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.DBUtil.SubwayDBUtil;
import com.Bean.*;
import com.Dao.*;

public class SearchServlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
        searchSubway1(req, resp);
        searchSubway2(req, resp);
        req.getRequestDispatcher("/search.jsp").forward(req, resp);        
    }
    
    public void searchSubway1(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {//换乘最少
        req.setCharacterEncoding("UTF-8");
        
        String start;
        String end;
        
        start = req.getParameter("start");
        end = req.getParameter("end");
        
        Bean beanstart=new Bean();
        Bean beanend=new Bean();
        List<Bean> list = new ArrayList<>();//存放线路
        
        HttpSession session = req.getSession();
        
        Connection conn = SubwayDBUtil.getConn();
        try {
            Statement stmt = conn.createStatement();
            String sql = "select * from line";
              ResultSet rs = stmt.executeQuery(sql);
              
              while(rs.next()) {
                  if(start.equals(rs.getString("stationname"))) {
                      beanstart.setLineid(rs.getInt("lineid"));
                      beanstart.setStationname(rs.getString("stationname"));
                      beanstart.setTinformation(rs.getInt("tinformation"));
                      beanstart.setOrdnum(rs.getInt("ordnum"));
                  }
                  
                  if(end.equals(rs.getString("stationname"))) {
                      beanend.setLineid(rs.getInt("lineid"));
                      beanend.setStationname(rs.getString("stationname"));
                      beanend.setTinformation(rs.getInt("tinformation"));
                      beanend.setOrdnum(rs.getInt("ordnum"));
                  }    
              }
              
              if(beanstart.getLineid() == beanend.getLineid()) {//在同一条线上
                  if(beanstart.getOrdnum() > beanend.getOrdnum()) {//起始站的order比终点站的order大
                      int startorder = beanstart.getOrdnum();//起始站的order
                      int endorder = beanend.getOrdnum();//终点站的order
                      int lineid = beanstart.getLineid();//线路号
                      
                      String sql1 = "select * from line where ordnum <='"+startorder+"' and ordnum >='"+endorder+"' and lineid ='"+lineid+"' order by ordnum desc";
                      ResultSet rs1 = stmt.executeQuery(sql1);
                      
                      while(rs1.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs1.getString("stationname"));
                          list.add(bean);
                      }                      
                      session.setAttribute("list",list);//传值
                  }                  
                  else if(beanstart.getOrdnum() < beanend.getOrdnum()) {//起始站的order比终点站的order小
                      int startorder = beanstart.getOrdnum();//起始站的order
                      int endorder = beanend.getOrdnum();//终点站的order
                      int lineid = beanstart.getLineid();//线路号
                      
                      String sql1 = "select * from line where ordnum >='"+startorder+"' and ordnum <='"+endorder+"' and lineid ='"+lineid+"' order by ordnum asc";
                      ResultSet rs1 = stmt.executeQuery(sql1);
                      
                      while(rs1.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs1.getString("stationname"));
                          list.add(bean);
                      }                      
                      session.setAttribute("list",list);//传值
                  }                  
              }
              else if(beanstart.getLineid() != beanend.getLineid()) {//不在同一条线上
                  Bean beantemp = new Bean();
                  
                  //以起始站所在线为标准,找换乘站
                  String sql1 = "select * from line where lineid='"+beanstart.getLineid()+"' and tinformation='"+beanend.getLineid()+"'";
                  ResultSet rs1 = stmt.executeQuery(sql1);
                  
                  while(rs1.next()) {
                      beantemp.setLineid(rs1.getInt("lineid"));
                      beantemp.setStationname(rs1.getString("stationname"));
                      beantemp.setTinformation(rs1.getInt("tinformation"));
                      beantemp.setOrdnum(rs1.getInt("ordnum"));
                  }
                  
                  if(beanstart.getOrdnum() > beantemp.getOrdnum()) {//起始站的order比换乘站的order大
                      int startorder = beanstart.getOrdnum();//起始站的order
                      int temporder = beantemp.getOrdnum();//换乘站的order
                      int lineid = beanstart.getLineid();//线路号
                      
                      String sql2 = "select * from line where ordnum <='"+startorder+"' and ordnum >='"+temporder+"' and lineid ='"+lineid+"' order by ordnum desc";
                      ResultSet rs2 = stmt.executeQuery(sql2);
                      
                      while(rs2.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs2.getString("stationname"));
                          list.add(bean);
                      }                  
                  }
                  else if(beanstart.getOrdnum() < beantemp.getOrdnum()) {//起始站的order比换乘站的order小
                      int startorder = beanstart.getOrdnum();//起始站的order
                      int temporder = beantemp.getOrdnum();//换乘站的order
                      int lineid = beanstart.getLineid();//线路号
                      
                      String sql2 = "select * from line where ordnum >='"+startorder+"' and ordnum <='"+temporder+"' and lineid ='"+lineid+"' order by ordnum asc";
                      ResultSet rs2 = stmt.executeQuery(sql2);
                      
                      while(rs2.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs2.getString("stationname"));
                          list.add(bean);
                      }                      
                  }      
                  
                  //以终点站所在线为标准,找换乘站
                  String sql3 = "select * from line where lineid='"+beanend.getLineid()+"' and tinformation='"+beanstart.getLineid()+"'";
                  ResultSet rs3 = stmt.executeQuery(sql3);
                  
                  while(rs3.next()) {
                      beantemp.setLineid(rs3.getInt("lineid"));
                      beantemp.setStationname(rs3.getString("stationname"));
                      beantemp.setTinformation(rs3.getInt("tinformation"));
                      beantemp.setOrdnum(rs3.getInt("ordnum"));
                  }
                  
                  if(beantemp.getOrdnum() > beanend.getOrdnum()) {//换乘站的order比终点站的order大
                      int temporder = beantemp.getOrdnum();//换乘站的order
                      int endorder = beanend.getOrdnum();//终点站的order
                      int lineid = beanend.getLineid();//线路号
                      
                      String sql2 = "select * from line where ordnum <='"+temporder+"' and ordnum >='"+endorder+"' and lineid ='"+lineid+"' order by ordnum desc";
                      ResultSet rs2 = stmt.executeQuery(sql2);
                      
                      while(rs2.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs2.getString("stationname"));
                          list.add(bean);
                      }
                  }                  
                  else if(beantemp.getOrdnum() < beanend.getOrdnum()) {//换乘站的order比终点站的order小
                      int temporder = beantemp.getOrdnum();//换乘站的order
                      int endorder = beanend.getOrdnum();//终点站的order
                      int lineid = beanend.getLineid();//线路号
                      
                      String sql2 = "select * from line where ordnum >='"+temporder+"' and ordnum <='"+endorder+"' and lineid ='"+lineid+"' order by ordnum asc";
                      ResultSet rs2 = stmt.executeQuery(sql2);
                      
                      while(rs2.next()) {
                          Bean bean = new Bean();
                          bean.setStationname(rs2.getString("stationname"));
                          list.add(bean);
                      }
                  }                  
              
                  session.setAttribute("list",list);//传值                  
              }          
              conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public void searchSubway2(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {
        req.setCharacterEncoding("UTF-8");
        
        String start;
        String end;
        
        start = req.getParameter("start");
        end = req.getParameter("end");
        
        List<Bean> list2 = new ArrayList<>();//存放线路
        
        HttpSession session = req.getSession();
        
        Subway sw = new Subway();
        Station s1 = new Station(start);
        Station s2 = new Station(end);
        list2 = sw.calculate(s1, s2);
        
        session.setAttribute("list2",list2);//传值    
    }
    
}
SearchServlet.java

4、整体展示

石家庄地铁查询系统(双人项目)(续)

石家庄地铁查询系统(双人项目)(续)

    

    

 

上一篇:logstash7.15.1读取ngnix的access日志文件并写入elasticsearch7.5.1


下一篇:leetcode [134]Gas Station