Erstellen von Flugplänen
Moderator: JaBoG32 Stab
-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
Wenn man sich das Mission-XML File durchliest, dann stellt man fest, dass die Airports (als Start- und Landepunkte) so dargestellt werden:
[codeobk]<DepPoint CATID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="1"/>
<ArrivalPoint CATID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="1"/>[/codeobk]
Das sind keine Koordinaten, denn diese haben die folgende Struktur:
[codeobk]<Position ID="1" Latitude="-164482.328125" Longitude="462246.375" Altitude="30"/>[/codeobk]
Sagt das jemandem 'was. Hat jemand 'ne Info dazu?
D.h. die Frage ist: woran erkenne ich, dass mit "{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" Sochi-Adler gemeint ist?
(Evtl. muss man sich mal ein paar Mission-Files ansehen. Vielleicht hat jeder Airport immer dieselbe Nummer. Dann muss man sich halt mal eine Liste basteln).
[codeobk]<DepPoint CATID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="1"/>
<ArrivalPoint CATID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="1"/>[/codeobk]
Das sind keine Koordinaten, denn diese haben die folgende Struktur:
[codeobk]<Position ID="1" Latitude="-164482.328125" Longitude="462246.375" Altitude="30"/>[/codeobk]
Sagt das jemandem 'was. Hat jemand 'ne Info dazu?
D.h. die Frage ist: woran erkenne ich, dass mit "{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" Sochi-Adler gemeint ist?
(Evtl. muss man sich mal ein paar Mission-Files ansehen. Vielleicht hat jeder Airport immer dieselbe Nummer. Dann muss man sich halt mal eine Liste basteln).
Hedgehog - Member of the 33rd Airbase Wing (zur Zeit auf unbefristetem Urlaub)
- exJaBoG32_Viper
- Advanced Member
- Beiträge: 546
- Registriert: 16. Okt 2004, 12:50
Diese {A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0} sind imho ClassID's.
Eine Liste derselben findet Ihr in der meinit.xml in der Form:
[codeztj]
<Airports>
<DefaultCategories>
<Category CLSID="{897DB97D-32DC-4401-96BE-5E020C9D3F83}">Standard RW</Category>
<Category CLSID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="9">Airdrome</Category>
<Category CLSID="{AB46BAAE-F87E-40f9-A4F6-9F045251E14D}">Ground Object</Category>
</DefaultCategories>
<Airport CLSID="{CB6C59B3-E19E-4eb4-8277-E02A739DDDDA}" Name="Khersones" Rate="1" WorldID="1"/>
<Airport CLSID="{85105E5A-CFCC-47e3-A06D-D2B78DEA215E}" Name="Saki" Rate="1" WorldID="2"/>
<Airport CLSID="{C46191FB-CCE6-4fd3-8A64-199F3B038A8E}" Name="Simferopol" Rate="1" WorldID="3"/>
<Airport CLSID="{D21BFB29-6832-4df4-A3D9-0C9E489E3324}" Name="Razdolnoye" Rate="1" WorldID="4"/>
<Airport CLSID="{B0E5ED3A-1B5C-4875-AFF0-F00B729FF0DE}" Name="Dzhankoy" Rate="1" WorldID="5"/>
<Airport CLSID="{EED81D7E-F87F-471d-AE8A-784108CAB1A4}" Name="Kirovskoye" Rate="1" WorldID="6"/>
<Airport CLSID="{F2929A1F-353C-4de1-B3F9-2277180277DB}" Name="Kerch-Bagerovo" Rate="1" WorldID="7"/>
<Airport CLSID="{D35C5B48-BE9D-442a-83C2-3E08B2133693}" Name="Belbek" Rate="1" WorldID="8"/>
<Airport CLSID="{9F63C4F1-24EB-4d5d-85BE-7167F24280AE}" Name="Krasnogvardeyskoye" Rate="1" WorldID="9"/>
<Airport CLSID="{60B45558-CC3F-40d2-AAD2-F1ED97180BDF}" Name="Oktyabrskoye" Rate="1" WorldID="10"/>
<Airport CLSID="{91E404D8-FC2F-4d26-A4A4-A157A0A320F8}" Name="Gvardeyskoye" Rate="1" WorldID="11"/>
<Airport CLSID="{8F9A2BC9-291D-4f11-9616-2E4BCF46783A}" Name="Anapa" Rate="1" WorldID="12"/>
<Airport CLSID="{84DD8BFE-0D3E-45a3-82D4-97A66A156F27}" Name="Krasnodar-Center" Rate="1" WorldID="13"/>
<Airport CLSID="{90235F24-816B-49c3-BE76-83839F0A3493}" Name="Novorossiysk" Rate="1" WorldID="14"/>
<Airport CLSID="{D53D9DCC-1B70-46d3-B838-FDA8AEC5407B}" Name="Krymsk" Rate="1" WorldID="15"/>
<Airport CLSID="{7F01988A-39DB-402a-9B0A-C83181805ED1}" Name="Maykop" Rate="1" WorldID="16"/>
<Airport CLSID="{EB0F4611-98D7-4e60-AFF5-087F5B15017B}" Name="Gelendzhik" Rate="1" WorldID="17"/>
<Airport CLSID="{E88C3C53-9B2C-43b4-AB74-6C6E6B3F1DE7}" Name="Sochi-Adler" Rate="1" WorldID="18"/>
<Airport CLSID="{7B8EBCBD-C2ED-4b6e-A23A-34A32E333EB0}" Name="Krasnodar-Pashkovskiy" Rate="1" WorldID="19"/>
<Airport CLSID="{AEF80796-213D-4f6f-9490-1EBA7AAD5865}" Name="Sukhumi" Rate="1" WorldID="20"/>
<Airport CLSID="{099B9601-DFC3-48d6-9C42-8DDE2262547F}" Name="Gudauta" Rate="1" WorldID="21"/>
</Airports>
[/codeztj]
Koordinaten sind dabei leider nicht angegeben.
Unter /Bazar/Map gibt es eine Datei airdromes.dat, welche jedoch im Binärformat vorliegt und somit nicht so einfach auszulesen ist. Möglich das dort die notwendigen Koordinaten zu finden sind.
Zur Not bliebe nichts anderes übrig, als eine Liste mit den Koordinaten der einzelnen Plätze selbst anzulegen. Zillion dürfte da schon aufgrund des ATC etwas haben, am Besten mal nachfragen.
Eine Liste derselben findet Ihr in der meinit.xml in der Form:
[codeztj]
<Airports>
<DefaultCategories>
<Category CLSID="{897DB97D-32DC-4401-96BE-5E020C9D3F83}">Standard RW</Category>
<Category CLSID="{A52A8FE3-9F6D-4d4a-8AF9-76563F256BA0}" ID="9">Airdrome</Category>
<Category CLSID="{AB46BAAE-F87E-40f9-A4F6-9F045251E14D}">Ground Object</Category>
</DefaultCategories>
<Airport CLSID="{CB6C59B3-E19E-4eb4-8277-E02A739DDDDA}" Name="Khersones" Rate="1" WorldID="1"/>
<Airport CLSID="{85105E5A-CFCC-47e3-A06D-D2B78DEA215E}" Name="Saki" Rate="1" WorldID="2"/>
<Airport CLSID="{C46191FB-CCE6-4fd3-8A64-199F3B038A8E}" Name="Simferopol" Rate="1" WorldID="3"/>
<Airport CLSID="{D21BFB29-6832-4df4-A3D9-0C9E489E3324}" Name="Razdolnoye" Rate="1" WorldID="4"/>
<Airport CLSID="{B0E5ED3A-1B5C-4875-AFF0-F00B729FF0DE}" Name="Dzhankoy" Rate="1" WorldID="5"/>
<Airport CLSID="{EED81D7E-F87F-471d-AE8A-784108CAB1A4}" Name="Kirovskoye" Rate="1" WorldID="6"/>
<Airport CLSID="{F2929A1F-353C-4de1-B3F9-2277180277DB}" Name="Kerch-Bagerovo" Rate="1" WorldID="7"/>
<Airport CLSID="{D35C5B48-BE9D-442a-83C2-3E08B2133693}" Name="Belbek" Rate="1" WorldID="8"/>
<Airport CLSID="{9F63C4F1-24EB-4d5d-85BE-7167F24280AE}" Name="Krasnogvardeyskoye" Rate="1" WorldID="9"/>
<Airport CLSID="{60B45558-CC3F-40d2-AAD2-F1ED97180BDF}" Name="Oktyabrskoye" Rate="1" WorldID="10"/>
<Airport CLSID="{91E404D8-FC2F-4d26-A4A4-A157A0A320F8}" Name="Gvardeyskoye" Rate="1" WorldID="11"/>
<Airport CLSID="{8F9A2BC9-291D-4f11-9616-2E4BCF46783A}" Name="Anapa" Rate="1" WorldID="12"/>
<Airport CLSID="{84DD8BFE-0D3E-45a3-82D4-97A66A156F27}" Name="Krasnodar-Center" Rate="1" WorldID="13"/>
<Airport CLSID="{90235F24-816B-49c3-BE76-83839F0A3493}" Name="Novorossiysk" Rate="1" WorldID="14"/>
<Airport CLSID="{D53D9DCC-1B70-46d3-B838-FDA8AEC5407B}" Name="Krymsk" Rate="1" WorldID="15"/>
<Airport CLSID="{7F01988A-39DB-402a-9B0A-C83181805ED1}" Name="Maykop" Rate="1" WorldID="16"/>
<Airport CLSID="{EB0F4611-98D7-4e60-AFF5-087F5B15017B}" Name="Gelendzhik" Rate="1" WorldID="17"/>
<Airport CLSID="{E88C3C53-9B2C-43b4-AB74-6C6E6B3F1DE7}" Name="Sochi-Adler" Rate="1" WorldID="18"/>
<Airport CLSID="{7B8EBCBD-C2ED-4b6e-A23A-34A32E333EB0}" Name="Krasnodar-Pashkovskiy" Rate="1" WorldID="19"/>
<Airport CLSID="{AEF80796-213D-4f6f-9490-1EBA7AAD5865}" Name="Sukhumi" Rate="1" WorldID="20"/>
<Airport CLSID="{099B9601-DFC3-48d6-9C42-8DDE2262547F}" Name="Gudauta" Rate="1" WorldID="21"/>
</Airports>
[/codeztj]
Koordinaten sind dabei leider nicht angegeben.
Unter /Bazar/Map gibt es eine Datei airdromes.dat, welche jedoch im Binärformat vorliegt und somit nicht so einfach auszulesen ist. Möglich das dort die notwendigen Koordinaten zu finden sind.
Zur Not bliebe nichts anderes übrig, als eine Liste mit den Koordinaten der einzelnen Plätze selbst anzulegen. Zillion dürfte da schon aufgrund des ATC etwas haben, am Besten mal nachfragen.
Ich brauch keinen Schutzengel....Gevatter Tod kann nicht so schnell rennen wie ich fliege 

