Рендеринг карты с поворотом (север не сверху)

Если так не получится, то есть работающие афинные преобразования.
Открываете панельку с командами по обработке - Processing, Toolbox
Слева появится панелька. В поиске набираете affine, вам нужен скрипт Grass-Vector-v.transform
Выбираете слой который хотите повернуть (для гислабовского проекта видимо придется делать это по очереди)
Выбираете величину поворота -90

Результат можно сохранить в слой в оперативке, но для целой области это скорее всего будет тормозить - так что лучше выберите shp файлик куда пересохранить повернутый слой.
Результат опять же уедет, так что надо будет отзумиться на нужную область.

Что еще важно, qgis нужен плагинчик для запуска грасовских команд, установить его скорее вего не сложно но у меня linux как конкретно он ставится под виндой я не знаю.

http://www.remotesensing.org/geotiff/proj_list/hotine_oblique_mercator.html вот тут есть параметр угла наклона - не исключено, что это сработает.
Под виндой все ставится из сравнительно дружелюбной среды OSGeo4W.

+proj=omerc +alpha=1.57079633

Работает но как-то странно. Поворачивать, - поворачивает, но в каких единицах proj4 желает получить этот параметр непонятно.
Пробовал в секундах, градусах и радианах.

Там еще вопрос в том, вокруг какой точки он вращает.

BushmanK, если есть описание “повернутой” проекции пусть не в proj4 формате, а в WKT, запостите пожалуйста. Вот тут http://spatialreference.org/ref/upload/ можно конвертнуть в proj4’шный.

У меня в GlobalMapper почему-то Oblique Mercator не пашет, как нужно. Ортографическая работает, как надо, но она не поддерживается PROJ.4 с указанием поворота. Буду экспериментировать - занятная задача.

Теоретически (не могу проверить) описание должно выглядеть так:

+proj=omerc +lat_0=55 +lonc=60 +alpha=90 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs

(параметр gamma - это rectified_grid_angle из WKT, на всякий случай).

Оригинальная граница Узбекистана

Повернутая

В общем похоже на правду.

Ну поскольку центр вращения не совпадает с центром Узбекистана, то возможны дополнительные искажения при удалении от центра проекции, так что не вижу странности в том, что западная граница не стала горизонтальной. Центр я подобрал с круглыми координатами, ближайшими к Миассу (который хочет вращать автор вопроса).

А я правильно понимаю, что без false easting и northing результат был бы тот-же? Это уже для общего развития.

Да, false easting и false northing отвечают всего лишь за значение координат в центре проекции, применяются они для того, чтобы в пределах охвата выбранной системы координат все значения координат были положительными. Для визуализации это не имеет практического значения, я это по привычке добавил.

В градусах. Поворачивать надо с помощью параметра +gamma=

+alpha= это поворот самой omerc, при этом 0 и 90 использовать нельзя.

вокруг +lonc= +lat_0=

Ура, товарищи!

В координатах

+proj=omerc +lat_0=55 +lonc=60 +alpha=90 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs

я увидел то что так давно хотел.
Хорошо видно вокруг чего и на сколько крутится карта, Названия объектов, улиц, номера домов рисуются правильно.
Рад что смог сформулировать для Вас интересную задачу и Вы смогли ее решить. BushmanK, вы профессионал!

Осталось только сделать экспорт нужной области с заданным масштабом, это уже оффтопик, но подскажите пожалуйста как это сделать - экспорт через Макет в QGIS позволяет экспортировать только в формате реальной бумаги, а если не важен размер картинки, пусть хоть 10000 на 1000 пикселей будет?

Что это за магическая версия proj4 которая работает с alpha = 90 ?

proj4.7.1


$ echo "60 55 0" |  cs2cs -f "%.4f" +proj=latlong +ellps=WGS84 +datum=WGS84 +to +proj=omerc +lat_0=55 +lonc=60 +alpha=90 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs
Using to definition: proj=omerc lat_0=55 lonc=60 alpha=90 k_0=1 x_0=20000 y_0=20000 gamma=0 datum=WGS84 units=m no_defs 
Rel. 4.7.1, 23 September 2009
<cs2cs>: 
projection initialization failure
cause: lat_0 = 0 or 90 or alpha = 90
program abnormally terminated

proj4.9.0 (current svn)


$ echo "60 55 0" |  src/cs2cs -f "%.4f" +proj=latlong +ellps=WGS84 +datum=WGS84 +to +proj=omerc +lat_0=55 +lonc=60 +alpha=89.9999999 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs
nan	nan 0.0000

$ echo "60 55 0" |  src/cs2cs -f "%.4f" +proj=latlong +ellps=WGS84 +datum=WGS84 +to +proj=omerc +lat_0=55 +lonc=60 +alpha=89.999999 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs
20000.0000	19999.9830 0.0000

$ echo "60 55 0" |  src/cs2cs -f "%.4f" +proj=latlong +ellps=WGS84 +datum=WGS84 +to +proj=omerc +lat_0=55 +lonc=60 +alpha=89.99999 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs
20000.0000	20000.0011 0.0000

Edit:
В 4.8.0 просто бред


$ cs2cs
Rel. 4.8.0, 6 March 2012
usage: cs2cs [ -eEfIlrstvwW [args] ] [ +opts[=arg] ]
                   [+to [+opts[=arg] [ files ]

$ echo "60 55 0" | cs2cs -v -f "%.4f" +init=epsg:4326 +to +proj=omerc +lat_0=55 +lonc=60 +alpha=90 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0 +datum=WGS84 +units=m +no_defs
# ---- From Coordinate System ----
#Lat/long (Geodetic alias)
#	
# +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84
# +towgs84=0,0,0
# ---- To Coordinate System ----
#Oblique Mercator
#	Cyl, Sph&Ell no_rot
#	alpha= [gamma=] [no_off] lonc= or
#	 lon_1= lat_1= lon_2= lat_2=
# +proj=omerc +lat_0=55 +lonc=60 +alpha=90 +k_0=1 +x_0=20000 +y_0=20000 +gamma=0
# +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
20000.0000	23657.5807 0.0000

Вот так возникают ситуации, когда два глюка взаимно устраняют друг друга :slight_smile: