• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Statistik-Feature-Request: Entfernung von Wohnort

HSCA

Geomaster
Aszrael schrieb:
hsca schrieb:
Erstaunlicherweise funktioniert das mit dem GC-Profile :???:
Ich lade nur auf GC in das Profil - und bei mir funzt das gar nicht.
Bis vor einigen Minuten war auf Deinem Profil auch nur eine Tabelle ohne Balken.
Wie hast Du das hinbekommen?

Die versprochenen Farben haben es gebracht. :kopfwand:
Also hier noch mal die incl Datei. Der Eintrag in der header.incl sowie die balken.css wird nicht mehr benötigt.

Dafür habe ich in den basefuncs.incl die Funktion für die Farbbestimmung ausgelagert. Da ich die auch für Funde nach Tagen verwende.
 

Anhänge

  • finddistance.zip
    2,9 KB · Aufrufe: 30

Schiwi

Geocacher
Da müsste man direkt in der finddistance.incl die Farbe angeben:
statt
Code:
<div id="balken">
einfach
Code:
<div style="background-color:#farbe">
angeben


edit: seh grad das mein post etwas zu spät kam :D
 

Schiwi

Geocacher
Bei der neuen finddistance.incl bekommen ich folgenden Fehler:

Es ist ein Fehler bei der Evaluation von StatDistance() aufgetreten:
Undefined subroutine &main::statcolor_red_yellow_green called at (eval 77) line 79.

index map statEs ist ein Fehler bei der Evaluation von StatDistance() aufgetreten:
Undefined subroutine &main::statcolor_red_yellow_green called at (eval 192) line 79.



edit: Mein Fehler, hatte die basefuncs.incl nicht berücksichtigt
 

huzzel

Geowizard
hsca schrieb:
4. Du kennt eine Perl Funktion für den arctan() die nicht Math::Trig benötigt (dann änder ich das gern)
Ich hab mal nach wiki was gebastelt, und es schaut gut aus (obs 100%stimmt, keine Anhung ;), aber egal ;) )
Code:
sub GeoDistance {
  
  my($lat1,$lon1,$lat2,$lon2) = @_;
  
  my $f = 1 / 298.257223563; #Abplattung der Erde
  my $a = 6378137 / 1000; #Aequatorradius der Erde
  my $pi = 3.14159265;
  
  my $f1 = ($lat1 + $lat2)/2;
  my $g1 = ($lat1 - $lat2)/2;
  my $l1 = ($lon1 - $lon2)/2;
  
  my $f2 = $f1 * $pi / 180;
  my $g2 = $g1 * $pi / 180;
  my $l2 = $l1 * $pi / 180;
  
  my $s = (sin($g2))**2 * (cos($l2))**2 + (cos($f2))**2 * (sin($l2))**2;

  my $c = (cos($g2))**2 * (cos($l2))**2 + (sin($f2))**2 * (sin($l2))**2;

  my $w =0;
  my $quadtrad=sqrt($s/$c);
  
  if ($quadtrad >1 ) {
	$w = ($pi/2)-(($quadtrad)/(($s/$c)+0.28));
	}
  elsif ($quadtrad < -1) {
	$w = -($pi/2)-(($quadtrad)/(($s/$c)+0.28));
	}
  elsif (abs($quadtrad) <= 1) {
	$w = $quadtrad / (1 + (0.28*($s/$c)));
  }
	
  my $d = 2 * $w * $a;

  my $r = (sqrt($s * $c))/$w;

  my $h1 = ( 3 * $r - 1)/(2 * $c);

  my $h2 = ( 3 * $r + 1)/(2 * $s);

  my $distance = $d * ( 1 + $f * $h1 * (sin($f2))**2 * (cos($g2))**2 - $f * $h2 * (cos($f2))**2 * (sin($g2))**2);

  return $distance;
  
}

P.S.
Ich hab von Perl keine Ahnung :D
 

Ruhrcacher

Geowizard
Sieht ganz schick aus.
Aber für welches Jahr gilt die 365-Tage-Statistik. Müsste die nicht für jedes Jahr einzeln aufgestellt werden?
 

HSCA

Geomaster
Ruhrcacher schrieb:
Sieht ganz schick aus.
Aber für welches Jahr gilt die 365-Tage-Statistik. Müsste die nicht für jedes Jahr einzeln aufgestellt werden?

