Migliorare i risultati di georeferenziazione? [chiuso]


13

Background Questa è la mia seconda domanda relativa alla georeferenziazione di mappe raster nude per ri-visualizzarle su diversi sistemi di coordinate e in combinazione con altri livelli di dati. La domanda precedente è: Converti un'immagine di mappa arbitraria senza metadati nel progetto QGIS

Problema Il mio obiettivo è georeferenziare questa mappa:

Steppa eurasiatica, Encyc.  Brit.?

Questo non sembra essere Plate-Carrée. Quindi in QGIS, ho creato diversi punti di controllo ragionevoli, che per completezza ho attaccato in fondo [rif: 1]. Fornisco a QGIS Georeferencer lo stesso SRS target del mio file di progetto, EPSG: 4326. Ottengo risultati eccezionalmente scarsi con Helmert e le trasformazioni polinomiali, ma ottengo un'immagine ragionevole con una spline a piastra sottile (che fa passare il geoestimato risultante attraverso i miei punti di controllo). Tuttavia, anche questo risultato è scarso, ad esempio a latitudini più elevate (vedi la costa russa a nord del Giappone). Questo è uno screenshot del mio schermo QGIS che utilizza uno sfondo di Natural Earth.

Risultato georeferenziazione QGIS, spline piastra sottile

Percorso alternativo Ho provato un esercizio simile con lo strumento molto più facile da usare su MapWarper: vedi i risultati e i punti di controllo su http://mapwarper.net/maps/758#Preview_Map_tab dove ottengo risultati più scarsi (probabilmente a causa del fatto che ho aggiunto meno punti di controllo).

Domande in breve

  1. Ci sono dei trucchi che mi mancano per ottenere una buona georeferenza?
  2. Questa proiezione è immediatamente riconoscibile?
  3. A Unknown Coordinate System su vecchio disegno , gdaltransformsi suggerisce di trasformare diversi punti di coordinate in diversi SRS target, con l'obiettivo di scoprire effettivamente i parametri di proiezione utilizzati per generare la mappa originale. Ho provato qualcosa del genere: dopo aver salvato il mio elenco di punti QGIS, ho fatto un po 'di elaborazione delle stringhe per ottenere un elenco di long / lats separati da spazi tramite cat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txte inserendo il file risultante in gdaltransform: gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txte cambiando il s_srset_srsflag (il progetto utilizza EPSG: 4326). So che sto girando al buio, sperando di essere fortunato, quindi non sono rimasto sorpreso quando non riuscivo a dare un senso alle uscite. Qualcuno può espandere il modo in cui utilizzerei questo metodo per trovare la migliore stima dei parametri di proiezione e proiezione della mappa di origine? Il mio pensiero dietro questo è che invece di fare casini con il posizionamento di una miriade di punti di controllo per una buona georeferenza, potrebbe essere più facile ottenere una georeferenza quasi perfetta con un numero inferiore di punti di controllo, semplicemente attraversando tutti i comuni sistemi di coordinate? Implica la validazione incrociata di ciascun punto rispetto a tutti gli altri, per ciascun CRS sottoposto a test?

Mi piacerebbe avere una comprensione di questo algoritmo o della georeferenziazione in modo da poter automatizzare il processo --- Mi imbatto in questo problema tutto il tempo e fino a quando i creatori di contenuti smettono di trattare le loro mappe come creazioni uniche che non devono mai essere integrate con altri contenuti, non mi aspetto di smettere.

Riferimenti

[ref: 1] File GCP QGIS:

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

Non aggiornamento

Analisi di van der Grinten Ho scritto uno strumento Python per adattare i GCP a qualsiasi proiezione supportata da Proj4 (tramite Pyproj) e l'ho applicato alla coppia di proiezioni suggerite nelle risposte. Il codice sorgente (un po 'sciatto, chiedo scusa in anticipo) e i GCP aggiornati sono disponibili su https://github.com/fasiha/steppe-map

Van der Grinten ha solo 1 parametro da sintonizzare, ed ecco l'immagine risultante (usando l'ultima immagine di Britannica, molte grazie a loro per aver fornito una mappa così aggiornata e ad alta risoluzione (sebbene manchi ancora dei dati di proiezione)).

Vestibilità Van der Grinten

Van der Grinten ha un errore relativo di 0,035 tra i punti GCP e i punti più adatti, che è il peggiore del gruppo che ho provato, e la copertura costiera lo conferma qualitativamente.

