2012-03-28 14 views
1

Ich interessiere mich nicht wirklich für die verwendete Sprache.Datenstruktur für große geographische Koordinaten?

ich eine große Datenbank von rund 84.1k Einträge für verschiedene Luftfahrt Koordinaten auf der ganzen Welt haben, werden sie wie folgt formatiert:

A1 023 UBL 15.245197 104.865917 
A1 024 BUTRA 15.418278 105.596083 
A1 025 PAPRA 15.766667 107.183333 
A1 026 BATEM 15.931389 107.765556 
A1 027 DAN 16.052778 108.198333 
A1 028 BUNTA 16.833334 109.395000 
A1 029 LENKO 17.416667 110.300000 
A1 030 IKELA 18.661667 112.245000 
A1 031 IDOSI 19.000000 112.500000 
A1 032 CH 22.219542 114.030056 

Die erste Zahl ist die Flugroute (es gibt Hunderte von diesen). Die zweite Zahl ist die Position, die die Koordinate in Bezug auf die Luftwegsequenz einnimmt. Der dritte ist der Name des Fixpunktes, der vierte und der fünfte sind die Koordinaten selbst.

Eine bessere Art zu beschreiben wäre eine Autobahn. Nehmen wir an, die A1 ist eine Autobahn. UBL, BUTRA, PAPRA usw. sind alle Ausgänge. 023, 024, 025 ist die Reihenfolge, in der Sie auf diese Ausgänge treffen werden (ich sehe UBL nach 22 Ausgängen, da es der 23. ist, dann BUTRA, 24 dann PAPRA, 25).

Diese Ausgänge führen jedoch zu neuen Autobahnen statt Städten. Zum Beispiel führt die UBL Ausfahrt auf

A1 023 UBL 15.245197 104.865917 
G473 006 UBL 15.245197 104.865917 
R470 001 UBL 15.245197 104.865917 
W1 018 UBL 15.245197 104.865917 
W4 031 UBL 15.245197 104.865917 
W5 013 UBL 15.245197 104.865917 

Mein Ziel ist es, diese Punkte mit, die kürzeste Entfernung zwischen zwei Städten, verwenden Sie diese Route verwendet wird. Das ist jedoch nicht mein Problem. Ich kann das herausfinden, aber ich bin mir nicht sicher, welche Struktur ich verwenden soll, um dieses Ding zu halten. Es war mein Programmierlehrer, der zuerst vorgeschlagen hat, dass ich eine Art Struktur brauche, um die Daten zu organisieren.

Ich denke .. seit ich die ersten und letzten verfügbaren Punkte habe, um die Liste zu durchsuchen, alle möglichen "Autobahnen" zu nehmen, in die dieser Punkt führt, benutze etwas wie A *, um zu finden den kürzesten Pfad und beschränken Sie die Anzahl der Zweige durch Verwendung einiger Abstandsbeschränkungen. Wie gesagt, mir blieb unklar, welche Datenstruktur zu verwenden ist.

Jede Hilfe wird geschätzt.

+2

10 Könnten Sie nicht ein Diagramm als Datenstruktur verwenden? Sie könnten auch die physikalischen Koordinaten als Teil der Suchheuristik verwenden, wenn Sie A * verwenden. –

+0

84k Einträge ist nicht wirklich viel für eine Datenbank. Für eine Suche vielleicht, aber vom Standpunkt des Speichers aus nicht. –

+0

Haben Sie bereits eine der no-sql-Datenbanken berücksichtigt? Ein Diagramm eins, vielleicht: http://en.wikipedia.org/wiki/Graph_Database –

Antwort

Verwandte Themen