Nein, du hast jedes Jahr die Möglichkeit die Funde für den 1.Januar zu erhöhen.
 

Ruhrcacher

Geowizard
axo, so schaute es auch aus.
Dann kann ich dem Feature momentan (noch) nichts abgewinnen.
Ein übersichtlicher Cachekalender nach Tag/Jahr wäre hingegen eine nette Spielerei (dann aber auf einer eigenen Seite und nicht auf der Statistikseite.
 

AndiOlli

Geocacher
hsca schrieb:
Die Darstellung ist ohne Grafik aber funktioniert. Siehe http://www.steffen-online.com

Viel Spaß
C


Hallo,

ich hätte gerne auch die Statistik mit der Entfernung zum Wohnort bei mir eingebunden. Allerdings erhalte ich wenn ich die Dateien einbinde nur Fehlermeldungen. Muss ich noch irgendetwas beachten oder manuell ergänzen? Ich nutze die Exe-Variante von geolog.

Außerden habe ich bei http://www.steffen-online.com/ gesehen, das dort auch die Entfernung Cache zu Cache aufgelistet wird. Wie mach ich das dann?

Vielen Dank und Gruß Andi
 

huzzel

Geowizard
AndiOlli schrieb:
hsca schrieb:
Die Darstellung ist ohne Grafik aber funktioniert. Siehe http://www.steffen-online.com

Viel Spaß
C


Hallo,

ich hätte gerne auch die Statistik mit der Entfernung zum Wohnort bei mir eingebunden. Allerdings erhalte ich wenn ich die Dateien einbinde nur Fehlermeldungen. Muss ich noch irgendetwas beachten oder manuell ergänzen? Ich nutze die Exe-Variante von geolog.

Außerden habe ich bei http://www.steffen-online.com/ gesehen, das dort auch die Entfernung Cache zu Cache aufgelistet wird. Wie mach ich das dann?

Vielen Dank und Gruß Andi
huzzel schrieb:
hsca schrieb:
4. Du kennt eine Perl Funktion für den arctan() die nicht Math::Trig benötigt (dann änder ich das gern)
Ich hab mal nach wiki was gebastelt, und es schaut gut aus (obs 100%stimmt, keine Anhung ;), aber egal ;) )
Code:
sub GeoDistance {
  
  my($lat1,$lon1,$lat2,$lon2) = @_;
  
  my $f = 1 / 298.257223563; #Abplattung der Erde
  my $a = 6378137 / 1000; #Aequatorradius der Erde
  my $pi = 3.14159265;
  
  my $f1 = ($lat1 + $lat2)/2;
  my $g1 = ($lat1 - $lat2)/2;
  my $l1 = ($lon1 - $lon2)/2;
  
  my $f2 = $f1 * $pi / 180;
  my $g2 = $g1 * $pi / 180;
  my $l2 = $l1 * $pi / 180;
  
  my $s = (sin($g2))**2 * (cos($l2))**2 + (cos($f2))**2 * (sin($l2))**2;

  my $c = (cos($g2))**2 * (cos($l2))**2 + (sin($f2))**2 * (sin($l2))**2;

  my $w =0;
  my $quadtrad=sqrt($s/$c);
  
  if ($quadtrad >1 ) {
	$w = ($pi/2)-(($quadtrad)/(($s/$c)+0.28));
	}
  elsif ($quadtrad < -1) {
	$w = -($pi/2)-(($quadtrad)/(($s/$c)+0.28));
	}
  elsif (abs($quadtrad) <= 1) {
	$w = $quadtrad / (1 + (0.28*($s/$c)));
  }
	
  my $d = 2 * $w * $a;

  my $r = (sqrt($s * $c))/$w;

  my $h1 = ( 3 * $r - 1)/(2 * $c);

  my $h2 = ( 3 * $r + 1)/(2 * $s);

  my $distance = $d * ( 1 + $f * $h1 * (sin($f2))**2 * (cos($g2))**2 - $f * $h2 * (cos($f2))**2 * (sin($g2))**2);

  return $distance;
  
}

P.S.
Ich hab von Perl keine Ahnung :D

Tausche mal die sub GeoDistance mit der Version von hier aus und entferne
Code:
use Math::Trig;
.
Dann sollte es gehen.
 

AndiOlli

Geocacher
Vielen Dank, jetzt funktioniert es.

