phpbar.de logo

Mailinglisten-Archive

[php] OpenGeoDB und Beispielprogramm

[php] OpenGeoDB und Beispielprogramm

"Klaus Däberitz" Daeberitz at t-online.de
Die Jun 22 00:30:00 CEST 2004


Hallo, alle zusammen,
der Eine oder Andere wird sich fragen: was will der denn hier?

Ich bin vor einigen Tagen auf dieses Projekt gestossen und habe gleich daran Gefallen gefunden. Vorausschicken muss ich, dass ich kein PHP beherrsche und bei MySQL auch nur im Stande bin, Tabellen zu füllen. Aber - learning by doing -es kann ja noch was aus mir werden.

Mein Profil kann sich jeder in meiner HP anschauen, ich bin Softwareentwickler, der mit COBOL seine Karriere beendet hat. Jetzt arbeite ich - aus Spass - an Seiten für Squaredancer, denn dieses Hobby betreibe ich extensiv. 

Jetzt der Istzustand. 
In Deutschland gibt es ca. 700 Squaredance-Clubs, von 520 Clubs habe ich die relevanten Daten, wie Tanzplatz, Tanztag u.s.w. erfasst und habe vor diese Daten in einer DB zu speichern. Fährt nun ein Squaredancer in Urlaub (Squaredancer sind reisefreudige Leute), dann will er auch tanzen, bei Clubs so im Umkreis von 50 - 60 km. Bisher kann er sich die Clubs mühsam aus schriftlichen Verzeichnissen haraussuchen.

Nun der Sollzustand.
Schon diese einfache Beispielprogramm "opengeodb.php" wäre ein idealer Ausgangspunkt für eine "maschinelle" Auswahl der in Frage kommenden Clubs. Es müssten nur an Stelle der Orte im Umkreis von 10 km jetzt die Clubs im Umkreis von nn km angezeigt werden können. D.h., dieses Programm müsste modifiziert werden.
Was aber viel wichtiger wäre, es hat einen Fehler: es läuft (bei mir) noch nicht nicht ganz. 
Ich finde die e00-Dateien nicht und die Karte wird nicht angezeigt. Dass das Programm zum Laufen kommt, musste ich ich an einer Stelle Coding inaktivieren.

       // Karte zeichnen, wenn erforderlich
        if (!file_exists('maps/'.(int)$_GET["id"].'.png') || $_GET["newMap"]) {

                // Der Parameter newMap erzwingt das Neuzeichnen der Karte
                if ($_GET["newMap"]) {
                        $map2 = Geo::setupMap(188,235);
                        $map2->setRange(5.5, 15.5, 47.2, 55.1);
                        $map2->color['borders'] = $map2->color(192, 192, 192);
                        $map2->color['states'] = $map2->color(212, 212, 212);

                        $map2->addDataFile(PATH_DATA."germany_staatline.e00",'states'); // Grenzen Bundesländer
                        $map2->addDataFile(PATH_DATA."ponet.e00", 'borders'); // Grenzen Staat
                        $map2->saveImage('maps/D.png');
                } else {
                        $map2 = Geo::setupMap("maps/D.png");
//                        $map2->setRange(5.5, 15.5, 47.2, 55.1);
                }

//                $map2->addGeoObject($ort, 'red', 6);
//                $map2->saveImage('maps/'.(int)$_GET["id"].'.png');
        }

        echo '<div style="float:left">';
        echo '<img src="maps/'.(int)$_GET["id"].'.png" width="188" height="235"                           alt="Lage von '.$ort->dbValues['name'].' in Deutschland">';
        echo '</div>';    


Es sollten natürlich auch die Karten von Österreich und Schweiz angezeigt werden können.

So wie ich das Ganze auf meinem JANA2-Server eingerichtet habe, ist zu besichtigen unter:  http://daeberitz.homedns.org/geo/opengeodb.php

und wenn mir jemand helfen möchte mein Vorhaben zu realisieren, seinen Namen würde ich bei allen Squaredancern verbreiten, die aus diesem Register ihre Vorteile ziehen werden.

-- 
Liebe Grüsse
Klaus Däberitz
_____________________
Telefon   07141-6480833
Fax       07141-6480836
Mobil      0175-5989104

Homepage www.daeberitz.com 
Projekt  www.squaredanceland.de

"Seit ich einen Computer habe, löse ich Probleme, die ich ohne ihn nicht hätte."

php::bar PHP Wiki   -   Listenarchive