В интернетах уже есть заметки по этой тематике, например ссылки приводил в post/2009-03-15_11.42_paru_zametok_o_qlandkartegt, но что бы было под рукой. Опускаться до того, в какой пункт меню заходить не буду, приведу чисто технические моменты.
Исходные данные: лист километровки О-50-103.tiff
На первом шаге нужно указать проекцию карты, для нашего родного генштаба проекция будет примерно такого вида:
+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs
+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85,-0.12 +units=m +no_defs
(параметр towgs84, определяет параметры перехода к датуму wgs84, который используется в том же GPS, этот параметр автоматом добавится, если в мастере настройки проекции выбрать датум Pulkovo 1942)
собственно для каждого листа миллионки она будет своя, жирным выделено то, что будет меняться от листа к листу. Теперь пояснения:
- lon_0 - центральный меридиан
- x_0 - мнимый восток (false easting)
В статье post/2011-06-26_14.58_gotovim_rastrovuju_kartu_dlja_navigatora_garmin_gpsmap_62s я уже показывал как рассчитывать эти параметры, продублирую и здесь:
lon_0 = Nз * 6 - 3 # центральный меридиан по известной зоне
x_0 = Nз * 1000000 + 500000 # мнимый восток (false easting)
Nз = floor(lon / 6) + 1 # номер зоны по любому значению долготы на листе, floor - взятие целой части от деления
Nз = (lon_0 + 3) / 6 # номер зоны по центральному меридиану (частный случай)
Как видно, оба параметра зависят от номер зоны, что бы не заморачиваться, есть ещё один очень простой способ определения её: по номеру листа, вычитая из него 30. Т.е. лист у нас O-50, значит его номер - 50, тогда:```scilab Nз = 50 - 30 = 20
Тогда значения центрального меридиана и мнимого востока:```scilab
lon_0 = 20 * 6 - 3 = 117
x_0 = 20 * 1000000 + 500000 = 20500000
Так же, для простоты, можно принять, что мнимый восток это: 500000 перед которым написан номер зоны, как он есть, т.е. как результат объединения двух строк (в программировании):``` “20” + “500000” = “20500000”