[re-data] Koordinaten 30C3

nexus nexus at hannover.ccc.de
Sa Nov 28 11:26:56 CET 2015


Moin,

> Ihr könnt gerne ein eigenes Koordinatensystem angeben, in dem ihr:
> 1. Eine offizielle Karte rausgebt, z.B. als ein großes PNG oder SVG ...
> 2. 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



Mehr Informationen über die Mailingliste redata