Fischaugenartige Projektion

12

Ich benötige eine spezielle Projektion, um sie auf einem Plakat wirkungsvoll präsentieren zu können. Ich möchte das Untersuchungsgebiet (Tschechische Republik) in einem europaweiten Kontext so darstellen, dass die Tschechische Republik die meiste Fläche (wie 70%) in der Mitte einnimmt und das übrige Europa in der Nähe ist. aber lächerlich klein. Ich mag massive Verzerrungen zugunsten der Tschechischen Republik, wie eine Fischaugenlinse, wenn Sie sie in die Nähe eines Objekts bringen und sie im Vergleich zur Umgebung massiv vergrößern.

Gibt es eine Projektion, die ich in Quantum GIS für diesen Zweck verwenden kann? EPSG oder die Formel in Standard (die in QGIS verwendet werden kann) ist willkommen.

Tomas
quelle
1
Sie können dies mit einem Entfernungs- oder Flächenkartogramm machen . Mir sind keine QGIS-Lösungen bekannt. Sie könnten es auch durch eine einfache benutzerdefinierte Transformation der Koordinaten schaffen, wenn Sie wissen, wie man solche Dinge programmiert. Aufgrund der extremen Verzerrungen wird keine Standardprojektion eine solche Karte für Sie erstellen.
Whuber
1
Das könnte man machen, aber man muss schlau sein. Wenn Sie in projizierten Koordinaten beginnen und dann mit einer Projektion mit kleinerem Sphäroid die Projektion aufheben, können Sie einen kleinen Teil der Welt so wirken lassen, als wäre sie fast eine Halbkugel. Eine Neuprojektion der resultierenden Koordinaten mit nahezu jeder Projektion, die für diese Hemisphäre geeignet ist, würde den Trick tun. Was Sie gewinnen, wenn Sie keine Koordinatentransformationen selbst codieren müssen, müssen Sie gegen (a) viel experimentieren und (b) die Verzerrung an den Rändern nur minimal kontrollieren.
whuber
4
Ich würde die Kartogrammroute verwenden. Einfache Tools mit sofortiger Implementierung. Machen Sie einfach den Wert für die Tschechische Republik. viel größer als der Rest Europas: scapetoad.choros.ch
HeikkiVesanto
1
Wenn Sie nicht auf Raster in dieser Karte beschränkt sind, müssen Sie auf jeden Fall nach SVG exportieren und Inkspace oder einen anderen Vektorgrafik-Editor verwenden, um den Lupeneffekt zu erzielen. Wenn Sie mit Vektoren arbeiten, treten keine hässlichen Pixelprobleme auf. +1 für die Tschechische Republik :)
Miro
1
Hier ist ein Tutorial für CorelDraw: youtube.com/watch?v=YE9hu1g20Gc , in Inkscape solltest du ähnliche Ergebnisse mit Hüllkurvendeformation erzielen: wiki.inkscape.org/wiki/index.php/Envelope_Deformation
Miro

Antworten:

6

Obwohl Sie kein Fischauge sind, können Sie diesen Kartenstil als Kartogramm erstellen.

Der Vorteil davon ist, dass es fertige Tools für den Job gibt, die mit einem robusten Satz von Datensätzen arbeiten.

Machen Sie den Wert für die Tschechische Republik nur viel größer als für das übrige Europa und passen Sie die Werte an die Bedürfnisse an.

Ein großartiges Werkzeug dafür ist: ScapeToad

Bildbeschreibung hier eingeben

HeikkiVesanto
quelle
Danke Vesanto, genau das habe ich gebraucht! :-) Gebrauchsfertiges, benutzerfreundliches Tool! Ich habe das endlich benutzt. Und es sieht für mich ziemlich wie ein Fischauge aus :-)
Tomas
Das Einzige, was zu beachten ist, ist, dass es sehr sehr langsam war, also musste ich die langsamsten Einstellungen auswählen und die Anzahl der Gitterzellen manuell verringern. Aber es sieht großartig aus. Das einzige, was ich bedaure, ist, dass es nicht einfach ist, dies mit Rastern zu tun.
Tomas
1
Sie können die Dinge beschleunigen, indem Sie qgis verwenden, um die Geometrien zu vereinfachen, oder ein Shapefile mit niedrigerer Auflösung (wie das 50 m oder 110 m von Natural Earth entfernte Shapefile) verwenden
Steven Kay
8

Sie können eine von Snyders Magnifying GlassProjektionen ausprobieren, die Sie unter http://www.csiss.org/map-projections/Azimuthal.html Nr. 32 bis 36 finden.

Sie basieren auf dieser Publikation: https://pubs.er.usgs.gov/publication/70014498

Ich bin nicht sicher, ob es eine Online-Ressource mit den Formeln gibt.

Die logarithmische Karte von Hägerstrand könnte auch Ihren Anforderungen entsprechen: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld105.htm

Oder eine Quadratwurzel-Azimutprojektion: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld109.htm

Referenzen finden Sie unter http://www.cartoperspectives.org/index.php/journal/article/download/cp59-tobler/307 und unter "Small-Scale Map Projection Design" von Frank Canters (erhältlich in Google Books).