-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
Perfekt!!
Das mit den Koordinaten ist kein Prob, da ich die in einem Flugplan nicht brauche.
Somit ist von den Daten - glaube ich - erst mal alles beisammen.
[edit] noch 2 sekunden nachgedacht: Runway fehlt noch
Aber ich sollte mir erst mal das Teil genauer vornehmen. Brauch' da halt ein bischen Zeit für.
Das mit den Koordinaten ist kein Prob, da ich die in einem Flugplan nicht brauche.
Somit ist von den Daten - glaube ich - erst mal alles beisammen.
[edit] noch 2 sekunden nachgedacht: Runway fehlt noch

Aber ich sollte mir erst mal das Teil genauer vornehmen. Brauch' da halt ein bischen Zeit für.
Hedgehog - Member of the 33rd Airbase Wing (zur Zeit auf unbefristetem Urlaub)
-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
Was ich mir jetzt vorgestellt hatte war allerdings nicht nur ein Tool um die Flugpläne zu bauen oder gar online darzustellen, sondern auch und vor allem auf einer Karte (in unserem Buchungssystem) Wegpunkte abzuklicken und dabei gleichzeitig unsere standart Template Mission so zu editieren dass dabei gleich die entsprechenden Wegpunkte eingetragen werden.
Gegen Java hab ich gar nichts, denn mit Flash kann ich sowieso keine Dateien schreiben, höchstens immer den gleichen Sheet verändert darstellen, aber mit php würde sich die online Funktionalität glaube ich noch besser einrichten.
IMMER NOCH BEI DER ARBEIT !!!
Gegen Java hab ich gar nichts, denn mit Flash kann ich sowieso keine Dateien schreiben, höchstens immer den gleichen Sheet verändert darstellen, aber mit php würde sich die online Funktionalität glaube ich noch besser einrichten.


