In welchen Koordinatensystemen erscheinen echte Kreise rund?

10

Ich habe eine Weile in Google Maps entwickelt und wechsle zu OpenLayers, stecke aber in einem Punkt fest: Ich zeichne Vektoren, die größtenteils kreisförmig sind, aber auch eine benutzerdefinierte Geometrie beinhalten, sodass ich createRegularPolygon nicht verwenden kann. Ich erstelle ein Array von Punkten und sende es an ein OpenLayers.Layer.Vector-Objekt. Dies funktioniert gut, aber die resultierenden "Kreise" sind nur in der Nähe des Äquators rund, nicht in höheren Breiten. Sie werden ungefähr so ​​stark gequetscht, wie sich die Grundkarte in höheren Breiten befindet, was sinnvoll erscheint. Wenn ich Google als Basisschicht verwende, haben sie in allen Breiten die richtige Form, aber ich mache eine mobile Offline-Lösung, damit dies nicht funktioniert.

Was verwende ich für eine Basisebene (oder welche Parameter müssen eingestellt werden), damit meine Geometrie in allen Breiten rund bleibt, ohne Google oder Online-Karten zu verwenden?

kschaos
quelle

Antworten:

12

Ich denke, deine Kreise sehen ungefähr so ​​aus:

Geben Sie hier die Bildbeschreibung ein

(Quelle: Esri Mapping Center Blog )

Für perfekte Kreise sollten Sie Web Mercator EPSG: 900913 anstelle von WGS84 EPSG: 4326 verwenden

Mehr zu diesem Thema und ein Beispiel dafür, wie die Kreise in Mercator aussehen: Tissots Indikatrix veranschaulicht die Verzerrung der Kartenprojektion

Damit Openlayers Mercator verwenden, müssen Sie die Option sphärischMercator in Ihrer Basisebene festlegen.

sphericalMercator: true,
Unterdunkel
quelle
Vielen Dank! Das war genau die Information, die ich brauchte. Ich dachte, ich arbeite mit einer Ebene in EPSG: 900913, aber das war nicht der Fall. Ich musste auch sicherstellen, dass alle Transformationen von EPSG: 4326 zu EPSG: 900913 gingen und es funktioniert perfekt. Jetzt muss ich nur noch herausfinden, wie die fehlerhaften Bildsymbole nicht angezeigt werden, wenn versucht wird, offline in die Kartenkacheln zu laden.
Kschaos
14

Es gibt keine Karte der gesamten Erde, auf der alle (wahren, kugelförmigen) Kreise wirklich rund bleiben. Es gibt jedoch Möglichkeiten, die Erde abzubilden, bei denen fast alle ausreichend kleinen Kreise rund sind. Diese basieren auf konformen Projektionen . Per Definition gibt es nur zwei Arten von Änderungen, die eine konforme Projektion an Abständen innerhalb kleiner Bereiche vornimmt : eine gleichmäßige Dehnung und eine Drehung. Offensichtlich machen diese Änderungen Kreise nicht weniger rund.

August Epizykloidal

Karte der Erde mit einer epizykloiden Augustprojektion . Die meisten Kreise erscheinen auf dieser Karte wirklich rund.

Häufig verwendete konforme Projektionen sind der Mercator (eine zylindrische Projektion), Stereographic (eine azimutale Projektion) und der Lambert Conformal Conic (offensichtlich eine konische Projektion). Diese decken die drei Hauptfamilien von Projektionen ab und geben Ihnen die Flexibilität, einen bestimmten "Blick" auf das Raster von Meridianen und Breitengraden zu wählen. Zusätzliche Optionen, die in einigen GIS verfügbar sein können, umfassen Miller Oblated Stereographic , Littrow , Bipolar Oblique Conic Conformal , Lagrange , Eisenlohr , August Epicycloidal , Guyou und Peirce Quincuncial, GS50 , verschiedene Adams- Projektionen und Lee . (Quelle: Snyder & Voxland, Ein Album mit Kartenprojektionen. USGS Professional Paper 1453.) Diese beiden letzten zeigen die Fülle möglicher konformer Projektionen, die erstellt werden können, und zeigen, wie konforme Projektionen nicht wirklich "formbewahrend" sind: Adams-Projektionen werden konform abgebildet eine Halbkugel in ein Quadrat und die Lee-Projektion platziert es in ein Dreieck. Tatsächlich zeigt der Riemann-Mapping-Satz der komplexen Analyse, dass Sie eine Hemisphäre konform in jedes Polygon abbilden können!

OpenLayers verwendet die Proj4js- Projektionsbibliothek. Der Quellcode für die Projektionen wird im Ordner / proj4js / lib / projCode / verteilt. Die konforme Vorsprünge mit der neuesten Version enthalten (1.0.2) sind die Mercator , zwei Quermercators , zwei schräge Mercators ( "Hotine" und "Swiss Oblique"), Lambert Conformal Conic und stereographische .

Wenn Ihre Anwendung nicht für die weltweite Verwendung ausgelegt ist, sollten Sie diese Optionen untersuchen und untersuchen, um festzustellen, welche für Ihre Region von Interesse am besten geeignet ist . All dies kann leicht neu zentriert und neu skaliert werden, um die Gesamtverzerrung (nicht nur von Formen, sondern auch von Bereichen und Abständen) innerhalb eines bestimmten Bereichs zu minimieren. Die weltweite Standardlösung ist eine Variante des Mercator, die von Google Maps populär gemacht wird.

whuber
quelle
Mehr zu dieser Antwort finden Sie hier: pasda.psu.edu/help/projection.asp
DPSSpatial
@mapBaker Vielen Dank, dass Sie diesen Link angeboten haben. Die Charakterisierung einer konformen Projektion ist leider falsch: "Eine konforme Projektion behält Formen wie Rechtecke bei." Dies gilt nur für infinitesimale Formen, nicht für Formen endlicher Größe.
whuber
Kennen Sie jemanden am Netzteil, der Ihnen bei der Anpassung dieses Dokuments helfen könnte?
DPSSpatial
@mapBaker Leider nein; Ich habe dort keine aktuellen Kontakte. Ich bin mir nicht mal sicher, ob sie es anpassen wollen. Es gibt eine feine Linie zwischen richtig und pedantisch. Ich glaube, sie hätten die Einfachheit der Darstellung geschätzt und wollten - für ihr spezielles Publikum - nicht auf die Unterscheidung zwischen der Erhaltung geometrischer Eigenschaften in großen und kleinen Maßstäben eingehen. Ich schätze auch die Einfachheit der Darstellung, bemühte mich jedoch bei dieser Antwort, einen genaueren Kompromiss zwischen Einfachheit und Korrektheit zu finden, indem ich ausreichend kleine Kreise hervorhob .
whuber
2

Nun, offensichtlich werden Sie Probleme haben, solange Sie die Grundkarte in der EPSG: 4326-Projektion verwenden. Was Sie brauchen, ist die sphärische Mercator-Projektion, die, wie Sie bemerkt haben, Google Maps und andere kommerzielle Kartenanbieter sind. Gehen Sie weiter und lesen Sie ein besseres Verständnis für dieses Problem zu umgehen.

Für Ihre mobile Offline-Lösung wäre OpenStreetMap wahrscheinlich eine gute Lösung.

igorti
quelle