2013-03-08 3 views
0

У меня есть уникальная проблема re: проекции и получение координат lat/lon из изображения.Изображение пиксель X, координаты Y для Lat/Lon

У меня есть изображение 800 x 600 пикселей в США, и я знаю проекцию (полярную стереографию с центром начала координат -75 lon), нижний левый lat/lon и верхний правый лат/lon изображения. Я поместил изображение в веб-страницу, и я могу навести курсор мыши на изображение и получить координаты x и y «пикселя» из изображения в теге div. Существует ли простая формула для получения лат и lon координат пикселя x/y?

Мне нужен обтекаемый процесс, потому что у меня есть несколько проекций карт и размеров изображений.

+0

Я не уверен, я понимаю проблему. У вас есть проекция, которая связывает lat/lon с x/y. Вопрос в том, что вы не знаете эту формулу? – TreyA

+0

Я хочу передать координату x, y тега div, чтобы вычислить фактическую широту и долготу на базовой карте ниже нее. – wuffwuff

ответ

0

Вот прокомментировал JS код, как это сделать:

//these define lat/lon at the bounds of the image 
var geo_left=-75; 
var geo_right=75; 
var geo_top=-75; 
var geo_bottom=75; 

//dimensions of the canvas 
//i set it to 400x400 for example purposes 
var canvas_width=400; 
var canvas_height=400; 

//get relative coordinate of pixel, should be on a scale of 0 to 1 
var rel_x = pixel_x/canvas_width; 
var rel_y = pixel_y/canvas_height; 

//linear interpolate to find latitude and longitude 
var latitude = geo_left+(geo_right-geo_left)*rel_x; 
var longitude = geo_top+(geo_bottom-geo_top)*rel_y; 
+0

Я не думаю, что это сработает, если этот алгоритм не является реализацией полярной стереографической проекции. – TreyA

+0

Это не сработает, потому что предполагается плоская проекция. – wuffwuff

+0

У меня есть все четыре угла окна лотка/lon, есть ли способ конвертировать x, y пиксели изображения в lat/lon? – wuffwuff