-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
Gut, das sind dann 2 verschiedene Anforderungen. Findest du das Erstellen eines Flugplans überflüssig?
Ich nehm' das mal als lockeren Einstieg in die LockOn-Welt und in die Java Programmierung. (Das ATC Tool hast du ja nu leider schon geschrieben
)
Deine Idee, direkt in das Mission-File zu schreiben hat 'was. Allerdings müssen wir dann erst mal abchecken, was es mit dem Binary-Data-Header auf sich hat. Meine Befürchtung ist, dass der nicht fix ist. Und wenn du die XML.Daten modifizierst, dass dann das Mission-File sozusagen 'corrupted' ist - weil die XML-Daten mit den Binärdaten möglicherweise nicht mehr zusammenpassen.
Es müsste also mal einer sich hinsetzen, und ein paar unterschiedliche Missionen, die auf eurer Standard Template Mission basieren hernehmen, die Binary-Kopfdaten 'rausziehen und mit einem Binär-Vergleicher die Köpfe vergleichen.
Hat da jemand Zeit dazu?
(das Vergleichen ist unter UNIX easy - Kommando: cmp)
Ich nehm' das mal als lockeren Einstieg in die LockOn-Welt und in die Java Programmierung. (Das ATC Tool hast du ja nu leider schon geschrieben

