ich bin nicht ganz sicher, ob die frage hier hingehoert oder
nicht (ich weis, das faengt ja gut an :) aber:
micht wuerde interessieren wie viele bytes man braucht um
die Angabe von Laengen- bzw. Breitengrad eines Ortes zu
speichern, wenn man eine Genauigkeit von unter 5m benoetigt?
Wenn ich mich recht entsinne, sind diese beiden Werte bereits
im WGS-84/GPS Format bereits so enthalten. Wenn ich hier
irren sollte, andere Frage: wie viele Bytes braucht man,
um mittels der WGS-84 Koordinaten (flach, keine Hoehenwerte!)
eine Ort auf unter 5m genau zu adressieren?
fuer Hinweise (auch auf web resourcen oder literatur) bin
ich sehr dankbar...
mfg
amin!
Ein paar Steuerzeichen mußt Du halt umdefinieren oder Deinen
Zeichensatz erst bei Alt-50 oder so beginnen.
Ich bin kein Programmierer, bin mir aber sicher, ein Zeichen läßt sich
noch einsparen. Das kann man jetzt beliebig weiter spinnen.
Gruß
Jockel
Joachim Bungert PC-Service
e-mail: jb...@d63500.de
Digital maps of
Canada, Africa, Germany, Switzerland, World Atlas
Supporting:
Top50, Top10, Top200, Austria Map, Swiss Map 100
"QuoVadis" and "QuoVadis Navigator"
digital maps, moving map, GPS-navigation and
routeplanning via mouseklick
http://www.quovadis-gps.com
http://www.qvnav.com
> also gut,
> ich probiere es mal:
> z.B. N79°59`59.9``,W179°59`59.9` gibt Dir einen Punkt, genauer als 4m
> (gerechnet mit 40.000km Erdumfang) der Fehler variiert unter anderem
> je nach Position.
> (...)
vielen dank fuer die echt schnelle beantwortung.
wenn ich es richtig verstanden habe, ist ein sinnvolles
format (alle Teilwerte positiv):
<Himmelsrichtung, Laenge/Breite, Minuten, Sekunden>
* Himmelsrichtung sind 2Bit (N,S,O,W)
* Laenge/Breite sind 8Bit (Wertebereich 0-180 (?))
* Bei den Minuten dasselbe: 8Bit
* Die Sekunden sind kritisch, da sich die eigentliche
genauigkeit ausmachen. Wenn ich das richtig verstanden
habe, brauche ich nur eine nachkommastelle, oder?
Die Werte sind also auch hier von 0.0 bis 180.0
verschieben wir die Dezimalstelle um eins nach rechts,
da wir nur ganze Zahlen verwenden (Binaersystem). Also
braucht man Werte von 0 bis 1800 und damit 12Bit
dafuer.
Summa sumarum sind es also insgesammt nur 30Bit. Die
brauche ich fuer die Laengen- und Breitengrade.
Mit 60Bit kann man einen Punkt auf 5m genau adressieren.
Kann dass sein?
Eine Frage habe ich noch: Bei den Laengengraden kommen
nur N und S vor, und bei den Breitengraden nur W und O?
So dies der Fall sein sollte, habe kann ich noch ein
Bit bei der Himmelsrichtung einsparen und habe sogar noch
6Bit bei der Gesamtadresse ueber bis zur naechsten
Zweierpotenz (64). Damit kann man den Sekunden noch eine
Nachkommastelle spendieren. Um wieviel wird die Genauigkeit
dadurch verbessert?
mfg
amin!
ps: da mit zweierpotenzen gerechnet wird, bleiben
ungenutzte Wertebereiche ueber. Fuer die Laengengrade
sind dies 255 - 180 = 75. Auch die koennte man noch
verwenden, aber wir wollen ja nicht uebertreiben!
Ich hoffe, Dir geholfen zu haben,
tschoe,
Tilman
--
-----------------------------------------------------
Tilman Schulz til...@momo.math.rwth-aachen.de
Lehrstuhl B fuer Mathematik / RWTH Aachen
Templergraben 64 / 52067 Aachen
0241-804537
hmmm...dass ist dann wohl das mathematisch Minimum. Ich werde
die Koordinaten aber wohl dennoch so uebernehmen, wie es Joachim
(ich darf Dich, doch beim Vornamen nennen :) vorgeschlagen hat.
Meine einzige Frage dabei ist allerdings noch, inwieweit sich
die Genauigkeit verbessert, wenn ich zwei Nachkommastellen bei
den Sekunden verwende.
Wenn noch jemand vorschlaege hat, wie man WGS-84 Koordinten
da mit einfliessen lassen kann, waere ich sehr dankbar...
mfg
amin!
Zu den letzten beiden Zeilen mußt Du noch etwas mehr schreiben,
ich habe keine Ahnung was Du damit meinst. Es ist doch piepegal was
für ein Referenzdatum die zu speichernden lat/lon Werte haben. Du mußt
Sie nur bei Bedarf richtig umrechnen oder darstellen. Was möchtest Du
da zu welchem Zweck wohin einfließen lassen.
Gruß
Jo
Bevor du jetzt mit Hilfe dieser Newsgroup das Rad nochmal erfindest, ein
Hinweis auf das interne Datenformat, in dem die Garmin-Geräte Kooridnaten
speichern und übertragen:
Länge und Breite werden jeweils mit einer Long-Zahl, also 4 Bytes,
dargestellt. Dabei entsprechen 180° der Zahl 2^31, und südliche bzw.
westliche Werte sind negativ.
Die erzielbare Auflösung beträgt dabei 180° / 2^31 = 0.0003". Eine Minute
entspricht bekanntlich einer Seemeile (gilt für die Breite, und für die
Länge am Äquator), also haben wir hier 0.0003/60 *1852 m = 9.26 mm, wenn ich
mich nicht verrechnet habe.
Die meisten Garmin-Geräte maskieren von diesen 4 Bytes jedoch die unteren 6
Bits weg, dadurch erhöht sich die Stufung um den Faktor 64 auf 0.6 m -
sollte immer noch genügen.
Ein weiteres Bit ließe sich einsparen bei der Breite, da hier der
Wertebereich nur +-90° beträgt, statt der darstellbaren +-180°.
Hope this helps
Heinrich Pfeifer www.gartrip.de