Mailinglisten-Archive |
Tachchen, die Koordinaten fuer komplette Staedte in D hab ich. Aus dieser Liste, glaub ich:). Weiss aber leider nicht, wie aktuell die Daten sind. Habs als nicht ganz so tolle MySQL-DB: http://www.7thweb.de/cities.sql CREATE TABLE cities ( ID bigint(20) NOT NULL auto_increment, ORT varchar(100), ZUSATZ varchar(100), PLZ_VON varchar(11), PLZ_BIS varchar(11), LAND char(2), STAAT varchar(4), NS double, OW double, L set('O','W'), L_H tinyint(4), L_M tinyint(4), L_S tinyint(4), B set('N','S'), B_H tinyint(4), B_M tinyint(4), B_S tinyint(4), PRIMARY KEY (ID), UNIQUE ID_2 (ID), UNIQUE ID (ID), KEY ORT (ORT), KEY PLZ_VON (PLZ_VON), KEY PLZ_BIS (PLZ_BIS), KEY LAND (LAND), KEY STAAT (STAAT), KEY NS (NS), KEY OW (OW) ); # # Dumping data for table 'cities' # INSERT INTO cities VALUES ( '1', 'Aach', ', Hegau', '78267', '78267', 'BW', 'BRD', '0.83514004707929', '0.1544616388015', 'O', '47', '51', '0', 'N', '8', '51', '0'); INSERT INTO cities VALUES ( '2', 'Aach', 'bei Trier', '54298', '54298', 'RP', 'BRD', '0.86888307928451', '0.11490084242296', 'O', '49', '47', '0', 'N', '6', '35', '0'); Wie die NS- und OW-Werte gerechnet sind, muesste ich suchen. Damit laesst sich auf jeden Fall besser arbeiten, als mit den h,m und s Angaben. Die dazu passende Berechnung der Enfernung von PLZ1 nach PLZ2 auf Grundlage Kugel ist: (ACOS(SIN(LONGITUDE_ORT1)*SIN(LATITUDE_ORT2)+COS(LATITUDE_ORT1)*COS(LATITUDE_ORT2)*COS(LONGITUDE_ORT2-LONGITUDE_ORT1))*6378.388 Ich hoffe nur, dass ich das jetzt alles richtig getippt hab. Was die Abweichung angeht, weiss ich das gerade leider nicht mehr und wills auch nicht rechnen. Kommt halt darauf an, wozu Du das brauchst. Mir hat das innerhalb D gereicht. Vielleicht hilfts ja. Back again, TomH
php::bar PHP Wiki - Listenarchive