Deine Idee, direkt in das Mission-File zu schreiben hat 'was. Allerdings müssen wir dann erst mal abchecken, was es mit dem Binary-Data-Header auf sich hat. Meine Befürchtung ist, dass der nicht fix ist. Und wenn du die XML.Daten modifizierst, dass dann das Mission-File sozusagen 'corrupted' ist - weil die XML-Daten mit den Binärdaten möglicherweise nicht mehr zusammenpassen.
Es müsste also mal einer sich hinsetzen, und ein paar unterschiedliche Missionen, die auf eurer Standard Template Mission basieren hernehmen, die Binary-Kopfdaten 'rausziehen und mit einem Binär-Vergleicher die Köpfe vergleichen.
Hat da jemand Zeit dazu?
(das Vergleichen ist unter UNIX easy - Kommando: cmp)
Hedgehog - Member of the 33rd Airbase Wing (zur Zeit auf unbefristetem Urlaub)
Hi Hedgehog, 
Der Binär-Header hat tatsächlich was mit den restlichen Koordinaten und Informationen im Mission File zu tun. Der Zillion hat bereits herausgefunden, dass du mit einem Programm wie beispielsweise Ultraedit allerdings die Koordinaten ändern kannst, ohne dass das Missionfile dadurch corrupted wird. Ultraedit passt nämlich selbstständig diesen Binär-Header an.
Wie dass das Programm macht, weis Ich leider nicht und so ausm Stegfrei fällt mir auch keine Möglichkeit ein, mit php da was zu machen... hmm...... wobei es gibt schon Funktionen um Binärdaten zu lesen. Man müsste halt dann praktisch die Zusammenhänge zwischen Binärdaten und ASCII Zeichen im Mission-File herausfinden - aber wie man das am besten anstellt?
Naja vielleicht geht das mit Java auch einfacher 

