[Talk-de] Meter zu Pixel Umrechnung?
bernhard zwischenbrugger
bz at datenkueche.com
So Jul 3 23:13:31 UTC 2011
On 2011-07-03 16:58, Paul Hartmann wrote:
> On 07/03/2011 12:35 PM, bernhard zwischenbrugger wrote:
>> Hallo allerseits
>>
>> Ich bastle gerade am Vector styling für die khtml.maplib und möchte die
>> Linienbreite auch
>> per Meter definieren können. Dazu brauche ich jetzt eine Formel:
>>
>> var faktor=meterToPixel(zoomlevel,lat);
>> var lineWidth=faktor*meter;
>>
>> Kann mir da jemand einen Tipp geben?
>>
>> liebe Grüße
>>
>> Bernhard
>
> Ich würde sagen
>
> meterToPixel = (1 << zoomlevel) * 256 / ( 2 * PI * 6378137 * cos(lat)).
>
> (Der Skalierungsfaktor für EPSG:3857 nach Meter (in der Realität) ist
> cos(lat). Ein Slippy-Map Tile ist 256 px breit. Es gibt pow(2,
> zoomlevel) Stück davon in einer Richtung, welche dann der Länge des
> Erdäquators entspricht.)
>
Schaut gut aus.
So habe ich das jetzt im Javascript:
var pixelPerMeter=Math.pow(2,zoom) * 256 / ( 2 * Math.PI *
6378137 * Math.cos(lat));
Da ich auch nonInteger Zoomlevel habe, ist das mit dem bitoperator nicht
möglich.
Wie die Bildschirm Auflösung ist, das ist mir egal - es muss nur gleich
wie die Bitmap layers sein.
lg, Bernhard
> Gruß, Paul
>
>
> _______________________________________________
> Talk-de mailing list
> Talk-de at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-de
Mehr Informationen über die Mailingliste Talk-de