Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   GPX-Dateien anzeigen (https://www.delphipraxis.net/207408-gpx-dateien-anzeigen.html)

DieDolly 21. Mär 2021 17:48

GPX-Dateien anzeigen
 
Ich habe vom GPX-Format keine Ahnung. Ich weiß nur, dass es XML ist.
Gibt es für Delphi eine kostenlose Komponente, um GPX-Dateien anzuzeigen (auf einer Karte anzeigen)?

Verschiedene Android-Apps zeichnen während der Fortbewegung (Fahrrad, Auto, Joggen) auf und exportieren im GPX-Format.

TMS kommt nicht infrage. 200€ ist viel zu viel.

Delphi.Narium 21. Mär 2021 18:01

AW: GPX-Dateien anzeigen
 
Da mal durch die Delphisourcen wühlen: GPX Editor

Ansonsten alles, was XML anzeigen kann, 'ne passende xsl (nach eigenen Wünschen) dazu erstellen und im Browser anzeigen lassen.

DieDolly 21. Mär 2021 18:23

AW: GPX-Dateien anzeigen
 
Zitat:

Ansonsten alles, was XML anzeigen kann, 'ne passende xsl (nach eigenen Wünschen) dazu erstellen
Ich habe nur eine GPX-Datei und sonst nix. Sonst wird auch nichts erstellt weil das zu viel Aufwand ist.

Ich glaube ich sollte das konkretisieren.
Es geht mir nicht um die Daten. Es geht mir darum, die Daten visuell in einer Karte anzuzeigen.


Wieso gibt es dieses Thema 2x? Kann die ein Moderator zusammenfügen?

Delphi.Narium 21. Mär 2021 18:33

AW: GPX-Dateien anzeigen
 
Zitat:

Zitat von DieDolly (Beitrag 1485682)
Zitat:

Ansonsten alles, was XML anzeigen kann, 'ne passende xsl (nach eigenen Wünschen) dazu erstellen
Ich habe nur eine GPX-Datei und sonst nix. Sonst wird auch nichts erstellt weil das zu viel Aufwand ist.

Ich glaube ich sollte das konkretisieren.
Es geht mir nicht um die Daten. Es geht mir darum, die Daten visuell in einer Karte anzuzeigen.

Wenn ich die Beschreibung und die Screenshots des von mir verlinkten halbwegs richtig verstanden haben sollte, so macht diese Software genau das Gewünscht.

DieDolly 21. Mär 2021 18:45

AW: GPX-Dateien anzeigen
 
Ich glaube das Projekt ist vorrüber. Delphi 10.3.3 kennt THttpCli nicht.

mmw 21. Mär 2021 18:48

AW: GPX-Dateien anzeigen
 
http://wiki.overbyte.eu/wiki/index.php/THttpCli

DieDolly 21. Mär 2021 18:57

AW: GPX-Dateien anzeigen
 
Gerade mal durchgetestet, kann man vergessen. Basiert irgendwie auf SHDocVw_TLB und anderen Sachen.
Sowas muss sofort kompilierbar sein, wenn man die mitgelieferten Komponenten installiert und da sollte man nicht erst Stunden rumdoktorn müssen.

Ganz abgesehen von all den Inkompatibilitäten im Code in der gnugettext.pas.

philipp.hofmann 21. Mär 2021 19:16

AW: GPX-Dateien anzeigen
 
Ich benutze dazu die Maps von TMS, gibt es als Google-Maps und OpenStreet-Maps-Version. Wichtig bei der Google-Variante: wenn du diese unter Windows, MacOS oder iOS nutzt, kosten die Calls Geld. Nur unter Android sind die Basis-Calls kostenlos.

DieDolly 21. Mär 2021 19:16

AW: GPX-Dateien anzeigen
 
Zitat:

Ich benutze dazu die Maps von TMS
Wie oben erwähnt, gebe ich für sowas keine 200€ aus.

Zitat:

kosten die Calls Geld
Gibts bei TMS überhaupt irgendwas kostenlos? Bei denen kostet doch alles dreistellige Summen.

Ich lass das mit GPX und Anzeige sein. Der GPX Editor ist auf Sourceforge. Alleine das sollte schon Anzeichen genug dafür sein, dass es veraltet ist.

zeras 21. Mär 2021 19:22

AW: GPX-Dateien anzeigen
 
Zitat:

Zitat von DieDolly (Beitrag 1485690)
Zitat:

kosten die Calls Geld
Gibts bei TMS überhaupt irgendwas kostenlos? Bei denen kostet doch alles dreistellige Summen.

Die Leute vom TMS werden das Programmieren wohl als Hauptberuf machen und müssen damit ihren Lebensunterhalt bestreiten.:lol:
Du gehst ja bestimmt auch arbeiten und möchtest eine Entlohnung dafür haben.

Delphi.Narium 21. Mär 2021 19:24

AW: GPX-Dateien anzeigen
 
Statt zu erwarten, dass es alles perfekt für umsonst und kostenlos gibt, eventuell ja einfach mal in den Quelltext schauen und dann was eigenes, dem eigenen Bedarf entsprechendes, erstellen und das dann ebenfalls kostenlos und mit allumfassenden und perfektem Service, für jede beliebige Delphiversion, zur Verfügung stellen.

Aus den Quellen ist ganz klar zu entnehmen, dass das mit Delphi 7 erstellt wurde, die letzten Änderungen sind vom 13.06.2020. Warum sollte das, ohne jedwedes eigenes Dazutun unter Delphi 10.3 funktionieren?

Achso: SHDocVw_TLB ist die importierte Typelib zum Internetexplorer, also nix exotisches.

TMS ist ein Unternehmen, dass von der Entwicklung und dem Verkauf von Software, einschließlich der Quelltexte, lebt. Warum sollte da irgendwas kostenlos sein?
Warum müssen Softwareentwickler eigentlich immer alles verschenken, damit andere auch was davon haben? Warum darf man damit nicht auch seinen Lebensunterhalt verdienen?

DieDolly 21. Mär 2021 19:30

AW: GPX-Dateien anzeigen
 
Zitat:

Warum sollte das, ohne jedwedes eigenes Dazutun unter Delphi 10.3 funktionieren?
Dann sollte man solche Komponenten nicht für neuere Delphis über D7 anbieten.
Alles andere ist Augenwischerei und erweckt den Eindruck, dass es noch bis heute gepflegt wird und kompatibel ist.

Delphi.Narium 21. Mär 2021 19:41

AW: GPX-Dateien anzeigen
 
Wo steht denn, dass das für neuer Versionen angeboten wird?
Wo steht denn, dass es da überhaupt eine Garantie für irgendwas gibt?

Da hat einfach mal jemand ein Programm geschrieben und die Quellen der Allgemeinheit zur Verfügung gestellt.
D. H.: Wer will, kann damit was machen, wer nicht will, lässt es bleiben.

Aber aus dem puren Vorhandensein von Quelltexten auf einem beliebigen Server dieser Welt irgendwelche Ansprüche abzuleiten, ist wirklich etwas arg übertrieben.

DieDolly 21. Mär 2021 20:07

AW: GPX-Dateien anzeigen
 
Zitat:

Wo steht denn, dass das für neuer Versionen angeboten wird?
Es gibt dproj-Dateien für 10.3. Wenn man die als Entwickler hinzufügt, sollte man auch sicherstellen, dass alles kompilierbar ist.
Ich werde einfach nach einer anderen Lösung suchen, die nicht auf Delphi basiert und extern im Browser anzeigbar ist.
Programm => GPX-Datei => Webbrowser, Google-Maps => Anzeige irgendwie so.

zeras 21. Mär 2021 21:12

AW: GPX-Dateien anzeigen
 
[QUOTE=DieDolly;1485698]
Zitat:

Ich werde einfach nach einer anderen Lösung suchen, die nicht auf Delphi basiert und extern im Browser anzeigbar ist.
Programm => GPX-Datei => Webbrowser, Google-Maps => Anzeige irgendwie so.
Dann kannst du ja die Lösung auch hier kostenlos zur Verfügung stellen.
Vielleicht gibt es noch den ein oder anderen, der so etwas benötigt.

mmw 21. Mär 2021 21:30

AW: GPX-Dateien anzeigen
 
https://www.qgis.org/de/site/index.html

DieDolly 21. Mär 2021 22:25

AW: GPX-Dateien anzeigen
 
Irgendwie werde ich nicht schlau aus diesem QGIS-Projekt. Was soll das sein und was hat das mit GPX zu tun?

Delphi.Narium 21. Mär 2021 22:47

AW: GPX-Dateien anzeigen
 
QGIS ist ein Geoinformationssystem und GPX-Dateien sind Dateien im GPS Exchange Format (GPX), die die mit dem Geoinformationssystem darzustellenden Daten enthalten.

QGIS zeigt an, was in GPX drin ist.

Zitat:

Zitat von DieDolly
Gibt es für Delphi eine kostenlose Komponente, um GPX-Dateien anzuzeigen (auf einer Karte anzeigen)?

Gibt es für Delphi eine kostenloses Komponente Programm, um GPX-Dateien anzuzeigen (auf einer Karte anzeigen)?

Ja. QGIS.

mmw 22. Mär 2021 21:57

AW: GPX-Dateien anzeigen
 
hallo,

hier wäre noch eine ActiveX Kompo

https://github.com/MapWindow/MapWinGIS/releases

.exe runterladen, installieren

im Verzeichnis ..\..\MapWinGIS

liegen die Komponenten bzw. die ocx-Datei

Gruß

DieDolly 23. Mär 2021 16:40

AW: GPX-Dateien anzeigen
 
Wie benutzt man so eine ocx Datie denn dann in Delphi selber, wie benutze ich das per Code?

Delphi.Narium 23. Mär 2021 16:52

AW: GPX-Dateien anzeigen
 
Bei Delphi 7 im Menü unter "Komponente" das Untermenü "ActiveX importieren" auswählen.
Button "Hinzufügen", im Dialog die OCX-Datei auswählen und dann entweder "Installieren" oder "Unit anlegen" wählen.

Bei "Installieren" erhält man auf der, im Dialog ausgewählten, Palettenseite ein entsprechendes Symbol und kann dann, wie bei anderen Komponenten auch, das entsprechende Control auf ein Formular ... einfügen.

Benutzbarkeit ist analog zu allem auf der "ActiveX"-Palettenseite.

Wie der genaue Weg bei aktuellen Delphis ist, weiß ich nicht.

mmw 23. Mär 2021 17:47

AW: GPX-Dateien anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
im Verzeichnis ..\..\MapWinGIS

sollte folgenden Datei sein -

regMapWinGIS.cmd

diese Datei ausführen, dadurch wird die ActiveX Komponente registriert. Anschließend in Delphi dann über Komponente importieren
als Aktivex oder die Typbiblothek (Wenn man die Komponente installiert hat).

Die Komponente heißt 'MapWinGIS Components'

ein erstes Beispiel (ich habe die Komponente auch nicht eingesetzt., in VS2017 soll man sich eine Hilfe erstellen könnnen.)

Delphi-Quellcode:
begin
   Map1.Projection:= PROJECTION_GOOGLE_MERCATOR;
   Map1.KnownExtents:= keUSA;
   Map1.Tiles.AutoDetectProxy();
   Map1.Latitude:=48.85;
   Map1.longitude:=2.36;
   Map1.CurrentZoom:=12;
end;
https://www.mapwindow.org/documentat...g_started.html

hier ein Programm das die Biblothek einsetzt. Wenn man MapWindow 5 installiert,kann über File/AddVectorlayer [all Files] eine GPX Datei anzeigen.

https://www.mapwindow.org/

DieDolly 23. Mär 2021 19:47

AW: GPX-Dateien anzeigen
 
Zitat:

diese Datei ausführen, dadurch wird die ActiveX Komponente registriert. Anschließend in Delphi dann über Komponente importieren
als Aktivex oder die Typbiblothek (Wenn man die Komponente installiert hat).
Muss man diese CMD-Datei auf allen Rechnern ausführen wo die Exe nachher laufen soll?

Kann ich die Datei wieder "unregistrieren" (unregMapWinGIS.cmd) wenn ich sie in Delphi importiert habe?

mmw 23. Mär 2021 19:58

AW: GPX-Dateien anzeigen
 
hallo,

auf allen Rechner auf dem das AktiveX -Control benutzt wird muss es auch registriert sein, anschließend (bei desinstallation ) kann es wieder unregistriert werden.

DieDolly 23. Mär 2021 20:01

AW: GPX-Dateien anzeigen
 
Dann hat sich die Komponente für mich auch wieder erledigt. Trotzdem danke.
Ich dachte das wird alles in die Exe mit einkompiliert.

mmw 23. Mär 2021 20:10

AW: GPX-Dateien anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
wenn die Kompomnente richtig registriert ist, dann sollte es wie im Anhang aussehen( als Typbiblothek.)

DieDolly 23. Mär 2021 20:14

AW: GPX-Dateien anzeigen
 
So war es am Ende auch. Aber da man die zwingend auf allen Rechnern installieren muss wo nur die Exe nachher ausgeführt wird, fliegt die wieder raus. Sehr schade.

Sinspin 24. Mär 2021 07:20

AW: GPX-Dateien anzeigen
 
Ich habe einige Zeit mit Selbstregistrierung gearbeitet. Dann spart man sich das registrieren auf jedem Rechner.
Dafür brauchte man eine Manifest Datei (pro Module) mit ein paar kryptischen Einträgen.
Keine Ahnung ob das mit so schrecklich modernen Windows noch geht.

Ich bin dann jedenfalls auf andere Komponenten umgestiegen da irgendwann die Komponenten nach jedem Patchday ein anderes verhalten hatten.

Stichwort zur Technik ist Windows SXS (Side by Side).

ProgramName.manifest:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

   <assemblyIdentity name="ProgrammName.exe"
                     version="1.0.0.0"
                     type="win32"
                     processorArchitecture="x86"/>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>

  <!--file name="Clay.ocx">
      <comClass
          description="Yellow, green or brown clay"
          clsid="{CCB32152-B81E-11D2-AB74-0041234C3007}"
          threadingModel="Apartment"
          progid="Modules.Clay"
          tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" />
    <typelib tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>
  </file-->

  <dependency>
    <dependentAssembly>
      <assemblyIdentity name="Clay.sxs" version="1.0.0.0" type="win32" />
    </dependentAssembly>
  </dependency>
</assembly>
Clay.sxs.manifest
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
    type="win32"
    name="Clay.sxs"
    version="1.0.0.0" />

  <file name="Clay.ocx">
    <comClass
        description="Yellow, green or brown clay"
        clsid="{CCB32152-B81E-11D2-AB74-0041234C3007}"
        threadingModel="Apartment"
        progid="Modules.Clay"
        tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" />

    <typelib tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>
  </file>

  <!--comInterfaceExternalProxyStub name="IOInterfaceEvent" iid="{CCB32153-B81E-11D2-AB74-0041234C3007}" tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}"></comInterfaceExternalProxyStub-->

