Proiezioni cartografiche discontinue o interrotte?


21

Qualcuno degli attuali software GIS open source supporta sistemi di proiezione discontinui? Ad esempio sinusoidale , dymaxion , farfalla , ecc? In caso contrario, ci sono quelli a prezzi accessibili che lo fanno (significato conveniente <$ 150)?

Upate: apparentemente è stata una cattiva idea condurre con "sinusoidale", dato che quella proiezione ha anche un singolo punto non interrotto. La parola chiave qui è discontinua o interrotta . Grazie.

Mappa delle farfalle del 1909 di Cahill

Risposte:


10

È possibile costruire qualcosa di simile alla proiezione sinusoidale interrotta e proiezioni simili, facendo diverse (normali) proiezioni sinusoidali e tagliandole e incollandole insieme. Non sono a conoscenza di uno strumento che fa questo (ma non sono la persona a cui chiedere degli strumenti), quindi nel caso in cui tu debba ricorrere allo sputo e alla colla ...

  • Se si osserva un esempio casuale di sinusoidale interrotto, ciascun meridiano perfettamente verticale corrisponde a una singola proiezione sinusoidale.

  • Per questo esempio, stai osservando i sinusoidali centrati sulle longitudini: -160, -100, -60, ...

  • Quindi, tagliare e spostare le parti per allinearle: la parte in basso a sinistra è composta da longitudini -180 ..- 100 e latitudini 0 ..- 90 e proiettata con una longitudine centrale di -160. La parte successiva è longitudinali -180 ..- 40 e latitudini 0..90, proiettate con un centro di -100. E così via (l'esempio che ho collegato è stato piuttosto intricato e potrebbero esserci affari divertenti in Russia; non sembra una vaniglia sinusoidale lì).

Se stai cercando una mappa finita, la trasformerei in una bella immagine georeferenziata ad alta risoluzione e costruirei i pezzi di proiezione proiettandolo in ogni proiezione sinusoidale e poi mascherandolo. (Costruisci le maschere proiettando quadrati solidi che coprano gli intervalli lat / lon target per ogni pezzo.) Se lavori con dati grezzi, li dividerei in pezzi di input, avendo cura di dividere linee e poligoni lungo qualsiasi "taglio" bordi nella proiezione.

Spero che questa sia una risposta migliore di niente. :)

Sarebbe un progetto collaterale interessante automatizzare questo in uno script (ad es. W / gdalwarp) ...


grazie per lo sputo e la colla, potrei davvero doverlo tagliare e attaccarlo a pezzi; Non avevo considerato questo approccio.
matt wilkie,

Ho trovato un articolo su quell'approccio che utilizza ArcInfo - ha pubblicato una nuova risposta per la "taglia"
Mapperz

1
dalla lettura dei documenti, sia gli esempi ArcInfo che GMT forniti finora utilizzano questo processo di generazione di pezzi e incolla. In teoria questo dovrebbe essere adattabile a qgis, erba o whathaveyou. Il documento arcinfo ha dettagli spettacolari per il processo, mentre GMT fa un cenno per ridurlo a 3 comandi, sebbene limitato a una singola variante di proiezione.
matt wilkie,

Controlla la mia risposta qui sotto, ho creato un programma che fa proprio questo :)
Michał

7

Ora ho caricato un programma gratuito e molto dettagliato impostato per generare la Megamap multi-scala Cahill-Keyes con bordi e risoluzione geocell di un grado a scale 1 / 1.000.000 o più piccole. Utilizza OpenOffice.org Draw 3.0 e Perl gratuiti. http://www.genekeyes.com/MEGAMAP-BETA-1/Megamap-Beta-1.html . (Controlla il link qui per molti jpeg, pdf e download gratuiti fino a 40 MB.)

inserisci qui la descrizione dell'immagine


4

Qui ha un programma C che può fare la trasformazione delle coordinate da (Lat, Long) a (X, Y) nella proiezione dymaxion. Non sono sicuro che questo soddisfi i tuoi criteri di open source, ma è il più vicino possibile.

Non ho trovato nulla per fare una corretta proiezione, ma ho trovato questa risorsa di Gene Keyes confrontando la farfalla di Cahill e le proiezioni dymaxion di Fuller, il che è davvero bello. Ha uno script perl che può tracciare le coordinate su una mappa dymaxion. Da lì ho trovato le basi per quello script: il suddetto sito di RW Gray che ha un programma C che può fare la trasformazione delle coordinate e si prega di vedere la sua nota in fondo alla pagina per quanto riguarda i termini di utilizzo del codice.



2

Il pacchetto mapproj R supporta una buona gamma di proiezioni, sinusoidali tra loro.

