Hi und zwar habe ich folgendes Problem!
Ich habe eine Karte mit fester Pixelanzahl. Dann habe ich desweiteren Konstanten Latitudes (doubles). Ich möchte nun mithilfe der Mercator Projektion Punkte auf der Karte einzeichnen.
Dazu habe ich eine Funktion geschrieben, die sich an die Definition von wikipedia hält:
allerdings bekomm ich je nachdem welches return statement ich benutz völlig andere werte:
North = 55.77657301866769
South = 31.95216223802496
return Math.log(Math.tan((Math.PI / 4) + (val / 2))) erzeugt (South-->North)
0.5639518931280593-->-0.8626832132213476
return 1 / Math.sinh(Math.tan(val)); erzeugt
1.5874643769142531-->-0.8809936951846704
return 1 / Math.tanh(Math.sin(val)); erzeugt
2.124725609101043-->-1.658743138981269
Mich verwundert allerdings auch dass er mir für südliche Punkte +-Werte gibt und für Nördliche Punkte - - Werte. Hab das so verstanden, dass die Funktion y-Werte liefert für die Projektion auf eine beliebige Karte.
Hat jemand von Euch eine Ahnung, weshalb er sooo verschiedene Werte zurückliefert und weshalb für nördlichere Punkte negative y Koordinaten angegeben werden?
Ich habe eine Karte mit fester Pixelanzahl. Dann habe ich desweiteren Konstanten Latitudes (doubles). Ich möchte nun mithilfe der Mercator Projektion Punkte auf der Karte einzeichnen.
Dazu habe ich eine Funktion geschrieben, die sich an die Definition von wikipedia hält:
Code:
private double mercator(double val) {
//return Math.log(Math.tan((Math.PI / 4) + (val / 2)));
//return 1 / Math.sinh(Math.tan(val));
//return 1 / Math.tanh(Math.sin(val));
}
allerdings bekomm ich je nachdem welches return statement ich benutz völlig andere werte:
North = 55.77657301866769
South = 31.95216223802496
return Math.log(Math.tan((Math.PI / 4) + (val / 2))) erzeugt (South-->North)
0.5639518931280593-->-0.8626832132213476
return 1 / Math.sinh(Math.tan(val)); erzeugt
1.5874643769142531-->-0.8809936951846704
return 1 / Math.tanh(Math.sin(val)); erzeugt
2.124725609101043-->-1.658743138981269
Mich verwundert allerdings auch dass er mir für südliche Punkte +-Werte gibt und für Nördliche Punkte - - Werte. Hab das so verstanden, dass die Funktion y-Werte liefert für die Projektion auf eine beliebige Karte.
Hat jemand von Euch eine Ahnung, weshalb er sooo verschiedene Werte zurückliefert und weshalb für nördlichere Punkte negative y Koordinaten angegeben werden?