Привязка растров в QGIS и их получение через mapserver wms

Привет я написал небольшой туториал по теме обозначенной в заголовке. Думаю он многим пригодиться. Дополнения коментарии?

https://docs.google.com/document/d/1u0d2ow4dtzy_ogVKaeaZRph0XNd50eaMIpofTLERdCs

  1. Почему нельзя полностью отказаться от использования EPSG:900913 в пользу EPSG:3857 ?
  2. Для того чтобы точки привязки оставались точно на своих местах, надо
    использовать тип преобразования TPS (такой 2D-сплайн), но при этом по возможности равномерно распределять точки
    для избежания сильных нелинейных искажений.
  3. JOSM умеет работать и с местными системами координат (МСК)
    (в частности и Гаусс-Крюгер/ГШ),
    в которых обычно составлены всякие планы территориального планирования и “официальный” кадастр,
    но эта тема скорее для продвинутых пользователей, так как за исключением самых западных областей
    придется добавлять “самодельные” EPSG номера
    для mapserver (впрочем, то же самое относится и к EPSG:900913, так что можно добавить в описание и процедуру для МСК).
  4. mapserver пакеты в debian (wheezy)

$ LANG=C aptitude search mapserv
p   cgi-mapserver - CGI executable for MapServer                                                                                                             
p   mapserver-bin - MapServer utilities                                                                                                                      
i   mapserver-doc - documentation for MapServer                                                                                                              
p   qgis-mapserver - Quantum GIS mapserver        

1 - Основная причина в том что мне нужна 900913 - удобнее в openlayers подключать поверх OSM. Причина номер два - у меня слой с осм к которому я привязываюсь в 900913, можно включить перепроецирование и использовать 3857, но смотри основную причину. Я перепроверю что с перепроецированием растры нормально привязываются и допишу.
2 - Тип преобразования я подглядел в каком-то иностранном туториале по привязке растров в кугисе. Если подскажете где прочитать в каких случаях какой тип преобразования предпочтителен и какие требования он налагает на точки привязки - допишу.
3 - С местной ск у меня ничего путнего не вышло. Т.е. у меня (ну не совсем у меня но это детали) есть растр в некоторой мск, с ним работали видимо в мапинфо. Я нашел статью на гислабе как сгенерить проекцию для подобных растров но без профильного образования в ней не разобраться. В общем если есть рецепт как такой растр раздать по wms - я только рад буду.
4 - Я погорячился с необходимостью доп репы?

http://glaikit.org/2011/03/27/image-georeferencing-with-qgis/ тут про transformation settings написано, например

Это ко второму пункту как я понимаю?

Я разберусь и допишу. Из того что мне сейчас принципиально непонятно как делать - это привязка растров из местной ск. Если попытаться привязать как описано, растр уезжает, т.к. при привязке плагин привязки считывает координаты со снимка не в pixel line а во внедренной местной ск. По идее самый правильный вариант это http://gis-lab.info/qa/local-cs.html но его я пока не осилил. Может кто знаком с описанием данного процесса для дураков?

Да, это к второму пункту.
Тот вариант, который описан на гислабе, предназначен для случая, когда у вас есть определенный тип исходных данных - таблица координат в двух системах, одна из который описана, а вторую надо описать. При том - сделать это с довольно высокой точностью.

А на практике ситуации могут быть и другими. И если у вас нет такого точно измеренного набора координат в двух системах, то можно спокойно привязывать данные, находящиеся в неописанной системе, визуально.

просто снеси “внедренную местную ск” перед привязкой.

Дак как? Ну тоесть я понимаю что можно пересохранить тиф, незнаю, в пнг, и привязать уже пнгшку, но какой то это не очень способ. А более элегантного я пока не нашел.

gdal_translate -co profile=baseline old.tif new.tif

Спасибо, видимо будет еще 1 туториал :slight_smile:

EPSG:900913 и EPSG:3857 идентичны (в математическом смысле). EPSG:900913 - это пережиток времен, когда не было EPSG:3857,
но он , к сожалению, вбит прямо в старые версии openlayers.
Так что перепроецирования (де-факто) тут никакого нет.

Преимущество использования МСК в JOSM - не надо поворачивать растр (большое (!) преимущество для мазохистов с .jpeg форматом),
а только вычислить m/pix и сдвиг.
При этом собака зарыта в точных параметрах +towgs84, но с этим сделать ничего нельзя, придется
определять эмпирическим путем (для метровой+ точности, что подавляющего большинства
генпланов не касается, а кадастр - отдельная тема).
В практическом плане я бы воспользовался таблицей mapinfow.prj http://www.mapbasic.ru/msksolutions
и переведя ее в параметры для proj4, задав нумерацию МСК-регион;номер зоны, например
как EPSG:99<МСК-регион><номер зоны>
Также видимо имеет смысл описать как использовать openlayers с МСК.

mapserver - стандартный пакет в debian.

Это очень “политкорректный” вариант, все должно быть гораздо проще для практических
приложений.

Обновил. https://docs.google.com/document/d/1u0d2ow4dtzy_ogVKaeaZRph0XNd50eaMIpofTLERdCs

Дописал про различные типы привязки, чуть-чуть добавил про использование скриптов gdal, убрал добавление репы ubuntu gis.

Проекции - не стал трогать, всетаки если выбирать подложку осм то проект по умолчанию будет в 900913. Чем меньше в туториале отступаешь от умолчальных настроек - тем меньше потом возникает проблем.