Interaktive Standortkarte

Inhalt

Allgemein

Das Verzeichnis für die Standortkarten liegt unter:
/afs/tu-chemnitz.de/www/root/ub/map

Für jedes Gebäude eine separate Karte.
/campusbibliothekigeisteswissenschaften
/campusbibliothekiiwirtschaftrechtnaturingenieurwissmathematik
/zentralbibliothek

Zusätzlich gibt es für jeden Standort eine Testversion. Diese ist mit standort.test gekennzeichnet.
BSP /campusbibliothekigeisteswissenschaften.test

Die Unterverzeichnisse beinhaltet jeweils:

  • index.html
  • Bilder für die Legende und das Sicherheitsschloss
  • Maps, die für die Webdarstellung verwendet werden (*.png)
  • Pfaddateien für die Bereiche, die gehighlightet werden (*.svg)
  • /css für die Styleinformationen
  • /js für die Standortdaten
  • /MASTER_MAP für die Originalkarten

Bearbeiten der MASTER MAP

Für Änderungen an den Grundrissen (z.B. entfernen/hinzufügen von neuen Regalen, einzeichnen neuer Geräte, …) werden die Karten innerhalb des Ordners MASTER_MAP genutzt. Diese können mit dem Programm Inkscape bearbeitet werden. Nach der Bearbeitung werden diese sowohl innerhalb des Ordners als .svg, als auch als .png im Hauptordner gespeichert.
Dazu in Inkscape unter Datei -> Bitmap exportieren ... -> Seite(!) die entsprechende, bereits vorhandene Grafik überschreiben. Damit ist die aktualisierte Karte direkt im Webbereich sichtbar.

Markierungen

Die Datei map_validate_ori.json im Ordner /js beinhaltet die Angaben zu allen Standorten, die eine visuelle Markierung (highlighting) erhalten.
Um die Makierungen zu bearbeiten einfach in einem Texteditor (z.B. gedit) öffnen.

Innerhalb der Datei gibt es 3 Abschnitte.

