php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.04.2007, 18:37  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard Perfekter Spaltentyp für GPS-Koordinaten?

Hallo,

was nimmt man am Besten für GPS-Koordinaten für einen Spaltentyp?

Beispiel: 49.181703 , 10.239258

Hat vorn also immer 2 Stellen (Vorzeichen kann auch minus sein!), nach dem Punkt immer 6 Stellen.

Ist da DOUBLE(9,6) die richtige Wahl?
Exakt ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.04.2007, 21:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie sind GPS-Koordinaten denn normiert, sind es Längen + Breitengrade mit 6-facher Genauigkeit?

SIGNED DOUBLE (3, 6) sollte dann ausreichen.
Zergling-new ist offline   Mit Zitat antworten
Alt 07.04.2007, 22:07  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard

Sind solche Angaben wie im Beispiel oben...
Exakt ist offline   Mit Zitat antworten
Alt 08.04.2007, 10:09  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Exakt,

ist es ein MUSS, dass du die beiden Werte in eine Spalte schreibst? Ich persönlich finde, dass zwei geschickter sind, weil man diese dann als signed double oder ähnlichem deklarieren kann. Ansonsten ist nur ein TEXT-Feld möglich...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 08.04.2007, 11:03  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Exakt
Sind solche Angaben wie im Beispiel oben...
Zitat:
Zitat von Exakt
Beispiel: 49.181703 , 10.239258
[..]
Ist da DOUBLE(9,6) die richtige Wahl?
Wie kommst du dann auf 9,6?

Längen- und Breitengrade natürlich getrennt, sollte SIGNED DOUBLE(3, 6) sein was du suchst.
Zergling-new ist offline   Mit Zitat antworten
Alt 08.04.2007, 12:20  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard

Tja da kommt aber leider immer dieser Fehler:

Zitat:
Fehler

SQL-Befehl:

ALTER TABLE `locations` CHANGE `latitude` `latitude` DOUBLE( 3, 6 ) NOT NULL ,
CHANGE `longitude` `longitude` DOUBLE( 3, 6 ) NOT NULL

MySQL meldet: Dokumentation
#1427 - For double(M,D) M must be >= D (column 'latitude').
Ich denk der Aufbau von DOUBLE ist so?

"M ist die Gesamtzahl von Dezimalstellen, D die Anzahl der Stellen hinter dem Dezimalpunkt."

Demzufolge habe ich für M mit Vorzeichen mal 9 genommen und für D die 6 Zahlen eben nach dem Dezimalpunkt...
Exakt ist offline   Mit Zitat antworten
Alt 08.04.2007, 12:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Aber warum denn dann 9? SIGNED beansprucht ein Bit, aber wenn der Fehler besagt, dass M >= D sein muss, wäre DOUBLE (6,6) ja der Gewinner.
Zergling-new ist offline   Mit Zitat antworten
Alt 08.04.2007, 12:46  
Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 34
Exakt
Standard

Zitat:
Zitat von Zergling
Aber warum denn dann 9? SIGNED beansprucht ein Bit, aber wenn der Fehler besagt, dass M >= D sein muss, wäre DOUBLE (6,6) ja der Gewinner.
"M ist die Gesamtzahl von Dezimalstellen"

Ich denke mal dazu zählen die Stellen VOR UND NACH dem Dezimalpunkt?
Exakt ist offline   Mit Zitat antworten
Alt 08.04.2007, 14:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Nein, nur nach dem Punkt!

http://de.wikipedia.org/wiki/Dezimalstelle
Zitat:
Unter den Dezimalstellen einer Zahl versteht man die Nachkommastellen einer Dezimalzahl.

Bei der Zahl 223,5678 sind also die Dezimalstellen die vier Ziffern 5678. Eine ganze Zahl hat keine Dezimalstellen.
http://dev.mysql.com/doc/refman/5.0/...es-server.html
Zitat:
#

Error: 1427 SQLSTATE: 42000 (ER_M_BIGGER_THAN_D)

Message: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '%s').
DOUBLE(6, 6) sollte dann ausreichend sein und auch MySQL-technisch akzeptiert werden.
Zergling-new ist offline   Mit Zitat antworten
Alt 08.04.2007, 16:03  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
Zitat von MySQL
Here, “(M,D)” means than values can be stored with up to M digits in total, of which D digits may be after the decimal point. For example, a column defined as FLOAT(7,4) will look like -999.9999 when displayed. MySQL performs rounding when storing values, so if you insert 999.00009 into a FLOAT(7,4) column, the approximate result is 999.0001.
M bezeichnet die gesamte Anzahl an Ziffern (Vor- sowie Nachkomma)
D bezeichnet die Anzahl der Dezimalstellen.

Somit finde ich DOUBLE(9,6) schon richtig.
DiBo33 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Geographische Koordinaten umrechnen PsychoEagle Off-Topic Diskussionen 10 22.08.2008 14:10
Spaltentyp SET Dreckseimer Datenbanken 4 21.05.2008 10:56
[Erledigt] spaltentyp auslesen Datenbanken 2 04.02.2007 13:30
Maus Koordinaten effizient speichern? becks123 HTML, Usability und Barrierefreiheit 10 24.07.2006 14:42
mit javascript die Koordinaten ausgeben HTML, Usability und Barrierefreiheit 4 05.11.2005 14:26
MySQL Spaltentyp wie in PHPMyAdmin PHP Tipps 2005-2 1 07.09.2005 08:31
Memberkarte / Koordinaten thrawn PHP Tipps 2005-2 2 25.08.2005 11:38
GD - Koordinaten eines Klicks?? PHP-Fortgeschrittene 6 18.07.2005 14:41
[Erledigt] Spaltentyp BOOL Datenbanken 2 27.06.2005 22:00
Koordinaten merken HTML, Usability und Barrierefreiheit 3 23.04.2005 10:01
Koordinaten picken PHP Tipps 2005 8 20.04.2005 18:07
Zeilenweises Auslesen einer Datei PHP Tipps 2004-2 17 07.12.2004 16:40
[Erledigt] Mauszeiger und Element Koordinaten (in Pixeln) HTML, Usability und Barrierefreiheit 1 26.10.2004 15:00
[Erledigt] Errechnen von Koordinaten PHP-Fortgeschrittene 11 27.08.2004 15:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql koordinaten, mysql gps daten, geographische koordinaten, datentyp koordinaten, gps koordinaten genauigkeit, koordinaten mysql, mysql datentyp koordinaten, gps koordinaten datentyp, gps daten umrechnen, mysql geokoordinaten, http://www.php.de/datenbanken/43868-perfekter-spaltentyp-fuer-gps-koordinaten.html, mysql koordinaten speichern, mysql gps koordinaten, mysql gps, genauigkeit gps koordinaten, gps koordinaten mysql, datentyp für koordinaten, geokoordinaten mysql, gps koordinaten float, koordinaten datentyp

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.