Привязка растровой карты Арктики

Системы координат, проекции, преобразования, привязка
trir
Гуру
Сообщения: 5287
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Привязка растровой карты Арктики

Сообщение trir » 30 дек 2015, 13:36

на самом деле не метры, а "попугаи"

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Привязка растровой карты Арктики

Сообщение KotAlex » 30 дек 2015, 14:14

trir писал(а):на самом деле не метры, а "попугаи"
И в третий раз - мимо ...

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение gamm » 30 дек 2015, 15:25

KotAlex писал(а):
trir писал(а):на самом деле не метры, а "попугаи"
И в третий раз - мимо ...
вы опять не поняли, насколько уважаемый trir прав (это верное замечание по поводу упрощения мной ситуации) :mrgreen:

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

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Привязка растровой карты Арктики

Сообщение KotAlex » 11 янв 2016, 13:41

Выше уважаемый Denis Rykov уже изложил общий метод привязки рассматриваемой карты :
Denis Rykov » 25 Dec 2015, 22:40
Denis Rykov » 26 Dec 2015, 06:37


Однако, меня не слишком устраивает необходимость использования здесь
утилит в режиме командной строки.

Попытался сделать привязку, ограничиваясь только средствами QGIS.

Проделал следующее

1. Исходное изображение карты Арктики ( файл *.jpg ) повернул в Фотошопе на 90 градусов
против часовой стрелки так, чтобы нулевой меридиан шел из Северного полюса
строго вниз;

2. Повернутое изображение ввел в QGIS через : Растр -> Привязка растров;

3. Поставил контрольные точки визуально по приведенным ниже координатам ( долгота-широта ) и
назначил им приведенные ниже значения координат в проекции
из поста ( Denis Rykov » 25 Dec 2015, 22:40 ) :

Код: Выделить всё

40 60
2151984.08   -2564634.76 0.00
-40 60
-2151984.08   -2564634.76 0.00
140 60
2151984.08   2564634.76 0.00
-140 60
-2151984.08   2564634.76 0.00
при этом формируется таблица точек в окне привязки растров и в файле *.jpg.points, в которой значения MapX и MapY привязаны к пиксельным координатам контрольных точек;

4. Вызвал окно "Параметры трансформации" и поставил там параметры :
Целевая система координат - EPSG:102016 ( North Pole Azimuthal Equidistant );
Целевой растр - оставляем то, что там стоит по умолчанию ( для этого надо нажать на кнопку и в окне выбрать
"Сохранить" );
Все остальное - остается как есть.
Жмем OK в окне "Параметры трансформации"

5. В окне привязки растров жмем кнопку "Начать привязку растра";

6. В главном окне QGIS возникает то, что надо;

7. Жмем кнопку "Текущая система координат" в статусной строке главного окна;
На вкладке "Общие" в группе "Единицы карты" ставим "Градусы" и жмем OK;

В статусной строке главного окна QGIS координаты показываются в градусах : долгота - широта,
все как и надо.

Вот и все ...

То, что получилось - в прикрепленном файле, если это кому-то интересно.

Проблема изложенного метода - в п. 3 пришлось использовать нужные значения координат в проекции
из стороннего источника ( из приведенного поста ), поскольку больше их взять неоткуда.
Имеется вопрос - нельзя ли, все-таки, каким-то способом получить нужные значения координат в проекции
средствами самого QGIS ?
Вложения
aaa.rar
(7.23 МБ) 305 скачиваний

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение Игорь Белов » 11 янв 2016, 14:42

По первому пункту. Разворачивать растр нетолерантно, надо уважать исходную координатную систему. И вообще фотошоп - не наш метод. Короче, я бы создал пользовательскую координатную систему с такой строкой параметров:

Код: Выделить всё

+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Это определение "North_Pole_azimuthal_Equidistant" с изменённым параметром lon_0.

По имеющемуся вопросу (о средствах самого QGIS) смотрите здесь и здесь.
The purpose of computing is insight, not numbers

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Привязка растровой карты Арктики

Сообщение KotAlex » 12 янв 2016, 07:26

ErnieBoyd писал(а): я бы создал пользовательскую координатную систему с такой строкой параметров:

Код: Выделить всё

+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Это определение "North_Pole_azimuthal_Equidistant" с изменённым параметром lon_0.
За новую систему координат - спасибо, буду иметь в виду.
А по поводу остального :
ErnieBoyd писал(а):Разворачивать растр нетолерантно, надо уважать исходную координатную систему. И вообще фотошоп - не наш метод.
1. Поворот изображения в фотошопе никак не влияет на контент изображения и не изменяет его.
2. Поворот изображения ( вместе с системой координат ) - это, в-общем-то, чистая условность, влияющая разве что только на степень удобства работы с картой.
3. С картой, повернутой упомянутым выше образом ( нулевой меридиан строго вниз ), работать даже удобнее. Разумеется, при условии, что все надписи и метки на карте также будут в правильной ориентации. Но это, опять же, - чистая условность.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Привязка растровой карты Арктики

