php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-04-2008, 18:30
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard Punkte auf einer Deutschlandkarte markieren

Hallo!
Ich möchte mich erstmal dafür entschuldigen, dass ich auf phpforum.de die gleiche Frage schon gestellt habe. Aber da habe ich keine Lösung meines Problems gefunden und selber komme ich auch nicht drauf.

Zu meinem Problem:
http://www.virtual-meetings.de/rebuild/distance.html
Wenn ihr bei diesem Link für beide PLZs 88400 (Biberach in BW) eingebt, erscheint der Punkt in Rheinland-Pfalz.

Was genau an meiner Rechnung falsch ist, weiß ich leider nicht. Ich verwende geodb zur Ermittlung der Koordinaten.



Hier mal mein bisheriger Code inkl. Debuggingausgaben:

PHP-Code:
<?php 
$k_la1 
$row->lon;
$k_br1 $row->lat;

$dif_lon 17.1 2.5833333;
$dif_lat 55.0248003984965 45.8333;  

$fakt_lon 401/$dif_lon;
$fakt_lat 297/$dif_lat

$posX = ($k_br1*$fakt_lon)-(45*$fakt_lon);
$posY = ($k_la1*$fakt_lat)-(2.5833333*$fakt_lat);  
?>

<b>Debugging</b><br />
<?php
echo "dif_lon ".$dif_lon."<br />";
echo 
"dif_lat ".$dif_lat."<br />";
echo 
"fakt_lon ".$fakt_lon."<br />";
echo 
"fakt_lat ".$fakt_lat."<br />";
echo 
"posX ".$posX."<br />";
echo 
"posY ".$posY."<br />";
echo 
"lat_des_ortes ".$k_br1."<br />";
echo 
"lon des ortes ".$k_la1."<br />";

?>
erzeugt folgende Ausgabe:

Zitat:
Debugging
dif_lon 14.5166667
dif_lat 9.1915003985
fakt_lon 27.6234212913
fakt_lat 32.3124612004
posX 85.6547047402
posY 233.602185368
lat_des_ortes 48.1008
lon des ortes 9.81281
Ich habe mich schon gefragt, ob das vielleicht von der Erdkrümmung kommen kann, allerdings kann ich mir da keine so extrem grossen Abweichungen vorstellen.

Oder ist etwa meine komplette Vorgehensweise verkehrt?

Seggl-hoch-drei
Mit Zitat antworten
  #2 (permalink)  
Alt 11-04-2008, 20:36
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm...
hat auch keiner ne Ahnung, woran es liegen könnte?
Ich komm nicht weiter!
Mit Zitat antworten
  #3 (permalink)  
Alt 11-04-2008, 21:29
$_Baker
 Member
Links : Onlinestatus : $_Baker ist offline
Registriert seit: Feb 2008
Beiträge: 220
$_Baker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Warum benutzt du nicht die GoogleMaps-Api?
Dort ist sowohl Karte, als auch GeoRequest enthalten.

AUßerdem gibts dazu auch ein schönes PHP-Framework:
http://gmapper.ajax-info.de/
Mit Zitat antworten
  #4 (permalink)  
Alt 11-04-2008, 21:57
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm...
Das geht nicht, meine restliche Seite baut auf die geodb auf.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-04-2008, 11:23
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Hmm, soweit ich es beim Überfliegen sehen kann stimmt deine Umrechnungsformel von geographisch nach Pixeln einfach nicht, oder? Nach meinem Test stimmt keine einzige Koordinate, es ist also nicht nur Biberach falsch sondern alle.

Da muß OpenGeoDB doch vernünftige Umrechnungsmethoden anbieten, oder? Ich kenn mich da allerdings nicht aus
Mit Zitat antworten
  #6 (permalink)  
Alt 12-04-2008, 11:34
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich hab mir das so gedacht:

die niedrigste Koordinate, die ich habe und die höchste, von denen nehme ich die LON und LAT-Werte und bilde die Differenz. Dann habe ich doch die Breite und Höhe von D in lat und lon.

dann schaue ich, wieviele pixel ein lan und ein lat hat (dreisatz) und rechne entsprechend hoch.
Mit Zitat antworten
  #7 (permalink)  
Alt 12-04-2008, 11:45
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Und du hast einen Testort, bei dem das bereits aufgeht?
Mit Zitat antworten
  #8 (permalink)  