AndreJ
quelle
Vielen Dank, Andrej! Das sieht alles sehr interessant aus! Aber ohne die Formeln oder epsgs oder eine andere einfache Möglichkeit, sie zu verwenden, kann ich sie nicht verwenden :-(
Tomas
1
Es wird keinen EPSG-Code geben (mit diesen Karten wird keine Ölsuche durchgeführt!), Aber Sie können nach Veröffentlichungen Ausschau halten.
AndreJ
7

Hier ist ein Pseudo-Fischauge aus Postgres / Postgis. Ich habe das QChainage-Plugin verwendet, um 1000 Punkte entlang jeder Landesgrenze zu erstellen. Die Punkte wurden um die Nullinsel (0,0) unter Verwendung des Logarithmus der Entfernung neu projiziert, wobei jedoch der Azimut beibehalten wurde.

Bildbeschreibung hier eingeben

Ich habe Plat Caree verwendet, um es kreisförmig zu machen, da wgs84 ein ellipsoideres Erscheinungsbild ergibt.

select
    st_asewkt(
        st_endpoint(
            st_scale(
                st_rotate(
                    st_makeline(
                        st_setsrid(st_makepoint(0,0),4326),
                        st_setsrid(st_makepoint(0,1),4326)
                    ),
                    st_azimuth(
                        st_setsrid(
                            st_makepoint(0,0),
                            4326
                        )
                        ,
                        ST_translate(geom,-15.0,-50.0)
                    ) 
                ),
                -(1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0))))),
                (1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0)))))

            )   
        )
    ) as pt

from
    qqq3lines
Steven Kay
quelle
interessant, danke Steven! Kann es mehr gemacht werden, damit die Tschechische Republik im Vergleich zu den anderen noch größer ist?
Tomas
@tomas Ja ... Sie müssen die Konstanten, die ich in st_scale () verwendet habe, anpassen. Erhöhen Sie den Wert von 1.0 auf 2.0 und verringern Sie den Wert von 7.0 auf einen kleineren Wert.
Steven Kay
1

D3 hat ein Fisheye Distortion Plugin , das ich von Googling "Svg Fisheye Transform" gefunden habe. Es könnte für Ihre Situation nützlich sein. Grundsätzlich schlage ich vor , einige Ihrer Shapefiles in SVG (oder GeoJSON?) Umzuwandeln, um Ihre Map mithilfe der immer beliebter werdenden D3.js-Bibliothek zu erstellen.

Ich dachte, ich wusste, dass die Geometrien der Ländergrenzen in SVG-Vektortypen konvertiert werden können, und ich vermutete, dass es als SVG geeignetere Ansätze zur Implementierung der gewünschten Fischaugen-Transformation geben könnte.

Ich stimme den anderen Kommentatoren zu, dass Illustrations- / Grafiksoftware für Ihr Szenario besser geeignet ist. Da D3 mit einigen gängigen Datenformaten (SVG und GeoJSON) funktioniert, kann es eine Lösung für Sie darstellen.

Elrobis
quelle
danke, aber ist D3 nicht eine Bibliothek für Programmierer, für Webentwickler? Ich benötige möglicherweise ein Programm, das ein einzelnes Bild für mich erstellt, möglicherweise ohne Programmieraufwand.
Tomas
@Tomas, fair genug. Da Ihre Frage lediglich den Titel "Fischaugen-ähnliche Projektion" trägt, wird sie bei ähnlichen Suchanfragen, an denen im Laufe der Zeit wahrscheinlich auch einige Entwickler beteiligt sein werden, ein starkes Suchranking in Google aufweisen. Irgendwann könnte diese Antwort für jemand anderen nützlich sein.
Elrobis
0

Ich denke, Sie werden eine extreme Verzerrung brauchen, damit die Tschechische Republik so aussieht. Es gibt eine ziemlich beliebte fotografische "stereografische Projektion", die manchmal in der Panoramafotografie verwendet wird, um "Globuswelten" zu erstellen, die funktionieren können, wenn Sie das Ergebnis als Überlagerung über Europa verwenden. (Betrachten Sie dies nicht als Antwort, da dies rein hypothetisch ist und ich es nie mit einer Karte ausprobiert habe.) Dies wäre auch eher ein Grafik- / Fotobearbeitungsprojekt, da Sie Ihre gedruckte Karte wahrscheinlich fotografieren oder möglicherweise exportieren müssten aus dem GIS zu einem hochauflösenden Bild kopieren und eine Reihe von Bildern um einen zentralen Punkt (zentriert auf einem einheitlichen Bereich in der Mitte mit ausreichender Überlappung) zuschneiden, damit sie als Eingabe für die Panorama-Funktion verwendet werden können. Sobald Sie die "stereographische Projektion" haben

Natürlich müssten Sie Beschriftungen nachträglich in Illustrator, Corel Draw oder durch Importieren des endgültigen Bildes als Raster zurück in GIS und Erstellen einiger Grafiken / Anmerkungen hinzufügen.

Google "stereografisches Projektionspanorama", um Beispiele zu sehen.

Hier ist ein Beispiel-Tutorial: http://www.photographymad.com/pages/view/little-planet-photos-5-simple-steps-to-making-panorama-worlds

Bildbeschreibung hier eingeben

Jakub Sisak GeoGraphics
quelle