Перетворіть довільне зображення карти без вільних мета-даних у проект QGIS


9

Моє переживання : досвідчений програміст, історик-любитель, повний початківець GIS (тому я використовую QGIS). Я все ж навчився користуватися інструментом геореференції QGIS.

Вхід: припустимо, у мене є зображення на зразок цієї Вікіпедії: Файл: VoyagesOfRabbanBarSauma.jpg . Припустимо, що це "голий" файл JPG без будь-яких географічних метаданих, і автор не може надати такої інформації. Вхідне зображення ліцензовано під GNU FDL, під яким я радий випустити свої похідні роботи.

Мета: імпортувати шлях, показаний на карті Вікіпедії, в QGIS, щоб я міг змінити проекцію, накласти висоту, додати мітки для фізичної географії тощо.

Застереження: одним із шляхів вирішення може бути просто введення ширини / довжини місць на карті в новий проект ГІС. Я не хочу йти цим маршрутом, тому що я хотів би записати оцінку конкретного автора щодо географічної інформації.

Що я спробував: я застосував QGIS Georeferencer до растрового файлу JPG з купою точок по краях континентів. Вирівнювання точок у внутрішніх частинах континенту так собі.

Що я хотів би знати: спотворення цієї конкретної карти досить помітні навколо північного краю Євразії, і, здається, це досить стандартна проекція. Мені здається, що повинен бути алгоритмічний спосіб ідентифікації параметрів проекції та проекції, які генерували цю карту, та відновлення точного неінтерполяційного перетворення між пікселями зображень та lat / long?

Я бачу два питання з цього приводу:

  1. Ідентифікація системи координат Shapefile, коли невідомо?
  2. Невідома система координат на старому малюнку

Вони, здається, говорять про метод грубої сили, що включає GDAL або QGIS, і для початківців GIS, здаються дещо трудомісткими (в основному геореференцією і підходять під відомі прогнози), але я готовий спробувати їх і побачити, чи зможу я автоматизувати їх.

Інструкції щодо цих GIS.SE трохи вище, ніж дозволяє мій досвід, і будь-які натяки на те, як саме зробити цей метод грубої сили, були б дуже вдячні. Наприклад, питання 2 вище показує, як використовувати gdaltransform для перетворення списку координат у lat / long. Чи є координати вводу xy пікселів?

Відповіді:


7

Як згадувалося, ваша прикладна карта - Plate Carree, яка в QGIS - WGS84 / lat lon, EPSG: 4326. Він добре налаштовується в QGIS, використовуючи лінійний метод Гельмерта з лише двома пунктами. У моєму випадку я використовував одну точку вгорі ліворуч від зображення та іншу точку внизу праворуч. Координати lat / lon, використовувані для геореференцій, були отримані з Google Earth. Пам'ятайте, що коли геореференція Latitude дорівнює "y", а Longitude - "x".

Тоді для розваги я завантажив геореференційну растру в QGIS і швидко простежив маршрут, зберігаючи його як файл форми форми. Потім я завантажив растрове зображення з "Природної Землі" і наклав це маршрутом (див. Додану картинку для частини отриманої карти).

Натуральні растрові зображення Землі є геореференційними (до EPSG: 4326), красивими та безкоштовними, їх можна отримати звідси:

Природна Земля

Вони ідеально підходять для використання в якості базових карт для побудови історичних даних.

Додано пізніше:

Я майже нічого не знаю про картографування світового масштабу, але я помітив ваші коментарі щодо очевидних спотворень на оригінальній карті WGS84 lat / lon (EPSG: 4326). QGIS має гарний набір інструментів для перепроектування векторних та растрових даних, тому (почасти для моєї власної самоосвіти!) Я подумав, що спробую знайти CRS, який представляє карту більш "природним" способом.

На доданому малюнку зображений відрізаний природний растр Землі, перетворений на власну проекцію Альберса на рівну площу. Векторні дані на карті були перетворені з WGS84 lat / lon на ходу. Чому Альберс? Що ж, здавалося, що це спробувати розумно. Очевидно, що на готовій карті можна було б зафіксувати векторну решітку (також люб’язно із Природної Землі) до зображення. Незважаючи на це, я думаю, що форми на карті є досить натуралістичними, і що карта також підкреслює той факт, що чудова подорож Бар Сауми була здійснена по всьому світу.