Сообщение Denis Rykov » 12 июн 2016, 08:44

ErnieBoyd писал(а):Короче, я бы создал пользовательскую координатную систему с такой строкой параметров:

Код: Выделить всё

+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Небольшое уточнение, насколько корректно в данном случае использовать датум WGS84? Ведь координаты на карте указаны не для этого датума.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение Игорь Белов » 12 июн 2016, 10:02

Denis Rykov писал(а):насколько корректно в данном случае использовать датум WGS84? Ведь координаты на карте указаны не для этого датума.
Коротко: широты выше 40°, масштаб мелкий, модифицированный EPSG:102016 подошёл, задача решена.

Подробнее. Близкой проекции с SRS на датуме Пулково 1942 в базе GDAL нет. Созданная пользовательская проекция неизвестна GDAL, датум в тэги GEOTIFF не пишется, и при открытии растра в QGIS будет создана новая проекция с WGS 84 в качестве датума. Если карта крупномасштабная, это может дать заметные смещения. Два способа борьбы:
  • трансформировать в проекцию с известным GDAL кодом EPSG;
  • в QGIS переопределить проекцию открытого растра.
The purpose of computing is insight, not numbers

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Привязка растровой карты Арктики

Сообщение Denis Rykov » 12 июн 2016, 10:15

Что имеется в виду под "датум в тэги GEOTIFF не пишется"? Именно имя датума PROJ.4 или вообще комбинация ellps и towgs84? Просто если вместо "+datum=WGS84" написать "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12" - то не решит ли это проблему того, что в QGIS придется что-то переопределять? Мы ведь всё равно конструируем новую систему координат, так почему бы и в ней не указать правильные параметры датума.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение Игорь Белов » 12 июн 2016, 10:34

Не решит. Если записать в качестве проекции EPSG:4284 или EPSG:28407, QGIS при открытии растра вытащит строку "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12" из своего варианта PROJ.4 по параметру "+init". При этом QGIS не может знать, какой именно набор "+towgs84" использовала программа, создавшая растр. Для этого набора в GeoTIFF нет тэгов.
The purpose of computing is insight, not numbers

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Привязка растровой карты Арктики

Сообщение Denis Rykov » 12 июн 2016, 10:38

Как не может знать? Я вот сейчас смотрю GDAL-ом свойства СК растра и вижу параметр towgs84, который я указал в привязчике:

Код: Выделить всё

$ gdalsrsinfo artcic_modified.tif

PROJ.4 : '+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs '

OGC WKT :
PROJCS["unnamed",
    GEOGCS["Krassovsky, 1942",
        DATUM["unknown",
            SPHEROID["krass",6378245,298.3],
            TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Azimuthal_Equidistant"],
    PARAMETER["latitude_of_center",90],
    PARAMETER["longitude_of_center",90],
    PARAMETER["false_easting",0],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]]]
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение Игорь Белов » 12 июн 2016, 11:38

Очень рад, что был несправедлив по отношению к GDAL/GeoTIFF. Мои искренние извинения!

Теперь по QGIS. В версии 2.8 геопривязчик просто не пишет эту проекцию в тэги:

Код: Выделить всё

$ gdalsrsinfo Arctic_modified.tif
ERROR 1: ERROR - failed to load SRS definition from Arctic_modified.tif
При открытии растра QGIS просит указать проекцию явно.

В версии 2.14 воспроизводится Ваш вариант. Однако при открытии растра QGIS приписывает ему следующие параметры:

Код: Выделить всё

+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs
Налицо проблема с извлечением "+towgs84" из GeoTIFF.
The purpose of computing is insight, not numbers

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Привязка растровой карты Арктики

Сообщение Denis Rykov » 12 июн 2016, 11:50

Сейчас открыл растр в 2.14 - смотрю в свойствах слоя - метаданные, всё отображается корректно. Растр во вложении.
Вложения
artcic_modifiedKras.tif.zip
(5.45 МБ) 326 скачиваний
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Привязка растровой карты Арктики

Сообщение Игорь Белов » 12 июн 2016, 12:02

Посмотрел, красиво. Однако по открытии в списке пользовательских проекций появилась новая:

Код: Выделить всё

Name: " * Generated CRS (+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs)"
Parameters: "+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs"
В общих свойствах слоя вообще огорчение:

Код: Выделить всё

Coordinate reference system: "Selected CRS (, )"
В метаданных тоже датума нет:

Код: Выделить всё

Layer Spatial Reference System: "+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs"
Да и не намажешь метаданные на окно карты :(
The purpose of computing is insight, not numbers

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Привязка растровой карты Арктики

Сообщение Denis Rykov » 12 июн 2016, 12:12

Не понятно почему у меня по-другому. А можете попробовать в этой версии http://nextgis.ru/nextgis-qgis/, там GDAL 2, может в этом дело.
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Координаты и привязка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей