У меня есть этот образ: http://imgur.com/99tSz.png. Карта Великобритании (не включая Южную Ирландию).
Мне удалось получить широту и долготу и построить его на этой карте, взяв крайнюю левую долготу и самую правую долготу Великобритании и используя их, чтобы определить, куда положить точку на карте.
Это код (для использования в Processing.js, но может использоваться как js или что-то еще):
// Size of the map
int width = 538;
int height = 811;
// X and Y boundaries
float westLong = -8.166667;
float eastLong = 1.762833;
float northLat = 58.666667;
float southLat = 49.95;
void drawPoint(float latitude, float longitude){
fill(#000000);
x = width * ((westLong-longitude)/(westLong-eastLong));
y = (height * ((northLat-latitude)/(northLat-southLat)));
console.log(x + ", " + y);
ellipseMode(RADIUS);
ellipse(x, y, 2, 2);
}
Однако я не смог реализовать проекцию Меркатора на эти значения. Участки достаточно точны, но они недостаточно хороши, и эта проекция решила бы ее.
Я не могу понять, как это сделать. Все примеры, которые я нахожу, объясняют, как это сделать для всего мира. Это является хорошим ресурсом примеров, объясняющих, как реализовать проект, но я не смог заставить его работать.
Другим ресурсом является Extreme points of the United Kingdom, где я получил значения широты и долготы ограничительной рамки по всей Великобритании. Они также здесь:
northLat = 58.666667;
northLong = -3.366667;
eastLat = 52.481167;
eastLong = 1.762833;
southLat = 49.95;
southLong = -5.2;
westLat = 54.45;
westLong = -8.166667;
Если бы кто-нибудь мог помочь мне в этом, я был бы очень признателен!
Спасибо