Параметри для користувацької CRS були такими:

+proj=aea +lat_1=22.0 +lat_2=56.0 +lat_0=20.0 +lon_0=55.0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs

Чи було це розумним прогнозом для використання? Я, чесно кажучи, не знаю.

Нік.

введіть тут опис зображення

введіть тут опис зображення


Нік, спасибі так багато, що це точно , як я хотів би бачити подорож! Якби я не знав, що проекція - Плити Керрі, чи міг би я зробити це QGIS, як АркГІС? У Вікіпедії є подібні карти ( наприклад ), де я хотів би візуалізувати географічні дані щодо інших проекцій та з різними фонами (висота, NDVI, клімат), і це звучить як перше, що потрібно зробити - це з'ясувати гола растрова проекція.
Ахмед Фасіх

Наскільки мені відомо, QGIS не має можливості обчислювати проекцію карти. У випадку з картою Бар Саума було легко здогадатися, що це EPSG: 4326, лише порівнявши спотворення на вершині із зображенням на інших картах світу Plate Carree. Щодо мапи імперії Вікіпедії Монголь, то це, здається, не є Плато Керрі або світовим Меркатором. Я думаю, що деякі з людей, які складають карти для Вікіпедії, використовують спеціальні прямокутні прямокутні проекції, такі як Plate Carree, але не зосереджені на Lat 0-градус, Lon 0-град. Цілком можливо, що ця карта є однією з таких. Я виконую копання.
nhopton

Чи техніка "грубої сили", з якою два інші питання StackExchange не пов'язані з QGIS? Один з них, здається, використовує GDAL з різними здогадками в основній проекції, які повинні бути написані в рамках QGIS? Знову дякую!
Ахмед Фасіх

Проблема полягає в тому, що цей метод передбачає, що зображення вже геореференційне, але до невідомої CRS (проекції). Зображення, з якими ви будете працювати, ймовірно, будуть відскановані з книг або завантажені з таких місць, як Вікіпедія, і вам доведеться самостійно їх орієнтувати. QGIS має метод геореференції, тонкий пластинчастий сплайн (TPS), який дозволяє використовувати велику кількість контрольних точок. Метод TPS можна використовувати для "витягування" растрових карт у форму і дуже потужний, але він передбачає, що у вас є координати для достатньої кількості контрольних точок. Нік.
nhopton

5

На карті використовується широта та довгота, як ніби вони були декартовими координатами. Це версія прямокутної або проекції "Плита Каррі". Таким чином, все, що вам потрібно зробити, - це змістити і змінити масштаби координат x і y відповідно, щоб отримати довготу і широту.

Інструмент геореференцій в ArcGIS 10.0 коротко працює над створенням посилань для оцінки трансформації. Хоча він не повідомляє про перетворення, можна експортувати таблицю посилань Rі оцінити там коефіцієнти. Розмістивши центральний піксель у лівому верхньому куті версії зображення з високою роздільною здатністю (0,0), результат є

latitude = 75.71992178 + 0.0427073 * row index
longitude = -18.86514764 + 0.04275506 * column index

Чорні обриси еталонного шару (надані ESRI з минулими версіями ArcView) показують, наскільки добре шари збігаються після застосування такого перетворення. Кореневі середні квадратичні помилки складають 6–7 км вздовж кожної осі: приблизно один піксель на зображенні, майже такий же гарний, скільки має право очікувати.

Геореферендована карта


0

Карта, ймовірно, буде схематичною, і розміщення міст може бути не ідеальним, що робить їх ризикованим використовувати під час геореференцій.

Найкращим підходом може бути захоплення карти очей за допомогою відповідної бази в QGIS. Це не буде ідеально відповідати оригіналу, але маршрути, ймовірно, будуть орієнтовними, тому ви навряд чи втратите точність.


Відмінні бали, дякую, я зроблю, як ви порадили. Чи є простий спосіб відновити проекцію та параметри зображення?
Ахмед Фасіх
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.