Antecedentes Esta es mi segunda pregunta relacionada con la georreferenciación de mapas raster desnudos para volver a visualizarlos en diferentes sistemas de coordenadas y en conjunto con otras capas de datos. La pregunta anterior es Convertir una imagen de mapa arbitraria libre de metadatos en un proyecto QGIS
Problema Mi objetivo es georeferenciar este mapa:
Esto no parece ser Plate-Carrée. Entonces, en QGIS, creé varios puntos de control razonables, que para completar he adjuntado en la parte inferior [ref: 1]. Proporciono a QGIS Georeferencer el mismo SRS de destino que mi archivo de proyecto, EPSG: 4326. Obtengo resultados excepcionalmente pobres con Helmert y las transformaciones polinómicas, pero obtengo una imagen razonable con una ranura delgada de placa (lo que hace que el geoestimado resultante pase por mis puntos de control). Sin embargo, incluso este resultado es pobre, por ejemplo, en latitudes más altas (ver la costa rusa al norte de Japón). Esta es una captura de pantalla de mi pantalla QGIS usando un fondo Natural Earth.
Camino alternativo Intenté un ejercicio similar con la herramienta mucho más fácil de usar en MapWarper: vea el resultado y los puntos de control en http://mapwarper.net/maps/758#Preview_Map_tab donde obtengo resultados más pobres (probablemente debido al hecho que agregué menos puntos de control).
Preguntas en pocas palabras
- ¿Hay algún truco que me falte para obtener una buena georreferencia?
- ¿Es esta proyección reconocible al instante?
- En el Sistema de coordenadas desconocido en el dibujo anterior ,
gdaltransform
se sugiere transformar varios puntos de coordenadas en un SRS de varios objetivos, con el objetivo de descubrir los parámetros de proyección utilizados para generar el mapa original. Intenté algo como esto: después de guardar mi lista de puntos QGIS, realicé un procesamiento de cadenas para obtener una lista de long / lats separados por espacioscat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txt
e ingresando el archivo resultante en gdaltransform:gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txt
y cambiando els_srs
yt_srs
banderas (el proyecto usa EPSG: 4326). Sé que estoy disparando en la oscuridad, con la esperanza de tener suerte, así que no me sorprendió cuando no pude entender las salidas. ¿Alguien puede ampliar cómo usaría este método para encontrar la mejor estimación de los parámetros de proyección y proyección del mapa fuente? Mi opinión detrás de esto es que, en lugar de perder el tiempo colocando una miríada de puntos de control para una buena georreferencia, ¿podría ser más fácil obtener una georreferencia casi perfecta con menos puntos de control, simplemente recorriendo todos los sistemas de coordenadas comunes? ¿Implica la validación cruzada de cada punto contra todos los demás, para cada CRS bajo prueba?
Me gustaría conocer este algoritmo o la georreferenciación para poder automatizar el proceso. Me encuentro con este problema todo el tiempo y hasta que los creadores de contenido dejen de tratar sus mapas como creaciones únicas que nunca se integrarán. con otro contenido, no espero parar.
Referencias
[ref: 1] archivo QGIS GCP:
mapX,mapY,pixelX,pixelY,enable
142.632649100000009,54.453595900000003,505.941176470588232,-95.220588235293974,1
154.934252200000003,59.559921699999997,536.411764705882206,-52.779411764705742,1
80.080158100000006,9.657192300000000,291.558823529411711,-322.661764705882206,1
10.448442600000000,57.819128900000003,21.676470588235190,-103.926470588235134,1
34.007173000000002,27.761438299999998,101.117647058823422,-244.852941176470466,1
50.950890399999999,11.862196600000001,171.852941176470495,-313.955882352941046,1
29.713217199999999,60.024133200000001,90.779411764705799,-92.499999999999829,1
60.000000000000000,0.000000000000000,208.308823529411683,-362.382352941176350,1
69.867506500000005,66.639146199999999,224.088235294117567,-33.191176470588061,1
27.276107100000001,71.049154799999997,89.147058823529306,-21.764705882352814,1
140.000000000000000,0.000000000000000,536.955882352941217,-362.926470588235190,1
20.000000000000000,0.000000000000000,43.441176470588132,-362.926470588235190,1
20.196882700000000,31.243024100000000,47.249999999999901,-231.794117647058698,1
9.171861099999999,42.848309999999998,8.073529411764603,-175.205882352941046,1
131.955786100000012,43.196468600000003,481.999999999999943,-162.691176470588090,1
73.813303700000006,45.169367200000003,256.735294117646959,-161.602941176470438,1
50.602731800000001,44.589102900000000,168.044117647058727,-167.588235294117510,1
121.394975900000006,18.941421099999999,455.882352941176407,-284.029411764705742,1
103.987047000000004,1.417439300000000,389.499999999999943,-357.485294117646959,1
109.325478599999997,55.962283100000001,380.249999999999943,-98.485294117646902,1
31.454010100000001,46.562001500000001,95.132352941176379,-158.882352941176322,1
43.639560299999999,68.844150499999998,137.573529411764611,-40.264705882352814,1
No actualización
Análisis de van der Grinten Escribí una herramienta de Python para ajustar los GCP a cualquier proyección que Proj4 admita (a través de Pyproj) y la apliqué a las proyecciones sugeridas en las respuestas. El código fuente (algo descuidado, pido disculpas por adelantado), así como los GCP actualizados están disponibles en https://github.com/fasiha/steppe-map
Van der Grinten tiene solo 1 parámetro para sintonizar, y aquí está la imagen resultante (usando la última imagen de Britannica, muchas gracias a ellos por dar un mapa tan actualizado y de alta resolución (aunque todavía carece de datos de proyección)).
Van der Grinten tiene un error relativo de 0.035 entre los GCP y los puntos de mejor ajuste, que es el peor del grupo que probé, y la superposición de la costa lo confirma cualitativamente.
(Puede ayudar si abre esta imagen en su propia pestaña, es bastante alta resolución. También verá flechas verdes que indican los puntos georreferenciados (deben coincidir con puntos de referencia significativos en la imagen), así como flechas rojas que indican dónde están esos puntos están ajustados a (deben coincidir con los mismos puntos de referencia en la superposición de la costa) --- la desviación entre los dos puede ayudar al ojo a ver las diferencias entre la imagen y el ajuste).
Análisis de Albers de área igual Intentando lo mismo con la proyección de Albers de área igual (que es lo mismo que "Albers conformal Conic"? Perdón por mi ignorancia). Este ajuste, que implica un ajuste de parámetro de 4 dimensiones, es mejor, con un error relativo de 0.025, pero no obstante se ve bastante pobre.
Análisis de las proyecciones de Robinson y Eckert V Encajé en varias proyecciones pseudocilíndricas respaldadas por Pyproj (todo lo que pude encontrar que tenía un parámetro libre) y descubrí que las proyecciones de Robinson y Eckert V hicieron el "mejor" en términos de error relativo entre los PCG y los puntos ajustados, ambos con errores relativos de 0.015.
Aquí está el Robinson:
Y aquí está el Eckert V.
Tenga en cuenta las desviaciones de la costa ajustada de la costa de la imagen. Creo que con esto puedo concluir que el mapa no es ninguno de los anteriores.
Tripel de Winkel: ¿posible solución?
Después de probar secuencialmente todas las proyecciones en este manual de Proj de 1990 (actualizado en 2003) ftp://ftp.remotesensing.org/proj/OF90-284.pdf Finalmente llegué a la proyección de tripel de Winkel. Esto produce los errores cuantitativos más bajos (0.011) y el litoral es uniformemente bastante bueno (o equivalente, uniformemente un poco malo). Leí que esta es la proyección de la National Geographic Society, lo que significa que es famosa, y esto agrega peso a la candidatura de esta proyección para el mapa de Britannica. El SRS instalar: +units=m +lon_0=47.0257707403 +proj=wintri
.
(Disculpas por cambiar el color de la costa a gris. Si esto ofende a alguien, puedo producir una versión azul).
Intentaré modificar mis GCP para intentar reducir el error.