Der Binär-Header hat tatsächlich was mit den restlichen Koordinaten und Informationen im Mission File zu tun. Der Zillion hat bereits herausgefunden, dass du mit einem Programm wie beispielsweise Ultraedit allerdings die Koordinaten ändern kannst, ohne dass das Missionfile dadurch corrupted wird. Ultraedit passt nämlich selbstständig diesen Binär-Header an.
Wie dass das Programm macht, weis Ich leider nicht und so ausm Stegfrei fällt mir auch keine Möglichkeit ein, mit php da was zu machen... hmm...... wobei es gibt schon Funktionen um Binärdaten zu lesen. Man müsste halt dann praktisch die Zusammenhänge zwischen Binärdaten und ASCII Zeichen im Mission-File herausfinden - aber wie man das am besten anstellt?


2. JaBoG32 "Fighting Wildcats"
Gruß, Chrissi aka Kichi
Our Dreams are Wings

Gruß, Chrissi aka Kichi

Our Dreams are Wings

-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
[quote9m7]Ultraedit passt nämlich selbstständig diesen Binär-Header an.[/quote9m7]
Häää????:gruebel:
Mal langsam: Wenn du mit einem Editor (egal ob Ultraedit oder sonst was) in, sagen wir, Zeile 300 eine Änderung vornimmst, dann ändert doch der Editor nicht den Inhalt von Zeile 25 mit (und zwar so, dass die Daten logisch wieder zusammenpassen). Und es ist doch wurscht, ob das Binärdaten sind.
@Zillion: Also nochmal:
1. Du hast herausgefunden, dass man Koordinaten ändern kann und dass LockOn die geänderte Mission 'frisst'. Richtig?
2. Hast du verifiziert, dass der Binär-Header sich wirklich vom ersten unterschied? Bevor du die Datei in LockOn geöffnet hast? (Vielleicht hat LockOn die Binärdaten aktualisiert?)
Hab' mir gestern mal eure "VFAT November 2005.mis" mit dem XML-Editor angesehen: die Struktur ist doch komplexer, als ich zu Anfang glaubte: man muss neben den Airport-Daten zumindest noch die Aircraft-Daten aus LockOn lesen. Werd' am Wochenende mal drangehen, die Daten per Crystal Reports lesbar auszugeben.
Häää????:gruebel:
Mal langsam: Wenn du mit einem Editor (egal ob Ultraedit oder sonst was) in, sagen wir, Zeile 300 eine Änderung vornimmst, dann ändert doch der Editor nicht den Inhalt von Zeile 25 mit (und zwar so, dass die Daten logisch wieder zusammenpassen). Und es ist doch wurscht, ob das Binärdaten sind.
@Zillion: Also nochmal:
1. Du hast herausgefunden, dass man Koordinaten ändern kann und dass LockOn die geänderte Mission 'frisst'. Richtig?
2. Hast du verifiziert, dass der Binär-Header sich wirklich vom ersten unterschied? Bevor du die Datei in LockOn geöffnet hast? (Vielleicht hat LockOn die Binärdaten aktualisiert?)
Hab' mir gestern mal eure "VFAT November 2005.mis" mit dem XML-Editor angesehen: die Struktur ist doch komplexer, als ich zu Anfang glaubte: man muss neben den Airport-Daten zumindest noch die Aircraft-Daten aus LockOn lesen. Werd' am Wochenende mal drangehen, die Daten per Crystal Reports lesbar auszugeben.
Hedgehog - Member of the 33rd Airbase Wing (zur Zeit auf unbefristetem Urlaub)
Hi Hedghehog,
Hmm... Also rein prinzipiell hat jede Datei einen Header. Der beinhaltet Informationen über die Dateigröße, Dateiname, usw...
Wenn du in so einer Datei Änderungen vornimmst, dann wird dieser Header auch automatisch aktualisiert. Anscheinend ist bei den mis. files dieser Header eben lesbar und Ultraedit versteht, was er bedeuten soll. Deshalb kann er automatisch angepasst werden.
Wie gesagt, ist nur ne Vermutung. Selber hab Ichs noch nie ausprobiert - Ich geb hier grad nur Zillion's Erfahrungen weiter
Probier's am besten mal selber aus
Hmm... Also rein prinzipiell hat jede Datei einen Header. Der beinhaltet Informationen über die Dateigröße, Dateiname, usw...
Wenn du in so einer Datei Änderungen vornimmst, dann wird dieser Header auch automatisch aktualisiert. Anscheinend ist bei den mis. files dieser Header eben lesbar und Ultraedit versteht, was er bedeuten soll. Deshalb kann er automatisch angepasst werden.
Wie gesagt, ist nur ne Vermutung. Selber hab Ichs noch nie ausprobiert - Ich geb hier grad nur Zillion's Erfahrungen weiter

