Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

EasyMaps

Calculates and visualizes optimal routes for multiple points.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

EasyMaps

Easy Maps is an offline desktop application for Windows written in Delphi. It helps you to calculate the shortest way between several(<= 25) points on a map and optimize points order. Maps are stored in text format. There are 2 movement types: by foot and by car. The app allows you to choose start or end point or optimize it (useful for couriers), set point order or optimize it.

The app was run in wine during the development period.

Menu (user can upload any map)

Startup menu image Startup load image

Way with defined fixed order of points. Also user can choose movement type - on foot/by car.

Way with defined order image

The same way with defined start and finish but optimized order of intermediate points

Some way with defined start and finish image

The same way with fully optimized order (it can change even the start and finish points)

Way with optimized start and finish image

Settings (user can choose between map quality and performance)

Settings image Settings after image

Way with defined fixed order of points

Way with defined order image

The same way with optimized order of points

Way with optimized order

Map format

Map with n nodes(vertices) and m roads(edges) format:

pascal
  vertices
  <vertex 1 id>
  <vertex 1 latitude>
  <vertex 1 longitude>
  <vertex 2 id>
  <vertex 2 latitude>
  <vertex 2 longitude>
  ...
  <vertex n id>
  <vertex n latitude>
  <vertex n longitude>

  edges
  <road 1 movement type>
  <road 1 width (lanes number)>
  <is road 1 two-way ('True' or 'False')>
  <vertex 1 id>
  <vertex 2 id>
  ...
  <vertex n1 id>

  <road 2 movement type>
  <road 2 width (lanes number)>
  <is road 2 two-way ('True' or 'False')>
  <vertex 1 id>
  <vertex 2 id>
  ...
  <vertex n2 id>

  ...
  <road m movement type>
  <road m width (lanes number)>
  <is road m two-way ('True' or 'False')>
  <vertex 1 id>
  <vertex 2 id>
  ...
  <vertex nm id>

Run

Just run EasyMaps.exe file.

Build

To build the application you need to install Delphi programming language compiler and build the project.