(Può essere utile se apri questa immagine nella sua scheda, è piuttosto ad alta risoluzione. Vedrai anche frecce verdi che indicano i punti georeferenziati (dovrebbero corrispondere a punti di riferimento significativi sull'immagine) e frecce rosse che indicano dove quei punti sono adattati (dovrebbero corrispondere agli stessi punti di riferimento sulla sovrapposizione della linea costiera) --- la deviazione tra i due può aiutare l'occhio a vedere le differenze tra l'immagine e l'adattamento.)

Analisi della zona uguale di Albers Provare la stessa cosa con la proiezione della stessa area di Albers (che è la stessa di "Conica conforme di Albers"? Mi dispiace per la mia ignoranza). Questo adattamento, che implica un adattamento di parametri a 4 dimensioni, è migliore, con un errore relativo di 0,025, ma sembra comunque piuttosto scadente.

Adatta ad area uguale di Albers

Analisi delle proiezioni di Robinson ed Eckert V Ho adattato una serie di proiezioni pseudocilindriche supportate da Pyproj (tutto ciò che ho potuto trovare con un parametro libero) e ho scoperto che le proiezioni Robinson ed Eckert V hanno fatto il "migliore" in termini di errore relativo tra i GCP e i punti montati, entrambi con errori relativi di 0,015.

Ecco il Robinson:

Vestibilità Robinson

Ed ecco l'Eckert V.

Vestibilità Eckert V.

Nota le deviazioni della costa montata dalla costa dell'immagine. Penso che con questo posso concludere che la mappa non è nessuna delle precedenti?

Winkel Tripel: possibile soluzione?

Dopo aver provato in sequenza ogni proiezione in questo manuale di Proj del 1990 (aggiornato 2003) ftp://ftp.remotesensing.org/proj/OF90-284.pdf sono finalmente arrivato alla proiezione tripel di Winkel. Ciò produce gli errori quantitativi più bassi (0,011) e la costa è uniformemente abbastanza buona (o equivalentemente, uniformemente leggermente cattiva). Ho letto che questa è la proiezione della National Geographic Society, il che significa che è famosa, e questo aggiunge peso alla candidatura di questa proiezione per la mappa della Britannica. La SRS montati: +units=m +lon_0=47.0257707403 +proj=wintri.

Winkel tripel fit

(Mi scuso per aver cambiato il colore della costa in grigio. Se questo offende qualcuno, posso produrre una versione blu.)

Proverò a modificare i miei GCP per provare a ridurre l'errore in basso.


Dovrebbe essere una proiezione di Mercatore (i paralleli non sono equidistanti).
bhell,

1
Sbaglio: Mercatore ovviamente dovrebbe avere meridiani paralleli. Forse van der Grinten ?
bhell,

Hai provato ad aggiungere alcuni punti di controllo nell'estremo nord? Ogni altro posto sembra a posto ma lì sembra che manchi qualche informazione in più.
underdark

1
@bhell Van der Grinten è un'ipotesi eccellente, ma non si adatta perfettamente. La proiezione sembra essere la stessa di questa mappa (che sfoggia un reticolo), anch'essa fatta recentemente dall'Enciclopedia Britannica. È una sorta di pseudo proiezione policonica in un aspetto equatoriale centrato sul Primo Meridiano, ma non lo riconosco. Informarsi su Encyclopedia Britannica è una buona idea.
whuber

2
Ah, quindi l'immagine non può essere convertita in una proiezione di Van der Grinten (che conosco perché è usata in una mappa "capovolta" sul mio muro :) tramite qualsiasi trasformazione affine. Buono a sapersi!
Ahmed Fasih,

Risposte:


3

Da una prima analisi, possiamo vedere che solo l'equatore e il meridiano centrale (passando approssimativamente attraverso Mosca, circa 37,36 E di longitudine) sono linee rette, mentre tutti gli altri paralleli e meridiani sono linee curve. Tra le proiezioni globali, queste caratteristiche suggeriscono di provare quella di Van der Grinten (come ha fatto Bhell in un commento alla domanda), ovvero la proiezione standard della mappa del mondo della National Geographic Society.

Quindi ho impostato il progetto SR in QGIS come SRS personalizzato World_Van_der_Grinten_I (Moscow):

+proj=vandg +lon_0=37.36 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

derivato direttamente da EPSG:54029( World_Van_der_Grinten_I), modificando solo la longitudine del meridiano centrale. Quindi ho provato a georeferenziare l'immagine usando la trasformazione proiettiva con i seguenti GCP scelti su un reticolo immaginario che passa attraverso i segni di spunta disponibili:

mapX,mapY,pixelX,pixelY,enable
-1930600.82502013398334384,-91.97837987072125543,43.52016129032256231,-362.54032258064518146,1
11412132.24015056900680065,-91.97837987233651802,537.54173867127497033,-362.73421498975926625,1
11804723.15208163484930992,8693410.00194966979324818,551.40707210100163138,-43.85864138853239069,1
-1651013.74878141912631691,7637895.72632359713315964,54.16126727366525984,-80.84230997717837397,1

Questo è il risultato dell'abitudine World_Van_der_Grinten_I (Moscow)con i GCP (confine dell'amministratore del paese nel mondo in rosso):

