Suche eine PHP Klasse mit...

Allgemeiner Austausch zum Thema Geocaching.

Moderator: jmsanta

Antworten
Benutzeravatar
DunkleAura
Geowizard
Beiträge: 1848
Registriert: So 9. Sep 2007, 11:10
Kontaktdaten:

Suche eine PHP Klasse mit...

Beitrag von DunkleAura » Sa 6. Okt 2007, 23:37

Hi Gemeinde,

weiss jemand, ob es bereits eine Klasse in PHP gibt, welche die Distanz zwischen zwei Koordinaten errechnen kann, Wegpunktprojektion usw...

oder für eine andere Sprache?

Gruss DunkleAura
Use http://coord.ch/ the Multi Waypoint Redirector
Bild Bild

Werbung:
Benutzeravatar
team-noris
Geomaster
Beiträge: 759
Registriert: Sa 8. Sep 2007, 23:26
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von team-noris » Sa 6. Okt 2007, 23:38


Benutzeravatar
DunkleAura
Geowizard
Beiträge: 1848
Registriert: So 9. Sep 2007, 11:10
Kontaktdaten:

Beitrag von DunkleAura » Sa 6. Okt 2007, 23:41

team-noris hat geschrieben:http://search.cpan.org/search?query=coordinates&mode=module

Danke, so muss ich es nur noch von perl nach PHP umschreiben da mein perl ein bisschen eingerostet ist :D

Gruss DunkleAura
Use http://coord.ch/ the Multi Waypoint Redirector
Bild Bild

Benutzeravatar
-tiger-
Geowizard
Beiträge: 1342
Registriert: Mi 2. Mär 2005, 13:22
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von -tiger- » So 7. Okt 2007, 01:11

Pack deine Daten in eine PostgreSQL Datenbank mit PostGIS erweiterungen, dann kannst du bequem aus PHP raus alle möglichen Geo-Abfragen machen.

http://postgis.refractions.net/

...und wenn es noch so verlockend ist, weils auf den ersten Blick ähnlich und einfacher aussieht: Vergiss die Spatial Extensions für MySQL, die rechnen nur in 2D, da die Erde aber dummerweise eine runde Scheibe ist, ist das auf Dauer ne Sackgasse. PostGIS ist da erheblich weiter.
Bild

Benutzeravatar
DunkleAura
Geowizard
Beiträge: 1848
Registriert: So 9. Sep 2007, 11:10
Kontaktdaten:

Beitrag von DunkleAura » So 7. Okt 2007, 01:29

-tiger- hat geschrieben:Pack deine Daten in eine PostgreSQL Datenbank mit PostGIS erweiterungen, dann kannst du bequem aus PHP raus alle möglichen Geo-Abfragen machen.

http://postgis.refractions.net/

...und wenn es noch so verlockend ist, weils auf den ersten Blick ähnlich und einfacher aussieht: Vergiss die Spatial Extensions für MySQL, die rechnen nur in 2D, da die Erde aber dummerweise eine runde Scheibe ist, ist das auf Dauer ne Sackgasse. PostGIS ist da erheblich weiter.

Danke für den Tipp, klingt sehr Interessant und sieht gut aus, jedoch benötige ich für mein vorhaben keine DB und hoffte eigentlich ohne DB zurecht zu kommen.

Sinn und Zweck ist eigentlich nur in erster Linie, ein rechner zu basteln welcher Opera mini tauglich ist um eben mal kurz die Distanz zwischen zwei Punkten zu errechnen oder eben zu Peilen. Dies ohne ellen langen Text oder x Seiten Werbung...

Mir ist schon klar dass es dies schon auf anderen Seiten gibt, jedoch nicht sehr Opera mini freundlich...

Wenn ich Java Entwickler wäre, würde ich mir kurz ein Programm für mein Mobile schreiben ;) aber da ich dies nicht bin, mach ich es wie ich es halt kann...

Gruss DunkleAura
Use http://coord.ch/ the Multi Waypoint Redirector
Bild Bild

GeoAtti
Geomaster
Beiträge: 828
Registriert: Do 17. Aug 2006, 13:02

Beitrag von GeoAtti » So 7. Okt 2007, 04:02

Hiho,

Ist zwar C, funtioniert mit wenigen Anpassungen aber auch unter PHP:

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double sqr(double n)
{
    return n*n;
}

double deg2rad(double n)
{
    return M_PI*n/180;
}

double wgs84_dist(double lat1, double lon1, double lat2, double lon2)
{
    double b1, l1, b2, l2, a, f, ff, gg, l, ss, cc, w, rr, dd, h1, h2, s;

    b1=deg2rad(lat1);
    l1=deg2rad(lon1);
    b2=deg2rad(lat2);
    l2=deg2rad(lon2);

    a=6378137.000;
    f=1/298.257223563;

ff= (b1+b2)/2;
gg = (b1-b2)/2;
l = (l1-l2)/2;

 ss = sqr(sin(gg))*sqr(cos(l)) + sqr(cos(ff))*sqr(sin(l));
 cc = sqr(cos(gg))*sqr(cos(l)) + sqr(sin(ff))*sqr(sin(l));
 w = atan(sqrt(ss/cc));

 rr = sqrt(ss*cc)/w;
 dd = 2*w*a;
 h1 = (3*rr-1)/(2*cc);
 h2 = (3*rr+1)/(2*ss);


  s = dd*(1 + f*h1*sqr(sin(ff))*sqr(cos(gg))
          - f*h2*sqr(cos(ff))*sqr(sin(gg)));

  return s;
}


Atti


Oliver
Geowizard
Beiträge: 1482
Registriert: Di 13. Sep 2005, 17:26

Beitrag von Oliver » So 7. Okt 2007, 12:04


Benutzeravatar
DunkleAura
Geowizard
Beiträge: 1848
Registriert: So 9. Sep 2007, 11:10
Kontaktdaten:

Beitrag von DunkleAura » So 7. Okt 2007, 13:17

Danke GeoAtti und Oliver, ich werde es heute Abend gleich mal testen.
Use http://coord.ch/ the Multi Waypoint Redirector
Bild Bild

GeoAtti
Geomaster
Beiträge: 828
Registriert: Do 17. Aug 2006, 13:02

Beitrag von GeoAtti » Mo 8. Okt 2007, 15:57

Hiho,

Mit PI nehmen die es aber nicht gerade genau ... oben eine 2635-stellige Konstante definiert, unten aber mit 3.14159 rechnen! :shock:

Und irgendwie fehlen mir die Parameter des WGS84 Elipsoiden. Wird aber schon über den Daumen stimmen!

Atti

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder