In quali sistemi di coordinate compaiono i cerchi veri?


10

Sto sviluppando su Google Maps da un po 'di tempo e sto passando a OpenLayer ma sono bloccato su un punto: sto disegnando vettori che sono per lo più circolari ma coinvolgono anche alcune geometrie personalizzate, quindi non posso usare createRegularPolygon. Sto creando una matrice di punti e inviandola a un oggetto OpenLayers.Layer.Vector. Funziona benissimo ma i "cerchi" risultanti sono solo rotondi vicino all'equatore, non a latitudini più elevate. Sono schiacciate circa la stessa quantità della mappa di base a latitudini più elevate, il che sembra avere senso. Se uso Google come livello base, hanno la forma corretta a tutte le latitudini, ma sto realizzando una soluzione mobile offline che non funzionerà.

Cosa devo usare per un livello base (o quali parametri impostare) in modo che la mia geometria rimanga rotonda a tutte le latitudini senza utilizzare Google o le mappe online?

Risposte:


12

Immagino che le tue cerchie abbiano un aspetto simile al seguente:

inserisci qui la descrizione dell'immagine

(Fonte: blog del centro di mappatura Esri )

Ti consigliamo di utilizzare Web Mercator EPSG: 900913 anziché WGS84 EPSG: 4326 per cerchi perfetti

Maggiori informazioni su questo argomento e un esempio di come appaiono i cerchi in Mercator: l'indicatore di Tissot aiuta a illustrare la distorsione della proiezione della mappa

Per fare in modo che Openlayer utilizzi Mercator, devi impostare l'opzione sfericaMercator nel tuo livello base.

sphericalMercator: true,

Grazie! erano esattamente le informazioni di cui avevo bisogno. Pensavo di lavorare con un livello che era in EPSG: 900913 ma non era così. Ho anche dovuto assicurarmi che tutte le trasformazioni andassero da EPSG: 4326 a EPSG: 900913 e funzionasse perfettamente. Ora devo solo capire come non mostrare le icone delle immagini rotte quando tenta di caricare le tessere della mappa mentre è offline.
kschaos,

14

Non esiste una mappa dell'intera terra in cui tutti i cerchi (veri, sferici) rimangano veramente rotondi. Tuttavia, ci sono modi di mappare la terra in cui quasi tutti i cerchi sufficientemente piccoli sono rotondi. Questi sono basati su proiezioni conformi . Per definizione, i cambiamenti che una proiezione conforme apporta alle distanze all'interno di piccole aree sono solo di due tipi: uno stiramento uniforme e una rotazione. Ovviamente questi cambiamenti non rendono i cerchi meno rotondi.

Agosto Epicicloidale

Mappa della terra con una proiezione epicicloidale di agosto . La maggior parte delle cerchie apparirà davvero rotonda su questa mappa.

Le proiezioni conformi comunemente usate sono il Mercatore (una proiezione cilindrica), la Stereografica (una proiezione azimutale) e la Lambert Conformal Conic (una proiezione conica, ovviamente). Questi riguardano le tre principali famiglie di proiezioni, dandoti la flessibilità di scegliere un particolare "sguardo" al reticolo dei meridiani e delle linee di latitudine. Opzioni aggiuntive, che possono essere disponibili in alcuni GISes, includono la Miller Oblated stereografica , Littrow , bipolare Oblique conica Conformal , Lagrange , Eisenlohr , agosto epicicloidale , Guyou , Peirce quinconce, GS50 , varie proiezioni di Adams e Lee . (Fonte: Snyder & Voxland, un album di proiezioni cartografiche. USGS Professional Paper 1453.) Queste ultime due indicano la ricchezza di possibili proiezioni conformi che possono essere create e mostrano come le proiezioni conformi non siano veramente "preservare la forma": le proiezioni Adams mappano in modo conforme un emisfero in un quadrato e la proiezione di Lee lo posiziona in un triangolo. In effetti, il teorema di mappatura di Riemann di analisi complessa mostra che è possibile mappare in modo conforme un emisfero in qualsiasi poligono di sorta!

OpenLayers utilizza la libreria di proiezione Proj4js . Il codice sorgente per le proiezioni è distribuito nella cartella / proj4js / lib / projCode /. Le proiezioni conformi incluse con l'ultima versione (1.0.2) sono il Mercatore , due Mercatori trasversali , due Mercatori obliqui ("Hotine" e "Swiss Oblique"), Lambert Conformal Conic e Stereographic .

A meno che l'applicazione non sia progettata per funzionare in tutto il mondo, esplorare e studiare queste opzioni per determinare quale sarebbe la migliore per la propria regione di interesse . Tutti questi possono essere facilmente aggiornati e ridimensionati per ridurre al minimo la distorsione totale (non solo delle forme, ma anche delle aree e delle distanze) all'interno di un'area specifica. La soluzione predefinita in tutto il mondo è una variante del Mercator, resa popolare da Google Maps.


Altre informazioni su questa risposta sono disponibili qui: pasda.psu.edu/help/projection.asp
DPSSpatial

@mapBaker Grazie per aver offerto quel link. La sua caratterizzazione di una proiezione conforme purtroppo non è corretta: "Una proiezione conforme mantiene forme come i rettangoli". Questo vale solo per forme infinitesimali , non per forme di dimensioni finite.
whuber

conosci qualcuno al PSU che potrebbe aiutarti a modificare quel documento?
DPSSpatial

@mapBaker Purtroppo no; Non ho nessun contatto attuale lì. Non sono nemmeno sicuro che vorrebbero modificarlo. C'è una linea sottile tra essere corretti ed essere pedanti. Credo che avrebbero potuto apprezzare la semplicità dell'esposizione e - per il loro pubblico particolare - non volessero entrare nella distinzione tra conservazione delle proprietà geometriche su larga scala rispetto a piccola scala. Apprezzo anche la semplicità dell'esposizione, ma ho fatto uno sforzo in questa risposta per trovare un compromesso più accurato tra semplicità e correttezza enfatizzando cerchi sufficientemente piccoli .
whuber

2

Bene, ovviamente avrai problemi fintanto che usi la mappa di base in EPSG: proiezione 4326. Ciò di cui hai bisogno è la proiezione di Mercer Sferico che, come hai notato, sono Google Maps e altri fornitori di mappe commerciali. Vai avanti e leggi questo per capire meglio questo problema.

Per te la soluzione mobile offline OpenStreetMap sarebbe probabilmente una buona soluzione.

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.