Привязка растровой карты Арктики
-
- Гуру
- Сообщения: 5287
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Привязка растровой карты Арктики
на самом деле не метры, а "попугаи"
-
- Участник
- Сообщения: 79
- Зарегистрирован: 24 дек 2015, 11:28
- Репутация: 1
Re: Привязка растровой карты Арктики
И в третий раз - мимо ...trir писал(а):на самом деле не метры, а "попугаи"
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Привязка растровой карты Арктики
вы опять не поняли, насколько уважаемый trir прав (это верное замечание по поводу упрощения мной ситуации)KotAlex писал(а):И в третий раз - мимо ...trir писал(а):на самом деле не метры, а "попугаи"
Эти самые метры проекции - именно попугаи, и с метрами на реальной поверхности Земли не совпадают. Но чтобы это понять, нужно таки пересилить себя, и узнать, что такое проекция ...
-
- Участник
- Сообщения: 79
- Зарегистрирован: 24 дек 2015, 11:28
- Репутация: 1
Re: Привязка растровой карты Арктики
Выше уважаемый 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 ) :
при этом формируется таблица точек в окне привязки растров и в файле *.jpg.points, в которой значения MapX и MapY привязаны к пиксельным координатам контрольных точек;
4. Вызвал окно "Параметры трансформации" и поставил там параметры :
Целевая система координат - EPSG:102016 ( North Pole Azimuthal Equidistant );
Целевой растр - оставляем то, что там стоит по умолчанию ( для этого надо нажать на кнопку и в окне выбрать
"Сохранить" );
Все остальное - остается как есть.
Жмем OK в окне "Параметры трансформации"
5. В окне привязки растров жмем кнопку "Начать привязку растра";
6. В главном окне QGIS возникает то, что надо;
7. Жмем кнопку "Текущая система координат" в статусной строке главного окна;
На вкладке "Общие" в группе "Единицы карты" ставим "Градусы" и жмем OK;
В статусной строке главного окна QGIS координаты показываются в градусах : долгота - широта,
все как и надо.
Вот и все ...
То, что получилось - в прикрепленном файле, если это кому-то интересно.
Проблема изложенного метода - в п. 3 пришлось использовать нужные значения координат в проекции
из стороннего источника ( из приведенного поста ), поскольку больше их взять неоткуда.
Имеется вопрос - нельзя ли, все-таки, каким-то способом получить нужные значения координат в проекции
средствами самого QGIS ?
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
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: Привязка растровой карты Арктики
По первому пункту. Разворачивать растр нетолерантно, надо уважать исходную координатную систему. И вообще фотошоп - не наш метод. Короче, я бы создал пользовательскую координатную систему с такой строкой параметров:
Это определение "North_Pole_azimuthal_Equidistant" с изменённым параметром lon_0.
По имеющемуся вопросу (о средствах самого QGIS) смотрите здесь и здесь.
Код: Выделить всё
+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
По имеющемуся вопросу (о средствах самого QGIS) смотрите здесь и здесь.
The purpose of computing is insight, not numbers
-
- Участник
- Сообщения: 79
- Зарегистрирован: 24 дек 2015, 11:28
- Репутация: 1
Re: Привязка растровой карты Арктики
За новую систему координат - спасибо, буду иметь в виду.ErnieBoyd писал(а): я бы создал пользовательскую координатную систему с такой строкой параметров:Это определение "North_Pole_azimuthal_Equidistant" с изменённым параметром lon_0.Код: Выделить всё
+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
А по поводу остального :
1. Поворот изображения в фотошопе никак не влияет на контент изображения и не изменяет его.ErnieBoyd писал(а):Разворачивать растр нетолерантно, надо уважать исходную координатную систему. И вообще фотошоп - не наш метод.
2. Поворот изображения ( вместе с системой координат ) - это, в-общем-то, чистая условность, влияющая разве что только на степень удобства работы с картой.
3. С картой, повернутой упомянутым выше образом ( нулевой меридиан строго вниз ), работать даже удобнее. Разумеется, при условии, что все надписи и метки на карте также будут в правильной ориентации. Но это, опять же, - чистая условность.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Привязка растровой карты Арктики
Небольшое уточнение, насколько корректно в данном случае использовать датум WGS84? Ведь координаты на карте указаны не для этого датума.ErnieBoyd писал(а):Короче, я бы создал пользовательскую координатную систему с такой строкой параметров:Код: Выделить всё
+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Spatial is now, more than ever, just another column- The Geometry Column.
- Игорь Белов
- Гуру
- Сообщения: 2229
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1501
- Откуда: Казань
Re: Привязка растровой карты Арктики
Коротко: широты выше 40°, масштаб мелкий, модифицированный EPSG:102016 подошёл, задача решена.Denis Rykov писал(а):насколько корректно в данном случае использовать датум WGS84? Ведь координаты на карте указаны не для этого датума.
Подробнее. Близкой проекции с 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: Привязка растровой карты Арктики
Что имеется в виду под "датум в тэги 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: Привязка растровой карты Арктики
Не решит. Если записать в качестве проекции 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: Привязка растровой карты Арктики
Как не может знать? Я вот сейчас смотрю 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: Привязка растровой карты Арктики
Очень рад, что был несправедлив по отношению к GDAL/GeoTIFF. Мои искренние извинения!
Теперь по QGIS. В версии 2.8 геопривязчик просто не пишет эту проекцию в тэги:
При открытии растра QGIS просит указать проекцию явно.
В версии 2.14 воспроизводится Ваш вариант. Однако при открытии растра QGIS приписывает ему следующие параметры:
Налицо проблема с извлечением "+towgs84" из GeoTIFF.
Теперь по QGIS. В версии 2.8 геопривязчик просто не пишет эту проекцию в тэги:
Код: Выделить всё
$ gdalsrsinfo Arctic_modified.tif
ERROR 1: ERROR - failed to load SRS definition from Arctic_modified.tif
В версии 2.14 воспроизводится Ваш вариант. Однако при открытии растра QGIS приписывает ему следующие параметры:
Код: Выделить всё
+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: Привязка растровой карты Арктики
Сейчас открыл растр в 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: Привязка растровой карты Арктики
Посмотрел, красиво. Однако по открытии в списке пользовательских проекций появилась новая:
В общих свойствах слоя вообще огорчение:
В метаданных тоже датума нет:
Да и не намажешь метаданные на окно карты
Код: Выделить всё
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: Привязка растровой карты Арктики
Не понятно почему у меня по-другому. А можете попробовать в этой версии http://nextgis.ru/nextgis-qgis/, там GDAL 2, может в этом дело.
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей