Giter Club home page Giter Club logo

subwaytransfersystem's Introduction

上海地铁换乘指南系统(SubwayTransferSystem)

简介

本项目是在2017年暑期所写的上海地铁换乘指南系统,是从零学QT,在两周左右无借鉴任何相同或相似程序全部由自己一人完成的小项目。

个人觉得还是非常用心的,是一个不错的小项目。如果你有兴趣想借鉴学习或者觉得还不错的话,可以Star一下哦。

如果程序本身有任何Issue或者你在其中有什么问题,欢迎在Issue部分下提出或者联系[email protected]

项目背景和要求

上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站、换乘站、终点站。

  • 图形化显示地铁网络结构,能动态添加地铁线路和地铁站点。
  • 根据输入起点和终点站,显示地铁换乘指南。
  • 通过图形界面显示乘除路径。

功能介绍

主要功能包含地铁网络线路的查看,地铁换乘指南查询,动态添加线路站点等。

  • 线路图查看:
    • 查看上海地铁网络线路图,包括通过键盘、鼠标拖放、放大缩小等简易查看操作;
    • 查看地铁线路信息,包括线路段、包含站点等;
    • 查看地铁站的详细信息,包括站点地理坐标、所属线路等
  • 换乘指南查询:
    • 提供地铁换乘查询,可通过视图方便的查看乘坐路线和换乘路线;
    • 提供最小出行时间的换乘策略指南
    • 提供最小换乘次数的换乘策略指南
  • 动态添加线路:
    • 动态添加线路,可根据需要新增线路;
    • 动态添加站点,可根据需要新增站点;
    • 动态添加连接,可根据需要新增站点连接;
    • 文本方式简易添加,方便快捷;
  • 帮助:
    • 提供软件使用帮助和说明;
  • 关于:
    • 提供软件制作信息;

开发平台

  • 计算机型号 :惠普Pavilion M4
  • 计算机内存 :4.00GB
  • CPU :Intel Core i5 2.6GHz
  • 操作系统 :Windows 10 家庭版
  • 开发语言 :C++(C++11标准以上)
  • 开发框架 :QT
  • 集成开发环境:Qt Version 5.9.1
  • 编译器 :MinGW 32bit
  • 运行环境 :
    • 可在上述集成环境下运行;
    • 通过windeployqt.exe及Enigma Virtual Box进行整合压缩为发布为了一个LinkListVisualizer.exe文件,可在普通windows机型下运行。

项目结构

---/SubwayTransferSystem
     ---/功能源码
   /build-SubwayTransferSystem-Desktop_Qt_5_9_1_MinGW_32bit-Release
     ---/release文件
   /dealData
     ---/数据处理模块
   /osmXmlParser
     ---/数据处理模块
   /SubwayTransferSystem_boxed.exe
   /README.md
   /设计说明书.docx

主要功能预览

总览图

总览图

线路查询1

线路查询1

线路查询2

线路查询2

添加新线路

添加新线路

添加新站点

添加新站点

添加新连接

添加新连接

文本方式直接添加

文本添加

视图查看放大
  • 点击工具栏中放大按钮;
  • 或选择“视图”下“放大”;
  • 或按下快捷键“Ctrl+L”;
  • 或直接在视图区域进行鼠标滚轮放大操作
  • 可进行视图的放大,方便查看。

视图放大

视图查看缩小
  • 点击工具栏中缩小按钮;
  • 或选择“视图”下“缩小”;
  • 或按下快捷键“Ctrl+S”;
  • 或直接在视图区域进行鼠标滚轮缩小操作
  • 可进行视图的缩小,方便查看。

视图缩小

鼠标悬停1
  • 鼠标除能直接放大和缩小视图外,在查看视图信息有重要作用:
  • 鼠标滚轮直接放大缩小视图;
  • 通过鼠标点击后拖动,可直接进行视图移动;
  • 将鼠标悬停在站点上,会提示站点的详细信息,如悬停在“曹杨路”站上,会有曹杨路地铁站的详细信息;

鼠标悬停1

鼠标悬停2
  • 将鼠标悬停在线路上,会提示线路的详细信息,如悬停在“曹杨路”站和“镇坪路”之间线路上,会有线路的详细信息;

鼠标悬停2

更多

了解项目的更多信息,请查看文档设计说明书

subwaytransfersystem's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

subwaytransfersystem's Issues

关于修改您的代码并开源到github

您好,我之前clone了您的代码并做了部分修改,我想发布到github上,但我注意到您的仓库并没有表明License,所以请问我可以在我的readme中标明我借鉴了您的代码,然后将代码发布吗?

关于qt运行地铁指南程序产生的大量报错

博主您好,我使用QT运行您的SubwayTransferSystem源代码文件夹内的程序时产生大量报错,且都为undefinded reference to 'imp'类型的报错,我检查了编译器和.pro文件的格式都没有什么问题,会不会是您在打包过程中漏掉了部分文件,或是我犯了其他什么错误?希望能得到您的解答

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.