Recent

Author Topic: Geographical mapping components -- does anything exist?  (Read 465 times)

QuinnMartin

  • Jr. Member
  • **
  • Posts: 56
Geographical mapping components -- does anything exist?
« on: June 29, 2024, 10:30:10 pm »
Are there any fast geographical vector map drawing components for Lazarus?  I'm looking for something that can draw on TImage or TBGRABitmap.  I've written my own code but it takes a few seconds to draw and isn't really fast enough to drag on a globe to rotate it.  Not sure if some of this has to be written in assembly to make it run fast enough.

Note that I'm not talking about tile maps or raster maps (like loading Google Maps), that's something completely different.  I'm talking about drawing vector maps in a few basic projections like stereographic, Lambert, etc, with color fills for countries and landforms as needed.  Texture mapping (similar to wrapping a large image on a sphere in Blender) would be nice but isn't important.

In the 2000s there was a Delphi component called TGlobe that was very fast.  I still see people talking about it -- https://en.delphipraxis.net/topic/8807-bringing-tglobe-from-d5-to-present-day/ and it appears there's repositories, but I'd rather not use sketchy sources, plus TGlobe was payware so it's not going to be properly licensed and will be missing functionality.  I also remember it was rather primitive and didn't do antialiasing, which is kind of a standard in the 2020s, so the results look dated.  But the drawing was super fast -- milliseconds even in the days of Delphi 5.

It would be nice to have something that ran natively in Lazarus without warnings and errors.  I'd definitely pay for such a component.

MarkMLl

  • Hero Member
  • *****
  • Posts: 8035
Re: Geographical mapping components -- does anything exist?
« Reply #1 on: June 29, 2024, 10:43:23 pm »
https://wiki.freepascal.org/LazMapViewer

That's oriented towards (e.g) OpenStreetMap, but I suspect that somebody interested in the esoterica of projections etc. will find himself a contributor that a user :-)

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

 

TinyPortal © 2005-2018