inserisci qui la descrizione dell'immagine

Questa georeferenzialità potrebbe essere ulteriormente migliorata scegliendo GCP più precisi (la difficoltà maggiore è l'assenza di segni di spunta o di un reticolo), tuttavia sembra che la mappa contenga alcuni artefatti soprattutto nell'Europa centrale e settentrionale. Ad esempio, si consideri la Germania che sembra crollata in riferimento all'Italia o alla posizione relativa dell'isola di Kolguyev (che si adatta abbastanza bene) e alla costa russa (che non si adatta affatto).

Lo stesso risultato è stato riproiettato in WGS84( EPSG:4326):

inserisci qui la descrizione dell'immagine


Grazie mille per il tuo consiglio e la tua iniziativa. Non ho familiarità con le trasformazioni proiettive, quindi ne scoprirò di più. Ho aggiornato il post principale con un approccio di adattamento dei parametri che cerca di trovare la proiezione di Van der Grinten che si adatta meglio ai GCP (era abbastanza vicino a 37.36) ed era abbastanza insoddisfatto di tale adattamento. Per favore, dai un'occhiata e fammi sapere.
Ahmed Fasih,

Oh, vedo che la trasformazione proiettiva in QGIS è una rotazione + traduzione, che dovrebbe essere facile da provare con i miei GCP.
Ahmed Fasih,

In generale (e anche in QGIS), la trasformazione proiettiva non è una roto-traduzione. La guida dell'utente di IMHO QGIS è errata riguardo a questo punto. Inoltre, considera la possibilità che ci possano essere alcuni manufatti fatti a mano (?) Nella mappa a bassa risoluzione, come sembra dopo la mia georeferenza. Appena possibile proverò a georeferenziare quello ad alta risoluzione.
Antonio Falciano,

Grazie per le informazioni, aggiornerò il mio QGIS e proverò la georeferenza di trasformazione proiettiva. (Proverò anche a guardare il codice sorgente di QGIS per vedere cosa potrebbe fare.) Se desideri risparmiare un po 'di tempo e utilizzare i miei GCP, sono su github.com/fasiha/steppe-map/blob /master/gcp.txt (salvato da QGIS).
Ahmed Fasih,

Si prega di consultare il post aggiornato per una possibile soluzione: Winkel tripel.
Ahmed Fasih,

1

c'è una forte distorsione a est ("salendo"): la mia ipotesi è una conica conforme di Albers. Quindi il meridiano verticale sembra essere a 40 ° (-> il tuo meridiano centrale) e il parallelo orizzontale probabilmente intorno a 40 ° N. Dovresti quindi misurare la tua coordinata XY dall'asse all'intersezione del meridiano 40 e del parallelo 40, quindi provare ...

Nota: i paralleli non sono paralleli, quindi è possibile escludere le proiezioni cilindriche (Mercator) e pseudo-cilindriche (sinusoidale, Eckert)


La mancanza di tic ad angolo sui lati E e W della mappa suggerisce che non è conica.
Martin F,

Questa è una buona osservazione, ma c'è qualcosa di strano se guardi i segni di spunta: non sono angolati, ma quando li unisci con una linea retta, non sono né linee parallele né orizzontali. Pertanto dovrebbero essere curvi e le zecche dovrebbero essere angolate. Comunque, se è conforme, probabilmente non è Lambert in quanto la convergenza al polo creerebbe distorsioni molto forti. Forse Albers.
Radouxju,

Mille grazie per il consiglio e mi dispiace che ci abbia messo tanto a provare a implementarlo. Ho aggiornato il post principale con il mio tentativo di adattare i dati a una proiezione ad area uguale di Albers in 4 dimensioni (è questo a cui ti riferisci?) Ai GCP che ho estratto. Non sono soddisfatto dell'adattamento, e ho trovato un paio di altre proiezioni pseudocilindriche (Eckert V e Robinson) che funzionano (quantitativamente) un po 'meglio, ma non ancora abbastanza vicine per l'analisi dell'oggetto della mappa. I tuoi pensieri?
Ahmed Fasih,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.