Probier's am besten mal selber aus

2. JaBoG32 "Fighting Wildcats"
Gruß, Chrissi aka Kichi
Our Dreams are Wings

Gruß, Chrissi aka Kichi

Our Dreams are Wings

-
- Schaut öfter mal vorbei
- Beiträge: 29
- Registriert: 27. Aug 2005, 07:20
Ok, s. Screenshot:
[url=http://img464.imageshack.us/my.php?image=cmp7ll.jpghrn][imghrn]http://img464.imageshack.us/img464/4431/cmp7ll.th.jpg[/imghrn][/urlhrn]
Im oberen Teil 'od -x K* ...' siehst du die Binärausgabe der per UltraEdit modifizierten Kopie eurer Mission.
Im unteren Teil 'od -x V* ...' kommen die ersten Zeilen der originalen Mission.
Ergebnis: UltraEdit ersetzt offensichtlich die Bytes '00' durch '20' (Blank).
Bei den Bytes ungleich '00' scheinen die Werte unverändert zu sein.
Es scheint also nicht so einfach möglich zu sein, eine Missionsdatei per Editor zu ändern. Müsste ich mal tiefer in das Hex-Code editing des UltraEdit einsteigen - aber das wollen wir ja eh' nicht von Hand machen...
(Damit ist die Welt für mich wieder in Ordnung
)
(sorry, den Rechnernamen musste ich ausradieren)
[url=http://img464.imageshack.us/my.php?image=cmp7ll.jpghrn][imghrn]http://img464.imageshack.us/img464/4431/cmp7ll.th.jpg[/imghrn][/urlhrn]
Im oberen Teil 'od -x K* ...' siehst du die Binärausgabe der per UltraEdit modifizierten Kopie eurer Mission.
Im unteren Teil 'od -x V* ...' kommen die ersten Zeilen der originalen Mission.
Ergebnis: UltraEdit ersetzt offensichtlich die Bytes '00' durch '20' (Blank).
Bei den Bytes ungleich '00' scheinen die Werte unverändert zu sein.
Es scheint also nicht so einfach möglich zu sein, eine Missionsdatei per Editor zu ändern. Müsste ich mal tiefer in das Hex-Code editing des UltraEdit einsteigen - aber das wollen wir ja eh' nicht von Hand machen...
(Damit ist die Welt für mich wieder in Ordnung

(sorry, den Rechnernamen musste ich ausradieren)
Hedgehog - Member of the 33rd Airbase Wing (zur Zeit auf unbefristetem Urlaub)