Projection Switcher

Projection Switcher Addon #

Dieses Addon erlaubt das Ändern der Kartenprojektion basierend auf einer Liste vordefinierter Projektionen. Diese Projektionen können für jede Applikation spezifisch definiert werden. Ein Dropdown Element wird der Karte hinzugefügt, das die Auswahl der Kartenprojektion ermöglicht.

Setup #

Fügen Sie das Addon der Masterportal Applikation im addons Ordner hinzu. Erstellen oder editieren Sie die addonsConf.js und fügen Sie folgenden Eintrag hinzu:

{
    "projectionSwitcher": "view.js"
}

Fügen Sie das Addon zur config.js Datei im Abschnitt addons hinzu:

addons: [
    "projectionSwitcher"
]

Fügen Sie die optionale Konfiguration des Addons zur config.json Datei im Abschnitt PortalConfig hinzu:

"projectionSwitcher": {
    "parentSelector": ".control-view-bottom",
    "allowedCrs": [
        "EPSG:4326",
        "EPSG:3857",
        "EPSG:25833",
        "EPSG:25832"
    ],
    "crsNameMapping": {
        "EPSG:4326": "WGS 84",
        "EPSG:3857": "WGS 84 / PseudoMercator"
    }
}

Stellen Sie sicher, dass für alle Projektionen, die unter allowedCrs aufgelistet wurden, ein Projektionsstring in config.js Abschnitt namedProjections existiert.

"namedProjections": [
    ["EPSG:25832", "+title=ETRS89/UTM 32N +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"],
    ["EPSG:25833", "+title=ETRS89/UTM 33N +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"],
    ["EPSG:900913", "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"]
]

Konfiguration #

Folgende Parameter können für das Addon konfiguriert werden:

Name Verpflichtend Typ Default Beschreibung Standard
parentSelector nein String "" CSS Selektor zur Identifikation des Elternelements. Das Dropdown wird in das entsprechende Element gerendert. false
allowedCrs nein String[] aktuelle Kartenprojektion Liste der auswählbaren Projektionen. Diese müssen im Format “EPSG:XXXX” angegeben werden. Sollte der Parameter nicht angegeben werden, wird automatisch die aktuelle Kartenprojektion als einzig auswählbare Projektion verwendet. false
crsNameMapping nein Object {} Mapping für die CRS-Codes, z.B. { “EPSG:4326”:“WGS84”, “EPSG:3857”, “WGS 84 / Pseudo-Mercator”}. false