diverscuba23 указал, что вы должны выбрать эллипсоид ... openstreetmap использует WGS84, как и большинство современных карт. Тем не менее, имейте в виду, что многие карты в Австралии используют более старый AGD66, который может отличаться на 100-200 метров или около того.
я есть значение широты / долготы маленькой области в Мельбурне; -37.803134,145.132377, а также плоское изображение того, что я экспортировал из openstreet map (Osmarender Image). Ширина изображения: 1018 и высота: 916
Я хотел бы иметь возможность конвертировать, используя C ++, широту / долготу в координаты X, Y, где точка будет отражать местоположение.
Я использовал различные формулы, которые я нашел в сети, как показано ниже, но ничего не помогает.
var y = ((-1 * lat) + 90) * (MAP_HEIGHT / 180);
var x = (lon + 180) * (MAP_WIDTH / 360);
Было бы очень полезно, если бы кто-нибудь дал мне четкое объяснение того, как это сделать. Любой код будет высоко ценится.