Umwandlung von long/lat zu pixel-x/y, gegeben eine zoom-Ebene

Ich versuche zu entwickeln, die eine Seite in ASP.NET wird die als tile-server für eine Google-Karte

Wird es ziehen Sie eine Sammlung von Breitengrad/Längengrad der Punkte aus der Datenbank, dann machen Sie als kleine rote Punkte auf einem transparenten hintergrund, eine zoom-Ebene (Voreinstellung: 15).

Wird es dann wieder das Ergebnis als GIF-Bild.

Irgendwelche algorithmen oder Bibliotheken entwickelt worden, die mir erlauben, zu diesem Satz von breiten/Längen-und konvertieren Sie Sie in ein set von 2D-pixel-Koordinaten, gegeben eine zoom-Stufe?

(Dies alles geschieht auf server-Seite, so kann ich nicht verwenden die Google Maps API.)


Update: Gefunden ein code-Beispiel in Perl, das etwas ähnliches macht:

http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/

Problem ist, ich weiß nicht, Perl, und haben nicht wirklich die Zeit zu knacken öffnen Sie ein Buch und Lerne es.

Kann mir jemand helfen zu entziffern, was Los ist in dieser Funktion?

sub Google_Coord_to_Pix
{
    my $value   = shift ;
    my $lat = shift ;
    my $lng = shift ;
    my @d       = ( ) ; 
    my $e       = 0 ;

    $d[1] = sprintf("%0.0f", $$value{'bmO'} + $lng * $$value{'pixLngDeg'} ) ;

    $e = sin($lat * $$value{'Wa'}) ;

    if( $e > 0.99999 )
    {
        $e = 0.99999 ;
    }

    if( $e < -0.99999 )
    {
        $e = -0.99999 ;
    }

    $d[0] = sprintf("%0.0f", $$value{'bmO'} + 0.5 * log((1 + $e) / (1 - $e)) * (-1) * $$value{'pixLngRad'} ) ;

    return (@d) ;
}
InformationsquelleAutor Jonathan | 2009-10-20
Schreibe einen Kommentar