Potresti anche guardare le Proiezioni Myriahedral di Jack van Wijk secondo il suo articolo :

Tutte le immagini sono state prodotte con uno strumento integrato e sviluppato su misura per definire maglie e pesi e per calcolare e rendere i risultati, in esecuzione su MS Windows.


Ma supporta la versione discontinua della proiezione sinusoidale?
underdark

1
-1 per mapproj, che (dai documenti) supporta solo la forma a punto singolo di Sinusoidal, "paralleli sinusoidali () equidistanti, uguale area, uguale a bonne (0)" . +1 per Myriahedral che è decisamente discontinuo e sembra interessante. Il software utilizzato sembra essere privato ma non disponibile.
matt wilkie,

1
@ underdark: non era chiaro l'aggiornamento b4 che la sinusoidale doveva essere discontinua, quindi il mio suggerimento. @ matt: è stato creato in ambito accademico e immagino che ci sia la possibilità di accedervi dall'autore.
Radek,

bene, il titolo della domanda non è cambiata;) nvm
Sottosuolo



2

Molto tempo fa ho implementato Cahill-Keyes in D3.js seguendo la grande documentazione / codice di Gene Keyes sul suo sito web. Lo puoi trovare in questo bl.ock

Ecco un'istantanea:

inserisci qui la descrizione dell'immagine


1

Gene Keyes e la sua compagna Mary Jo Graça hanno recentemente pubblicato l' ottant Graticule di Cahill-Keyes: principi e specifiche con i programmi Perl e le macro di OpenOffice.org 2.0 per 1 / 1.000.000 di Megamap sotto una licenza creativa condivisa allo stesso modo senza licenza commerciale. Abstract "Come viene realizzato un reticolo di un grado completo di una mappa del mondo di otto ottanta a 1 / 1.000.000 con Perl e le macro in un programma di disegno vettoriale OpenOffice.org 2.0 gratuito su un netbook Asus da $ 300. Questa è un'altra parte della mia stesura note per la mappa di "Real-World" di Cahill-Keyes. Descrive solo il reticolo, in intricati dettagli, sia come archetipi disegnati a mano che al computer. L'immissione di dati GIS è la prossima sfida ".L'immagine nella domanda proviene dal sito di Gene. Non ho pubblicato post sulla pagina perl & OO fino ad ora in quanto non era ancora diventato pubblico con la pagina.

miniatura del risultato macro di Open Office

Ho creato un repository mercuriale di codice sorgente del loro lavoro su http://bitbucket.org/maphew/cahill-keyes con l'obiettivo, alla fine, di affrontare la parte "entrare nel GIS". Anche se non è stato ancora fatto nulla - questo è un angolo del mio progetto di scrivania, i progressi saranno lenti. :)


1

Come già accennato, il programma C qui funziona bene. Disponibile anche qui in javascript per openlayer.

Ho usato con successo entrambi, ma ho avuto molto successo con la versione javascript nel sistema di script di Adobe Illustrator. Ho preso i file di forma e li ho convertiti in oggetti javascript, li ho caricati in Illustrator e quando il disegno ha eseguito i punti attraverso il codice di proiezione javascript.

Ho prodotto una mappa di fusi orari molto interessante con questo codice.

Sto solo iniziando a lavorare con QGIS, quindi non sono sicuro che ci siano modi per avere una proiezione programmaticamente personalizzata come questa, ma sarei molto interessato a questo proposito.


Ciao gazhay, benvenuto su GIS.se :) È buona norma utilizzare il titolo della pagina o qualche altra parte distintiva del testo anziché heredurante il collegamento; semplifica la ricerca di nuovi collegamenti quando la pagina di destinazione inevitabilmente soccombe a bitrot. (Anche questo sarebbe stato meglio inserito come commento alla risposta "precedentemente menzionata" di riferimento, ma mi rendo conto che come nuovo utente questo non è ancora aperto a te). Grazie per aver contribuito. Incoraggio una domanda e una risposta sul flusso di lavoro di Shape> Illustrator> Openlayers perché sembra interessante ( gis.stackexchange.com/help/self-answer )
matt wilkie

1

Ho codificato la proiezione interrotta sinusoidale in javascript, quindi viene eseguita nel browser web. Puoi verificarlo qui: http://www.winski.net/?page_id=12 . Sostengo anche la proiezione del petalo di margherita USGS.

Devi solo selezionare l'immagine di input, la proiezione sinusoidale interrotta dall'elenco di proiezioni, il numero di gore e fare clic su "progetto".

È sotto BSD, quindi sentiti libero di fare tutto quello che vuoi :)

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.