отображение значений широты и долготы на изображение

Я пытаюсь геокодировать значения и сопоставить их со спутниковым изображением города (точнее, Нью-Йорка). я успешно сделал это перед использованием геопространственного изображения мира, а затем сопоставил/масштабировал значения долготы и широты от максимального диапазона широты/долготы (-90,90 и -180,180) до максимальной ширины и высоты изображения ( 0, ширина и 0, высота), которые работали отлично. я немного смущен, как это сделать, чтобы просто карта города.

в настоящее время у меня есть спутниковый снимок Нью-Йорка в высоком разрешении, и я расположил его так, чтобы он идеально совпадал с картой Нью-Йорка на Картах Google (я использую их API для геокодирования своих местоположений). я попытался получить значения верхней/нижней широты и значения долготы слева/справа спутникового изображения, которое я использую, и попытался масштабировать любые значения долготы/широты, которые необходимо было отобразить на изображении в пределах этого диапазона. однако это, похоже, не сработало. Есть ли другой метод, который я мог бы использовать, чтобы можно было динамически отображать координаты широты и долготы на спутниковом изображении города Нью-Йорк?

по сути, это изображение, на которое я хотел бы сопоставить: альтернативный текст

благодаря.


person minimalpop    schedule 17.02.2010    source источник


Ответы (2)


Вы участвуете в процессе, называемом регистрацией изображения или исправлением карты. Существует целый набор методов дистанционного зондирования, посвященных уравнениям для этого.

Возможно, вы можете просто начать с этого веб-сайта - в основном он должен делать то, что вам нужно http://labs.metacarta.com/rectifier/ (неработающая ссылка)

если нет, то, возможно, посмотрите на такие инструменты, как QGIS или GRASS. Если у вас есть деньги и время, вы также можете использовать рабочий стол ESRI ArcGIS, ERDAS Imagine или IDRISI.

person TheSteve0    schedule 19.02.2010
comment
Благодарность! инструмент метакарты потрясающий и именно то, что мне нужно! - person minimalpop; 20.02.2010
comment
Того сайта больше нет. Mapwarper.net – это программа для чтения карт, хотя я не вижу способа создавать карты изображений, используя предоставляемые им данные. - person ashleedawg; 07.11.2019

Если вы знаете размер изображения и его географическую протяженность (значения широты и долготы), вы можете использовать что-то вроде:

x = imageWidth * ( pointLon - ImageExtentLeft ) / (ImageExtentRight - ImageExtentLeft);
y = imageHeight * ( 1 - ( pointLat - ImageExtentBottom) / (ImageExtentTop - mImageExtentBottom));

Кстати, если вы используете Google Maps API для геокодирования своих местоположений, почему бы вам не использовать его функции для добавления маркеров прямо на карту? (Возможно, я не совсем понял ваш случай)

var latlng = new GLatLng(pointLat, pointLon);
map.addOverlay(new GMarker(latlng));

Надеюсь, поможет

person amercader    schedule 18.02.2010