Я пытаюсь разработать страницу в ASP.NET, которая будет действовать как тайловый сервер для карты Google.
Он извлечет набор точек широты / долготы из базы данных, а затем отобразит их в виде маленьких красных точек на прозрачном фоне с заданным уровнем масштабирования (по умолчанию: 15).
Затем он вернет результат в виде изображения типа GIF.
Были ли разработаны какие-либо алгоритмы или библиотеки, которые позволят мне взять этот набор широт / долгот и преобразовать их в набор координат 2D пикселей при заданном уровне масштабирования?
(Все это делается на стороне сервера, поэтому я не могу использовать Google Maps API.)
Обновление: нашел образец кода в Perl, который делает что-то похожее:
http://blog.barros.ws/2009/03/06/convert-lat-lng-and-zoom-values-to-pixel-xy-on-a-map/
Проблема в том, что я не знаю Perl, и у меня действительно нет времени, чтобы открыть книгу и изучить ее.
Может ли кто-нибудь помочь мне расшифровать, что творится в этой функции?
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) ;
}