Moin,
Ihr könnt gerne ein eigenes Koordinatensystem angeben, in dem ihr:
- Eine offizielle Karte rausgebt, z.B. als ein großes PNG oder SVG ...
- Alle Assemblies in diesem Koordinatensystem verortet (z.B. PNG -> Pixelkoordinaten, besser SVG->interne Koordinaten)
also. Aktuell habe ich ein Plugin, welches für jede Etage ein Bild anzeigt. Das ist aktuell nicht gekachelt und erlaubt auch kein Zoomen.
Die Bilder orientieren sich an den PNGs und die Nutzer würden einzelne Pixel selektieren. Als Quelle nutze ich die Bilder aus eurem Github-Repo (https://github.com/opendatacity/31C3-Map/tree/master/images/originals) in geringerer Auflösung.
Die verschiedenen Etagen werden bei mir aktuell wie folgt gemappt: EG: [0.0, 0.0] - [1.0, 1.0] 1. OG: [1.0, 0.0] - [2.0, 1.0] ... 4. OG: [4.0, 0.0] - [5.0, 1.0]
Die Bilder haben pro Stockwerk die gleiche Größe.
Bedeutet:
a) In Weltkoordinaten sind die einzelnen Stockwerke nebeneinander angeordnet und in aufsteigender Reihenfolge sortiert. b) Jedes Stockwerk wird aktuell auf die Größe 1.0, 1.0 gemappt. Damit geben die Koordinaten relative Positionen zur jeweils linken oberen Ecke des Bildes an.
Mein Vorschlag:
Das o.g. Mapping ist konfigurierbar. Daher nehme ich die Original-Bilder aus dem Repo. Die haben eine Auflösung von 5940x4320 pixel.
Ich definiere für jedes Bild eine Range für die Weltkoordinaten für eine Größe von 5940, 4320. Das resultiert dann in:
EG: [0, 4320 * 0] - [5940, 4320 * 1 - 1] 1. OG: [0, 4320 * 1] - [5940, 4320 * 2 - 1] 2. OG: [0, 4320 * 2] - [5940, 4320 * 3 - 1] 3. OG: [0, 4320 * 3] - [5940, 4320 * 4 - 1] 4. OG: [0, 4320 * 4] - [5940, 4320 * 5 - 1]
Im Wiki würden dann die Koordinaten in den Properties "Has x-coordinate" bzw. "Has y-coordinate" in Koordinaten aus dem Bereich [0, 0] - [5940, 4320 * 5 - 1] stehen und ließen sich relativ einfach auf die PNGs mappen.
Grüße,
nexus