Recent

Author Topic: Lazmapviewer with multiple tracks  (Read 795 times)

MarkMLl

  • Hero Member
  • *****
  • Posts: 6692
Lazmapviewer with multiple tracks
« on: February 22, 2024, 11:21:10 am »
Continuing https://forum.lazarus.freepascal.org/index.php/topic,65082.msg495499.html#msg495499 where I was looking at presenting ADS-B (aircraft movement) information collected using dump1090-mutability.

Before I even decide whether it's worth pursuing, can Lazmapviewer

a) add points to a track dynamically (i.e. as they arrive),

b) support multiple tracks differentiated by colour etc. with a legend panel, and

c) delete an entire track as a single operation?

Those obviously corresponds to something moving through the local airspace, to multiple planes each on their own track, and to no activity on a plane's track for some predetermined interval.

The local airfield can be busy, and I'd not be surprised if a couple of dozen aircraft were in the immediate vicinity (particularly when they have their annual "fly in" with breakfast).

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

loaded

  • Hero Member
  • *****
  • Posts: 825
Re: Lazmapviewer with multiple tracks
« Reply #1 on: February 23, 2024, 08:39:16 am »
https://atus.konya.bel.tr/

An application that shows the stops and vehicle information of the public transportation system in my city.
From here, you can see which bus is where, which route it follows, how many minutes it will take to arrive at your stop, which buses will pass through your stop, and the routes the buses will follow;
It can be learned live on the map.
Integrated into this system, there are also digital screens at the stops to be seen by people.

https://kentrehberi.konya.bel.tr/#/rehber/
Again, the city guide application for the city I am in provides different map views such as photometric images taken by plane and zoning status of the city.

From threads? Or is it related to the download speed of the tile maps? For some reason I don't understand, Chrome runs these types of map applications very quickly.
A long time ago, I tried to create a desktop project similar to this system, supported by Postgresql. But I could not reach the stability of Chrome.
« Last Edit: February 23, 2024, 08:41:09 am by loaded »
Check out  loaded on Strava
https://www.strava.com/athletes/109391137

MarkMLl

  • Hero Member
  • *****
  • Posts: 6692
Re: Lazmapviewer with multiple tracks
« Reply #2 on: February 23, 2024, 09:35:26 am »
Is that based on Lazmapviewer?

I didn't say anything about /threads/, I said /tracks/ i.e. the course of an aircraft.

Unsure what- if anything- I'd use for a backend. Might do it entirely in-memory, or might have an SQLite file per day. ADS-B can produce a /lot/ of data, all planes transmit on the same frequency with basically no contention protocol so about all one can do is design the antenna well and then do a crude filter for anything within a "box" before looking more closely.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

wp

  • Hero Member
  • *****
  • Posts: 11923
Re: Lazmapviewer with multiple tracks
« Reply #3 on: February 23, 2024, 11:21:10 am »
Before I even decide whether it's worth pursuing, can Lazmapviewer

a) add points to a track dynamically (i.e. as they arrive),
Certainly. See TGPSListViewer.BtnLoadTrackClick in unit gpslistform. It reads track points from a file, but I don't see why the same steps would not be possible when the points arrive by and by.

b) support multiple tracks differentiated by colour etc. with a legend panel,
The demo "colored_tracks" in the LazMapViewer installation shows three tracks in different colors. There is no built-in legend, though, you must create this on your own.

c) delete an entire track as a single operation?
This is how I'd delete FTrack3 in the "colored_tracks" demo:
Code: Pascal  [Select][+][-]
  1. procedure TMainForm.Button1Click(Sender: TObject);
  2. begin
  3.   MapView.GPSItems.Delete(FTrack3);
  4.   FTrack3 := nil;
  5. end;
The "Delete" decreases the reference count of the gps points, and they are destroyed when the reference count is zero. (This takes care of the fact that points of a track can be re-used for other purposes).

Currently, however, significant rework of the LazMapViewer is done by @alpine. Therefore, be prepared for changes.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6692
Re: Lazmapviewer with multiple tracks
« Reply #4 on: February 23, 2024, 12:09:43 pm »
Thanks very much, got that.

I was fairly sure that what I was doing wasn't particularly adventurous, but wanted to check.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

 

TinyPortal © 2005-2018