Wie kann ich die Farbe der Balken ändern? Ich würde gerne dieselben Farben wie bei de anderen Stats auch nutzen, also von gelb über orange nach rot (rot meiste und gelb die wenigsten Funde) wie bei meinen anderen Statistiken auch.

Und wie bekomme ich jetzt noch die "Entfernung Cache zu Cache" rein?

Gruß Andi
 

HSCA

Geomaster
AndiOlli schrieb:
Wie kann ich die Farbe der Balken ändern? Ich würde gerne dieselben Farben wie bei de anderen Stats auch nutzen, also von gelb über orange nach rot (rot meiste und gelb die wenigsten Funde) wie bei meinen anderen Statistiken auch.
Dann musst du "gibFarbeRotGelbGrün()" mit "GibFarbe()" ersetzen. (Die Funktionsnamen sind nur sinngemäß, weil ich den Quellcode erst wieder am Montag zur Hand habe).

Die Methode "GibFarbe()" ist aber nur im Teil "Schwierigkeits/Gelände-Matrix" und "Funde nach Tagen" eingebaut. Ich werden diese Methode auch zu den basefuncs.incl bauen. Dann kann sie überall verwendet werden.

AndiOlli schrieb:
Und wie bekomme ich jetzt noch die "Entfernung Cache zu Cache" rein?

Die entfernung stimmt noch nicht. Werde das in den nächten Tagen korrigieren. (Ich muss die Liste noch sortieren) Dann veröffentliche ich das hier.

Gruß Christian
 

HSCA

Geomaster
AndiOlli schrieb:
Wie kann ich die Farbe der Balken ändern? Ich würde gerne dieselben Farben wie bei de anderen Stats auch nutzen, also von gelb über orange nach rot (rot meiste und gelb die wenigsten Funde) wie bei meinen anderen Statistiken auch.
Dann musst du "gibFarbeRotGelbGrün()statcolor_red_yellow_green()" mit "GibFarbe()statcolor()" ersetzen. (Die Funktionsnamen sind nur sinngemäß, weil ich den Quellcode erst wieder am Montag zur Hand habe).

Die Methode "GibFarbe()statcolor()" ist aber nur im Teil "Schwierigkeits/Gelände-Matrix" und "Funde nach Tagen" eingebaut. Ich werden diese Methode auch zu den basefuncs.incl bauen. Dann kann sie überall verwendet werden.

AndiOlli schrieb:
Und wie bekomme ich jetzt noch die "Entfernung Cache zu Cache" rein?

Die Entfernung stimmt noch nicht. Werde das in den nächten Tagen korrigieren. (Ich muss die Liste noch sortieren) Dann veröffentliche ich das hier.

Gruß Christian
 

HSCA

Geomaster
huzzel schrieb:
hsca schrieb:
4. Du kennt eine Perl Funktion für den arctan() die nicht Math::Trig benötigt (dann änder ich das gern)
Ich hab mal nach wiki was gebastelt, und es schaut gut aus (obs 100%stimmt, keine Anhung ;), aber egal ;) )

Version 2.41 enthält Math::Trig auch in der Windowsversion. Zudem sind auch die Statistiken in der Version enthalten.

Christian
PS: beim Update nicht vergessen, die Templatedateien neu zu laden.
 

klausundelke

Geowizard
Bei mir fehlt in der Rubrik
"Funde nach Entfernung" immer ein Farbbalken bei
40-50km.
Siehe:

http://klausundelke.bplaced.net/filemanager/stat.html

Woran kann das denn liegen?
Bin leider programmiertechnisch ziemlicher Laie, aber wenn
mir jemand sagt wo ich nachgucken soll, das bring ich
noch hin...
 

HSCA

Geomaster
klausundelke schrieb:
Bei mir fehlt in der Rubrik
"Funde nach Entfernung" immer ein Farbbalken bei
40-50km.
Siehe:

http://klausundelke.bplaced.net/filemanager/stat.html

Woran kann das denn liegen?
Bin leider programmiertechnisch ziemlicher Laie, aber wenn
mir jemand sagt wo ich nachgucken soll, das bring ich
noch hin...
Ersetze mal bitte die Datei /gcdir/statistics/basefuncs.incl mit http://geolog.svn.sourceforge.net/viewvc/geolog/geolog/gcdir/statistics/basefuncs.incl
Das sollte den bekannten Bug beheben.

Mit welcher Version arbeitest du?

C
 
Oben