Alt 12-04-2008, 11:52
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nein, leider nicht....
und ich hab auch keine ahnung, woran es liegt.

könnte es sein, dass in der geodb nicht nur koords von D gespeichert sind? das würde einiges erklären
Mit Zitat antworten
  #9 (permalink)  
Alt 12-04-2008, 11:59
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
könnte es sein, dass in der geodb nicht nur koords von D gespeichert sind? das würde einiges erklären
Versteh ich nicht, warum?
Bei der OpenGeoDB gibts in den Examples eine eigene Kartenklasse, vielleicht lohnt es sich in die einen Blick reinzuwerfen?
Mit Zitat antworten
  #10 (permalink)  
Alt 12-04-2008, 12:40
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aaaalso,
beim googlen bin ich auf diesen Thread gestossen:
http://www.traum-projekt.com/forum/sitemap/t-68402.html

Und mit diesem Code gehts auch schon relativ genau:

PHP-Code:
$range_minX 5.9727062460994;
$range_maxX 14.984191213722;
$range_minY 47.375413747749;
$range_maxY 55.05749480

$karte_groesse_x 594;
$karte_groesse_y 802

$posXfloor( ($k_la1 $range_minX) * ($karte_groesse_x / ($range_maxX $range_minX)));
$posYfloor( ($k_br1 $range_maxY) * ($karte_groesse_y / ($range_minY $range_maxY))); 
Zu sehen hier: http://www.virtual-meetings.de/rebuild/distance.html

Wenn ihr 14199 in beide Felder eingebt, seht ihr den Punkt für Berlin. Er liegt aber noch nicht 100% genau. Woran kann denn das jetzt noch liegen?

Zitat:
Bei der OpenGeoDB gibts in den Examples eine eigene Kartenklasse, vielleicht lohnt es sich in die einen Blick reinzuwerfen?
ich schau mal

EDIT: Die verwenden das gleiche Vorgehen wie ich. (Nur andere ranges.... die von denen verwendeten passen allerdings nicht auf meine karte):
$this->min = array('x' => 9, 'y' => 55);
$this->max = array('x' => 11, 'y' => 54);

meine sind genauer, denke ich, oder?

Geändert von Seggl-hoch-drei (12-04-2008 um 12:49 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 12-04-2008, 13:02
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
meine sind genauer, denke ich, oder?
Na - wenn sie stimmen ?
Wirst halt mit den Ranges rumspielen müssen, bis sie perfekt passen, oder? Ich würde mir einen grenznahen oder sonstwie einfach erkennbaren kleinen Ort suchen und mir dessen Koordinaten mit Google Maps rausziehen.
Mit Zitat antworten
  #12 (permalink)  
Alt 12-04-2008, 15:05
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das erscheint mir fast unmöglich.....

ich bräuchte eigntlich die koordinaten von
dem nördlichsten punkt von D
dem südlichsten punkt von D
dem westlichsten punkt von D
dem östlichsten punkt von D

per google konnte ich nur den südlichsten Punkt finden.
Kennt zufällig einer die anderen? :-D
Mit Zitat antworten
  #13 (permalink)  
Alt 13-04-2008, 19:32
Seggl-hoch-drei
 Registrierter Benutzer
Links : Onlinestatus : Seggl-hoch-drei ist offline
Registriert seit: Sep 2007
Beiträge: 312
Seggl-hoch-drei ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab die Werte noch gefunden, in mein Skript eingefügt und das ganze auf AJAX umgebaut:

Hier ist das Ergebnis auf meinem neuen Server:
http://virtual-meetings.de.dd1328.ka.../distance.html

Ich habe aber noch ein kleines AJAX-Problem mit dem IE.
Soll ich einen neuen Thread dazu aufmachen?
(IE macht nur 1x mit, dann hat er keine Lust mehr)

Seggl
Mit Zitat antworten
  #14 (permalink)  
Alt 13-04-2008, 19:59
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Mach nen neuen Thread auf, das ist besser.
Mit Zitat antworten
  #15 (permalink)  
Alt 13-04-2008, 20:08
$_Baker
 Member
Links : Onlinestatus : $_Baker ist offline
Registriert seit: Feb 2008
Beiträge: 220
$_Baker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm wie war das nochmal..
Ich glaub, dass man beim IE das Callback nach jedem Aufruf neu zuweisen muss.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:18 Uhr.