</assembly>

DieDolly 24. Mär 2021 11:09

AW: GPX-Dateien anzeigen
 
Zitat:

Ich bin dann jedenfalls auf andere Komponenten umgestiegen
Würde ich auch gerne aber da scheint es nix zu geben für die Anzeige von GPX-Dateien in einer Map ohne ActiveX oder anderen Abhängigkeiten. Jedengfalls nichts, was funktioniert. Das von Sourceforge ist jedenfalls für die Tonne.

philipp.hofmann 24. Mär 2021 12:46

AW: GPX-Dateien anzeigen
 
Ich sehe gerade in der Antwort von Dir, dass Du hier etwas von mir missverstanden hattest:

"Wichtig bei der Google-Variante: wenn du diese unter Windows, MacOS oder iOS nutzt, kosten die Calls Geld" -> hier nimmt Google Geld, nicht TMS.

Sprich, wenn du eine Map über die Google-APIs einbindest, geht dies über einen Google-API-Key und Google rechnet alle Calls gegen diesen Google-API-Key ab. Eine bestimmte Anzahl an Calls pro Monat ist frei, danach kostet es Geld. Nur unter Android sind die meisten Calls kostenlos. Je nachdem um was es dir geht, solltest du daher eher nach einer Lösung basierend auf OpenStreetMap suchen. Ob es eine kostenlose Lösung für Delphi dafür gibt, kann ich dir nicht sagen.

Rollo62 24. Mär 2021 13:48

AW: GPX-Dateien anzeigen
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1485950)
Sprich, wenn du eine Map über die Google-APIs einbindest, geht dies über einen Google-API-Key und Google rechnet alle Calls gegen diesen Google-API-Key ab. Eine bestimmte Anzahl an Calls pro Monat ist frei, danach kostet es Geld.

Ja richtig.
Das hört sich jetzt aber drastischer an als es ist, denn das ist sicher keine Abzocke von Google.

Man muss sagen das Google eine großzügige Free-Tier Regelung hat, da kommt man mit einer normalen App kaum ran,
wenn die Map eine Nebensache ist, und man die Abfragen sparsam programmiert.

P.S. Bin mir jetzt gerade beim Schreiben aber nicht sicher ob es nicht schonmal großzügiger war, ich meine 1 Mio freie Zugriffe,
aber keine Zeit das nachzusehen.

Alter Mann 24. Mär 2021 19:07

AW: GPX-Dateien anzeigen
 
schau dir das mal an:

[ORP] Diskussion der Import-Klasse

[Verlinkung habe ich nicht hinbekommen:oops:]

Hatte mich 2019 damit auseinandergesetzt, war vielversprechend.

QGIS und MAPGis sind auch sehr Intressant, erfordern jedoch etwas Einarbeitung. Aber für ein Flotten-Management bestimmt zu gebrauchen. Jedoch nichts für einen Einzelnen.