Der erste enthält die allgemeinen Daten der Karten.


        "name": "Interactive Map",
        "files": [
            {
                "File": "ZB_OG1.png",
                "ID": "OG1",
                "X": "",
                "Y": "",
                "Width": "800",
                "Height": "520"
             },
        [...]

Danach folgt der Abschnitt mit den Markierungen.

*Beispiel für eine Markierung eines Ortes*

        "areas": [
            {
                "CallNumberStart": "",
                "CallNumberEnd": "",
                "Floor": 0,
                "Sections": "Ausleihe / Neuanmeldungen",
                "Type": "path",
                "Path": "m314,73l9,59l7,-2l-8,-58l-8,1z"
            },

*Beispiel für eine Markierung eines Regalstandortes*

            {
                "CallNumberStart": "CF 2103",
                "CallNumberEnd": "CP 4000",
                "Floor": 0,
                "People": "",
                "Sections": "",
                "Type": "path",
                "Path": "m538.40399,35.11223l22.69324,-3.69079l0.49878,2.74314l-23.44141,3.49127l0.24939,-2.54363z"
            },

*Beispiel für eine Markierung eines Ortes mit zugehörigen Personen*

      {
      "Sections" : "Raum 332d",
      "Floor" : 2,
      "CallNumberEnd" : "",
      "CallNumberStart" : "",
      "People": [
        {
         "LastName": "Markert",
         "FirstName": "Yvonne"
        },
        {
        "LastName": "Kreschnak",
        "FirstName": "Martina"
        }
       ],
      "Type" : "path",
      "Path" : "m127.42859,328l79.42856,0l-0.57143,-43.42856l-2.28572,-16l-77.14286,1.71426l0.57145,57.71429z"
    },

Der letzte Abschnitt enthält Orte, die evtl. gesondert behandelt werden.

"mark_locations": [
            {
                "location": "Freihand"
            },
            {
                "location": "Freihand nicht ausleihbar"
            },
            {
                "location": "Lesesaal"
            },
            {
                "location": "Lesesaal - Sammlung Prof. Czok"
            },
            {
                "location": "Lesesaal - Sammlung Stiftung Land Sachsen"
           [...]

Durch Kopieren von vorhandenen Markierungen können neue Daten hinterlegt werden.
Zu beachten ist, dass hinter den letzten Elementen kein ‚,‘ Komma gesetzt wird. Falls ein Syntax-Fehler vorkommen sollte, wird die Karte gar nicht erst dargestellt.
Zum Überprüfen der Syntax eignet sich http://jsonlint.com/. Alternativ kann man das lokale Programm json_verify nutzen, siehe das Manual unter http://manpages.ubuntu.com/manpages/lucid/man1/json_verify.1.html.

Konkret:

json_verify < map_validate_ori.json

HowTo?

Pfaddatei zum bearbeiten öffnen

Zum Bearbeiten und Erstellen der Pfade eignet sich ein SVG Editor. Eine Brwoergestütze Variante ist der SVG-Editor. Einfach den Link zum Github des SVG Editors öffnen. Die ‚latest stable release‘ Version über den Link Try SVG-edit here im Browser öffnen. (Tipp: am besten den Browser Chrome oder Opera dafür verwenden)

Nun gibt es 2 Wege zum öffnen der Pfaddatei (*svg):

  1. Alter Weg:
    • Die gewünschte *_Pfad.svg unter /afs/tu-chemnitz.de/www/root/ub/map/*standort mit Rechtsklick -> öffnen mit gedit -> alles auswählen und kopieren.
    • Im SVG Editor auf das Icon <svg> klicken und den Text mit dem aus *_Pfad_svg ersetzen. -> Apply Changes

  2. Neuer Weg:
    • Auf das Icon SVG-Edit klicken -> Bild öffnen und die Pfaddatei (*svg) auswählen

Die Karte mit den bereits markierten Bereichen erscheint.

Hinzufügen neuer Markierungen

In der linken Werkzeugleiste befindet sich das grüne Symbol „Path Tool“. Mit diesem können können Pfade (Form mit beliebig viele Ecken) erstellt werden.
Nachdem ein Bereich gewählt ist, sollte man zur besseren Übersichtlichkeit den Rand auf 0 und die Transparenz auf 50 stellen. (Unten links neben der Farbleiste)
Die Markierung sollte einen eindeutigen Namen erhalten. Dieser kann im Feld „id“ (am oberen Bildrand) vergeben werden. Die ID ist wichtig, um den Pfad einer Markierung zuzuordnen. (Tipp: ID immer mit Enter bestätigen, sonst wird die Bezeichnung nicht gespeichert)

Editieren einer bestehenden Markierung

Auswahl des Bereiches -> Änderung vornehmen -> ID merken

Änderung lokal verfügbar machen

Um die Änderungen lokal verfügbar zu machen wieder auf das Icon <svg> klicken -> den kompletten Quellcode markieren (Strg+A) -> in den Quellcode von *_Pfad.svg einfügen -> Speichern

Aus dem Quellcode der *_Pfad.svg können nun die Angaben für map_validate_ori.json übernommen werden.

Nur die Angaben hinter ‚id=‘ und ‚d=‘ sind wichtig. Hinter ‚d‘ verbirgt sich der Pfad, der bei den Markierungen unter „Path“ : einzutragen ist.

Notiz für sehr viele neue Pfade: Mit Google Refine können die Daten (ID und Pfad) aus der SVG-Datei einfach extrahiert werden. Umständliches kopieren zwischen Dateien entfällt.

  • Google Refine öffnen
  • Datei auswählen
  • Parse data as: XML files
  • einen Datensatz/eine Zeile anklicken
  • Refine erkennt die Struktur und setzt es als Tabelle um
  • Create Project
  • Spalten, Zeilen, etc. können editiert werden
  • Wenn alles i.O. exportieren -> Export -> Templating (für JSON-Format)
  • Exportiert wird eine txt.-Datei

Eine noch schnellere Alternative bietet ein kleines Script von Holger, der die IDs und Pfadangaben schon im JSON-Format ausspuckt: path_hot.py

Wie kann ich mehrere Pfade zu einer Markierung zusammenstellen/gruppieren?

Die Pfade werden separat in der *_Pfad.svg eingezeichnet

Über die Suchfunktion können nun die passende Markierung in map_validate_ori.json aufgerufen oder eine neue erstellen werden. Hinter „Path“ : folgen alle Pfadangaben hintereinander. Wichtig ist, dass bei diesen Pfaden das ‚M‘ großgeschrieben wird und das ‚z‘ am Ende eines jeden Pfades erst am letzten Pfad angehangen wird.
Beispiel:
1. Pfad M470.06174,108.0864l115.4321,-16.11108l1.54321,5.8642l-116.35803,15.74074l-0.61728,-5.49385
2. Pfad M425.92593,114.25923l0.30862,5.18521l29.01236,-3.39506l-0.61728,-5.86419l-28.7037,4.07404
3. Pfad M362.03705,123.82713l0.9259,5.80249l43.2099,-7.09876l-1.54321,-5.8642l-42.59259,7.16047
Code: „Path“ : M470.06174,108.0864l115.4321,-16.11108l1.54321,5.8642l-116.35803,15.74074l-0.61728,-5.49385M425.92593,114.25923l0.30862,5.18521l29.01236,-3.39506l-0.61728,-5.86419l-28.7037,4.07404M362.03705,123.82713l0.9259,5.80249l43.2099,-7.09876l-1.54321,-5.8642l-42.59259,7.16047z

Änderungen zum ursprünglichen Skript

Die index.html bindet nun die regas.js ein und splittet und normalisiert die Regalstandorte. Hintergrund: Die Normalisierung von Villanova greift bei unseren Regalstandorten nicht wie gewünscht. Alle Regalstandorte mit drei Buchstaben (z.B. DPA, DVD, KAB, etc.) fallen heraus und werden angezeigt als: „Regalstandort nicht gefunden. Bitte wenden Sie sich an die Auskunft.“. Darunter fallen auch die Signaturen der CDs. Da diese Bestände generell nicht frei zugänglich sind und ein Mitarbeiter in jedem Fall angesprochen werden muss, ist diese Darstellung am unproblematischsten.
Zu beobachten ist, wie häufig Fälle wie diese Auftreten: Sonderheft einer Zeitschrift erscheint als Monografie und bekommt diesen Regalstandort: A4573/SH/1997/3 (in CampusBibliothek II)

Um bestimmte Bereiche direkt aus einem Link heraus zu markieren, muss lediglich folgender Linkaufbau verwendet werden:
https://www.tu-chemnitz.de/ub/map/campusbibliothekigeisteswissenschaften/index.html?section=Magazinbestellungen Zeitschriften
https://www.tu-chemnitz.de/ub/map/campusbibliothekigeisteswissenschaften/index.html?section=Auskunft 5.OG

Alles was unter der Auswahl „Finde Ort…“ verzeichnet ist kann verwendet werden.
Für Regalstandorte:
https://www.tu-chemnitz.de/ub/map/campusbibliothekigeisteswissenschaften/index.html?call_number=ER 990 wed&section=Freihand

Immer beachten das Leerzeichen html codiert werden sollten