Code Monkey home page Code Monkey logo

tp_project's Introduction

交通规划原理期末项目

项目组人员

  • 小组人员:王森,刘治学,田景颢,刘杰
  • 指导老师:熊耀华

具体分工

  • 王森
    • 完成工具算法库AstarCurvaaGraphs的编写
    • 完成图形绘制和数据请求整合文件Gpp.py的编写
  • 刘治学
    • 完成PyQt5的界面编写,包括draw.pydraw.ui
    • 完成主程序入口main.py的编写
    • 完成项目整体架构的设计和代码的汇总,以及文档的编写
  • 田景颢
    • 完成data.json数据格式的设计和数据的生成
    • 完成get请求服务端的配置,能通过浏览器获取到数据的页面以及通过代码发送get请求获得数据
  • 刘杰
    • 完成颜色工具库hoverJson数据处理工具库JsonParser的编写
    • 完成演示视频的录制和剪辑

注意事项

  • 项目在Github上开源,地址:https://github.com/DavidingPlus/Transportation-Planning

  • 项目依赖python3环境,依赖PyQt5包,windows系统和Linux系统均兼容,本测试在windows上运行

    • 安装PyQT5:在终端使用如下命令

      pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5 pyqt5-tools
  • 项目根目录中的项目文档是本README.mdpdf版本

  • 项目根目录中的演示视频是该项目的测试视频

代码分析

整体框架

  • 代码的框架如下:

    image-20231229204237018

res目录

  • res目录:存放交通网络结点和边的数据,是一个json文件

    image-20231229204758402

src目录

  • src目录:存放代码执行需要的依赖文件,类似于库或者包

    • Astar.py

      • Astars是一个用于进行路径计算的算法库,在该算法中,我们可以进行Astars作为算法的起始,我们选用曼哈顿距离作为启发函数
      image-20231229204443744
    • Curvva.py

      • Curvaa是一个用于进行路径计算、绘制的库,在该算法中,我们可以进行计算绘制,画出参数方程形式的路径
      image-20231229204817590
    • Gpp.py

      • Gpp.py是用来进行图形的基础绘制的文件,里面通过拿取data.json的数据,将数据转化为图展示出来,在其中还包括了发送get请求从远端服务器获得数据的操作
      image-20231229205120224
    • Graphs.py

      • Graphs是基于pltnetWorkX的简单的计算规划展示交通流的类
      • Graphs主要使用了Astar算法进行计算,并通过该算法得到所需的结果进一步获取
      image-20231229204853443
    • hover.py

      • 是一个颜色的工具库,最后的成品有三种不同的颜色主题进行展示,相关在这里进行定义
      image-20231229205228796
    • JsonPraser.py

      • JsonParser本项目的工具类,存放json解析的东西
      image-20231229204909300

ui目录

  • ui目录:存放成品展示的界面的python文件和ui文件

    • draw.py

      • 运用pythonQt库,在画出一个主界面加上三个按钮并且对应不同的事件
      image-20231229205538583
    • draw.ui

      • 界面的ui文件
      image-20231229205604683

主程序

  • main.py:程序的主入口,创建MainWindow对象,并且运行之后展示出来,然后进行后续发送get请求,并处理数据画图的逻辑

    image-20231229205752120

tp_project's People

Contributors

davidingplus avatar

Watchers

 avatar

Forkers

xiaosanmeng

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.