philipp.hofmann 24. Mär 2021 20:16

AW: GPX-Dateien anzeigen
 
Google-Pricing: Die reine Map-Anzeige ist recht günstig und für die ersten 100.000 statischen Maps sind pro Monat kostenlos (oder 28.000 dynamische Maps).
Wenn man aber die ganzen Funktionen drumherum nutzt, wie Höhenberechnung, Speed-Limits, usw. wird es schnell teurer. Das nutze ich nur intern und gebe es nicht raus.

DieDolly 24. Mär 2021 20:30

AW: GPX-Dateien anzeigen
 
Das Thema kann beendet werden. Ich habe keine Lösung gefunden, die man ins Programm integrieren kann. Entweder kostet etwas Geld, ist viel zu kompliziert einzubauen, funktioniert nicht (Sourceforge) oder braucht ActiveX-Komponenten.

mmw 24. Mär 2021 21:31

AW: GPX-Dateien anzeigen
 
als Info fuer die Zukunft -

https://www.clevercomponents.com/articles/article053/

https://github.com/mpetazzoni/leaflet-gpx

DieDolly 24. Mär 2021 21:35

AW: GPX-Dateien anzeigen
 
Auch schon wieder alles viel zu kompliziert. Das ist wie von hinten durch die Brust ins Auge.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf