Familypedia
Advertisement
This page uses content from the Semantic MediaWiki website. The original content was at Help:Custom_units. The list of authors can be seen in the page history there. The documentation portion of the content of Semantic MediaWiki is available under Creative Commons 3.0 licensing.

Hilfe:Übliche Einheiten[]

Diese Seite erläutert wie Seiten mehr Kontrolle über die Darstellung und Umrechnung von Einheiten haben können. Einheiten können verwendet werden für Properties vom Datentyp Number und die Annotation flexibler machen. Jeder kann Daten mit seinen bevorzugten Einheiten verwenden und darstellen, ohne die andere Darstellung zu behindern. Entfernungen können z.B. in "Meilen" oder in "Km" angegeben werden. In anderen Fällen mag die Anzeige von Entfernungen in "Km" unbrauchbar sein und die Verwendung von "Mikrometer" angemessener.

Übliche Datentypen mit umrechenbaren Einheiten[]

SMW unterstützt bei einigen Datentypen den Umgang mit Einheiten. z.B. bei Typ:Temperature. Viele weitere können leicht hinzugefügt werden. Datentypen die Einheiten unterstützen, können Werte in mehreren unterschiedlichen Einheiten annehmen, umrechnen und darstellen. Sie sehen dies in der factbox von Artikeln wie z.B. Berlin, wo die Fläche in mehreren Einheiten dargestellt wird.

Um solche Anwendungen unterstützen zu können, muß SMW wissen, wie es die Werte von einer Einheit in die andere umrechnen soll. Dies ist in vielen Fällen ziemlich einfach, kann jedoch in anderen Situationen wesentlich mehr Aufwand verursachen. Wir unterscheiden zwei Fälle:

  1. Die Umrechnung zwishen den gewünschten Einheiten ist proportional, d.h. Sie brauchen nur einen Wert mit einem festen Umrechnungsfaktor multiplizieren um einen Wert in einer anderen Einheit zu erhalten. Dies ist der Fall bei der Umrechnung zwischen Kilometern und Meilen.
  2. Die Umrechnung zwischen den Einheiten ist nicht proportional und verursacht einen größeren Aufwand. Dies ist der Fall bei der Umrechnung von Temperaturen, da Sie Addieren und Multiplizieren müssen um von °C zu °F zu gelangen.

Im ersten Fall können Sie leicht Datentypen erzeugen, die diese Einheiten unterstützen. Im zweiten Fall diskutieren wir im Folgenden einige Möglichkeiten.

Neue Datentypen mit proportionaler Einheitenumrechnung erzeugen[]

Wenn Sie einen neuen Datentyp erzeugen möchten, überprüfen Sie mithilfe von Special:Types ob dieser Datentyp nicht bereits existiert. Wenn der gewünschte Datentyp nicht existiert, können Sie leicht einen neuen erzeugen. Zunächst müssen Sie eine Seite im Type Namensbereich erzeugen. Sie möchten z.B. Daten vom Type:Energie erzeugen. Zu diesem Zweck sollten Sie zunächst einige Sätze in diesem neuen Artikel schreiben. In unserem Fall würde das die physikalische Menge betreffen, die sich in Watt messen läßt. Dies hilft anderen Ihren Datentyp zu finden und zu verwenden, wenn Sie nach Schlüsselwörtern suchen. Um die unterstützten Einheiten zu bestimmen, verwenden Sie die besondere Property Corresponds_to. Um die Haupteinheitdes neuen Datentyps für Energie zu bestimmen, schreiben wir z.B. folgendes:

[[Corresponds to::1 W]]

Der Wert "1 W" legt 2 Dinge fest: (1) der Datentyp versteht die Einheit "W" und (2) die Einheit "W" ist die Haupteinheit (dafür steht der Wert "1"). Die Kernaussage ist, eine Einheit dieses Datentyps enspricht 1 W. Es ist einfach weitere Einheiten zu bestimmen. z.B.

[[Corresponds to::0.001 kW]]
[[Corresponds to::0013410220 hp]]

Das bedeutet, der Datentyp versteht ebenso die Einheiten "kW" und "hp" und 1 Einheit der Haupteinheit entspricht 0.001 kW und 0.0013410220 hp. Auf diese Weise können Sie frei wählbare Einheiten festlegen, solange deren Beziehung zur Haupteinheit beschrieben werden kann.

In vielen Fällen gibt es mehrere Möglichkeiten auf eine Einheit zu verweisen, wenn wir z.B. Benutzern erlauben würden statt "Watt" "W" oder sogar "Watts" zu schreiben. Statt jeweils eigene Zeilen mit der Anweisung "corresponds to" zu schreiben, kann man dies auf kurze Weise schreiben, indem man weitere Einheiten mit "," trennt. In unserem Beispiel:

[[Corresponds to::1 W, Watt, Watts]]
[[Corresponds to::0013410220 hp, bhp, horsepower]]

Das erste Symbol in der Anweisung "Corresponds to::1 xx" ist die Haupteinheit. Nachdem Sie die Seite für den neuen Datentyp gespeichert haben, werden die neuen "Corresponds to"-Anweisungen als besondere Property in ihrer factbox erscheinen. Der neue Datentyp kann jetzt wie jeder andere Datentyp verwendet werden. Wir könnten also eine neue Property:MaschinenEnergie anlegen, die vom Typ Energie ist, indem wir auf deren Seite folgende Anweisung schreiben:

[[Has type::Energie]]

Diese Property wird alle Einheiten verstehen, die in der "corresponds to"-Anweisung für diesen Datentyp definiert sind und Umrechnungen zwischen diesen zeigen (ohne Duplikate, d.h. SMW wird nicht "W" und "Watt" gleichzeitig zeigen). Programmintern werden alle Werte in die Haupteinheit umgerechnet und der RDF_Export wird den Wert ebenfalls in dieser Einheit zeigen.

Nichtproportionale Einheitenumrechnungen[]

Beachten Sie, daß Sie nur einen proportionalen Umrechnungsfaktor (einen Multiplikator) bestimmen können. Sie können also nicht unterschiedliche Grundlagen für verschiedene Einheiten benutzen (Logarithmische Maßstabsumrechnungen etc.). Sie können also keinen gewöhnlichen Datentyp für die Temperatur erzeugen, der °C in °F umrechnet. Im Fall der Temperatur wird von SMW bereits ein Typ:Temperature unterstützt, der diese Umrechnung ermöglicht. In anderen Fällen ist dies jedoch nicht so.

SMW erlaubt nicht nichtproportionale Einheiten im Wiki festzulegen. Eine Abhilfe bietet die Möglichkeit den Datentyp Number zu verwenden. Dieser erlaubt auch Einheitenstrings nach einer Zahl. Dieser Datentyp weiß nicht, wie man zwischen solchen Werten umrechnet, aber erkennt dennoch die Einheit und ist in der Lage unterschiedliche Einheiten zu unterscheiden. Wenn alle Benutzer eines bestimmten exotischen Datentyps, damit einverstanden sind, dieselbe Einheit zu verwenden, wäre die Funktionalität gewährleistet. Wenn jemand dennoch eine andere Einheit verwendet, wird der gegebene Wert dennoch nicht mit Werten in anderen Einheiten verwechselt.

Ein aufwendigerer Weg die Situation zu verbessern, bestünde darin ein kleines Programm zu schreiben, welches die benötigten Umrechnungen einbaut. Es ist nicht schwierig SMW auf diese Weise zu erweitern. Man könnte einfach den Code (dieser hat höchstens 70 Zeilen einschl. Kommentar) für den Datentyp Temperatur kopieren und anpassen. Würde man solch einen Datentyp verwirklichen, könnte man für die Properties den Datentyp Number verwenden. Dieser könnte ohne negativn Einfluß auf vorhandene Artikel abgeändert werden. Werden gewöhnliche Datentypen mit nicht unterstützten Einheiten konfrontiert, verhalten sie sich dennoch wie einfache Datentypen vom Type:Number.

Anpassung der Anzeige von Einheiten[]

Durch die Verwendung von Gleitkommazahlen kann ein einfacher Datentyp einen weiten Bereich von Einheiten unterstützen. Ein einfacher Längentyp kann z.B. sowohl Lichtjahre wie Nanometer unterstützen. Wenn jemand jedoch die Property "Höhe" verwendet um die Höhe eines Berges zu bestimmen, dann wäre es nicht sinnvoll diese in Lichtjahren oder Nanometern anzugeben.

SMW erlaubt Ihnen zu bestimmen, welche Einheiten, von den Einheiten die der Datentyp unterstützt, eine Property anzeigen sollte. Diese Information ist spezifisch für die Property: zwei Properties können beide den Type:Length verwenden und dennoch ein unterschiedliches Erscheinungsbild in diesem Wiki haben. Wenn keine Vorgaben für die Darstellung gemacht wurden, wird eine Property alle (ihr möglichen) Einheiten mit der Haupteinheit darstellen (die mit dem Umrechnungsfaktor 1).

Fügen Sie die besondere Property Display_units zu der Property-Seite um die Anzeige von Einheiten festzulegen und führen jede Einheit, die Sie darstellen möchten, durch Komma getrennt an. Der Artikel Property:Height könnte z.B. folgende Anweisungen enthalten:

[[display units::km,ft,miles]]

Daraus ergibt sich, daß in der factbox nur die o.g. drei Einheiten für die Property Höhe angezeigt werden, obwohl der zugehörige Type:Length ein Dutzend anderer Einheiten unterstützen könnte. Ebenso wird der Tooltip für jeden dieser Werte diese Umrechnungen zeigen. Die Anpassung funktioniert bei allen Properties, die Datentypen mit Einheitenunterstützung verwenden, unabhängig davon, ob der Datentyp angepaßt wurde oder bereits eingebaut war.

Überlegen Sie sich, ob Sie die Anzeige der "Standard Einheit" für die Benutzer als eine von vielen Anzeigeeinheiten verwenden, da SMW beim Speichern Werte immer in Standard-Einheiten umrechnet.

Advertisement