Re: Berechnung aus Feldinhalten - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 18.Juni.2002, 20:02.
    Re: Berechnung aus Feldinhalten

      Ach das geht schon noch heute, ist doch jetzt Abend ;-)

      Es geht so: 1. Datensatz des Eiffelturms holen, 2. d berechnen 3. Alle Datensätze mit d < 0,9 holen... Sieht ungefähr so aus:

      <perl>
      get "Name==$Name";    # oder wie immer deine abfrage für den eiffelturm aussieht
      

      $mx1=$x1; $my1=$y1; # müssen wir uns merken weil das in der folgenden schleife überschrieben wird

      get "Id==*";
      while(get_next)
      {
        $d=sqrt(($mx1 - $x1)**2 + ($my1 - $y1)**2);
        if($d<0.9)
        {
          out "$Name... und was auch immer...";
        }
      }
      </perl>
      

      Schöne Formel übrigens, kann bestimmt mal jemand anderes gebrauchen: was für die bib? ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Norbert (178 Beiträge) am Dienstag, 18.Juni.2002, 17:38. WWW: www.kadek.de
    Berechnung aus Feldinhalten

      Hallo!
      Ich hab mal 'ne ganz dumme Frage: ist es möglich, abhängig vom Feldinhalt eine bestimmte Suchabfrage zu ERRECHNEN?

      Also: ich hab 'ne Datenbank, die Reisziele enthält. Der User kann ganz normal über Suchmaske nach Kriterien auswählen, z.B. Land, Ort, Sehenswürdigkeit usw.

      Jeder Datensatz enthält die GPS-Koordinaten des jeweiligen Reiseziels. Ist ein Ziel gefunden und ausgewählt, möchte ich abhängig von diesen Werten alle weiteren gespeicherten Ziele (Sehenswürdigkeiten) im Umkreis von 100km ausgeben können.

      Beispiel: der User befindet sich auf der Infoseite des Eiffelturmes und drückt auf den Link "Suche in der Umgebung". Mit drücken des Links werden die GPS Koordinaten des Turmes aus der DB gelesen (sagen wir x1 und y1). Es erscheint eine modifizierte Suchmaske (wie die normale) die die Datenbank anhand der eingetragenen Werte UND einer Entfernungsabhängigkeit durchsucht.

      Die Entfernung wird berechnet anhand folgender Formel.

      d = wurzel aus ((x1 - x2)² + (y1 - y2)²)

      wobei x2 und y2 für jeden Eintrag aus der DB gelesen werden müssen.

      Ausgegeben werden sollen die Felder bei denen d < 0,9 (entspricht 100km) ist.

      Ist das machbar? Heute sicher nicht, dafür ist es wirklich zu heiß, aber mir fehlt echt ein Ansatzpunkt.

      Danke,

      Norbert

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 18.Juni.2002, 20:02.
    Re: Berechnung aus Feldinhalten

      Ach das geht schon noch heute, ist doch jetzt Abend ;-)

      Es geht so: 1. Datensatz des Eiffelturms holen, 2. d berechnen 3. Alle Datensätze mit d < 0,9 holen... Sieht ungefähr so aus:

      <perl>
      get "Name==$Name";    # oder wie immer deine abfrage für den eiffelturm aussieht
      

      $mx1=$x1; $my1=$y1; # müssen wir uns merken weil das in der folgenden schleife überschrieben wird

      get "Id==*";
      while(get_next)
      {
        $d=sqrt(($mx1 - $x1)**2 + ($my1 - $y1)**2);
        if($d<0.9)
        {
          out "$Name... und was auch immer...";
        }
      }
      </perl>
      

      Schöne Formel übrigens, kann bestimmt mal jemand anderes gebrauchen: was für die bib? ;-)

     Antworten

    Beitrag von Norbert (178 Beiträge) am Dienstag, 18.Juni.2002, 21:54. WWW: www.kadek.de
    Re: Berechnung aus Feldinhalten

      Danke erst mal, werd ich mich mal ransetzen und probieren. Wenn alles sauber funktioniert, werd ich die DB publizieren.

      Gruss, Norbert

     Antworten

    Beitrag von JmJm (60 Beiträge) am Mittwoch, 19.Juni.2002, 00:15.
    Re: Berechnung aus Feldinhalten

      Hallo,
      mal eine bescheidene Frage, wo sind denn die Variablen x2 und y2 geblieben und warum wandelt man $mx1=$x1; $my1=$y1 um

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 19.Juni.2002, 14:11.
    Re: Berechnung aus Feldinhalten

      "x1" und "y1" sind Felder der DB, d.h. die werden bei jedem "get" neu gesetzt. Deshalb müssen wir uns nach dem 1. get, das ja den Hauptstandort (Eiffelturm) holt diese Werte (in $mx1 und $my1) merken, weil bei dem 2. get, das alle anderen Orte holt, $x1 und $y1 jeweils die Punkte für den entsprechenden anderen Ort zugewiesen bekommen.

      Ich hab die Formel also umgewandelt (x1 -> mx1, y1 -> my1, x2 -> x1, y2 -> y1):

      d = wurzel aus ((mx1 - x1)² + (my1 - y1)²)

      klarer?

     Antworten

    Beitrag von JmJm (60 Beiträge) am Mittwoch, 19.Juni.2002, 15:42.
    Re: Berechnung aus Feldinhalten

      Hallo Herr Bergmann,
      ich versuche das mal an einen Beispiel zu erfragen Eifelturm x1=10 y1=20 diese Koordinaten sind fest sowie Sehenswürdigkeiten x2=20 y2=40 und jetzt möchte ich das Ergebnis ausgeben. Warum schreibe ich Daten nach dem get wieder zurück
      "Ihr Ausführungen werden schon richtig sein, ich verstehe es aber leider nicht"

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 19.Juni.2002, 18:13.
    Re: Berechnung aus Feldinhalten

      Warum so förmlich, hier im Forum duzen wir uns eigentlich ,-)

      Also:

      $x1=10; $y1=10;    # koordinaten eiffelturm - das wird im obigen prg. in der zeile: get "Name==$Name"; gesetzt...
      $mx1=$x1; $my1=$y1;    # das ist die 2. zeile des prgs. $mx1 hat nun den wert von $x1 und $my1 den wert von $y1
      

      $x1=20; $y1=40; # das entspricht x2=20; y2=40, aber beim get, bzw. get_next im obigen Prg. werden eben $x1 und $y1 gesetzt (und nicht $x2 und $y2), weil das die Namen der Felder sind...
      $d=sqrt(($mx1 - $x1)**2 + ($my1 - $y1)**2);   # oder mit eingesetzten werten: $d=sqrt((10-20)**2 + (10-40)**2);   ->  $d=sqrt(100 + 900)  -> $d=31.6227766016838
      

      klarer?

     Antworten

    Beitrag von JmJm (60 Beiträge) am Donnerstag, 20.Juni.2002, 07:44.
    Re: Berechnung aus Feldinhalten

      Hallo Herr Bergmann,
      sagen Sie mir doch bitte, wie würde zu diesem Beispiel die Datenbank aussehen. Was steht denn in der Variablen $Name.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 20.Juni.2002, 13:13.
    Re: Berechnung aus Feldinhalten

      z.b. so:

      "Name" - Name eines Ortes (z.b. "Eiffelturm", "Place de la Concorde", "Champs Elysée"...)
      "x1" - Teil 1 der GPS-Koordinate
      "y1" - Teil 2 der GPS-Koordinate

      das hat Norbert in seinem ursprünglichen Posting so beschrieben...

     Antworten


     
 Liste der Einträge von 46200 bis 46350:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!