отображение значений широты и долготы на изображение - PullRequest
3 голосов
/ 17 февраля 2010

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

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

Это, по сути, изображение, на которое я хотел бы нанести карту: alt text

спасибо.

Ответы [ 2 ]

6 голосов
/ 18 февраля 2010

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

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

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

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

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

5 голосов
/ 19 февраля 2010

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

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

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

...