Hallo, Zuerst mal ein paar kurze Definitionen.
Für mich sind in dieser Mail * ein Wert ein einfacher String key = "bla", * eine Liste mehrere Werte key = ["bla", "blub"] und * ein Dictionary eine Liste, bei der die einzelnen Werte benannt sind: key = {subkey1: "bla", subkey2: "blub"} In OSM gibt es öfter den Fall, das man für einen Tag mehrere Werte angeben muss, z.B. bei Packstationen an denen man sowohl Pakete aufgeben als auch abholen kann: vending=parcel_pickup;parcel_mail_in Um nun in OSM also Liste abzubilden verwenden wir den Strichpunkt. Aus key = ["bla", "blub"] wird key=bla;blub Wie sieht es nun aber mit Dictonaries aus? Leider ist man sich da wohl nicht so einig. Mir sind im ersten Moment nur die TMC und die parking Tags eingefallen: parking:lane:right=perpendicular parking:condition:right=disc parking:condition:right:maxstay=1 h parking:condition:right:time_interval=Mo-Fr 09:00-18:00;Sa 09:00-14:00 parking = { lane: { right: "perpendicular" }, condition: { right: { value: "disc", maxstay: "1 h", time_interval: ["Mo-Fr 09:00-18:00", "Sa 09:00-14:00"] } } } TMC:cid_58:tabcd_1:Class = Point TMC:cid_58:tabcd_1:LCLversion = 9.00 TMC:cid_58:tabcd_1:LocationCode = 24518 TMC:cid_58:tabcd_1:NextLocationCode = 24519 TMC:cid_58:tabcd_1:PrevLocationCode = 24517 Okay, hier ist es schwierig nen endeutiges mapping zu finden, ich nehme mal eines, das für mich am sinnvollsten scheint. (Diskussion wie sinnvoll die Tags sind bitte im entsprechenden Thread nebenan.) TMC = [ { cid: "58", tabcd: 1, Class: "Point", LCLversion: "9.00", LocationCode: "24518", NextLocationCode: "24519", PrevLocationCode: "24517" } ] Wenn man sich mal bei Taginfo mal den Key-Längen Report absteigend nach länge sortiert kommt man noch auf viel mehr Verwendungen…. http://taginfo.openstreetmap.org/reports/key_lengths#keys education:male_student_pupil_dropout_2010_2011=x education:male_student_pupil_dropout_2009_2010=x education:male_student_pupil_dropout_2008_2009=x ----- http://wiki.openstreetmap.org/wiki/Key:traffic:hourly Dabei geht es wohl um Verkerszählungen, warum auch immer wir das in der DB haben... http://www.openstreetmap.org/browse/node/391836581 Der Node hat knapp 50 Tags, hier mal nen Auszug: traffic:hourly:00:Sa:fall = <10/6:00 traffic:hourly:07:We:fall:backward = <4/14:00 traffic:hourly:07:We:fall:forward = 8/14:00 traffic:hourly:08:Fr:fall:backward = 7/16:00 traffic:hourly:08:Fr:fall:forward = 7/16:00 traffic:hourly:08:Fr:fall:wet:backward = 5/11:00 traffic:hourly:08:Fr:fall:wet:forward = <5/11:00 Wenn man die Daten tatsächlich in der DB haben will sollte man das das als traffic_hourly:fall=Sa 00 <10/6;We 07 8,<4/14;Fr 08 7,7/16; Fr 08 wet 5,<5/11 taggen. ---- http://www.openstreetmap.org/browse/way/45855121 http://www.yucaipavalleygolf.com/Yucaipa-Valley-Golf-Course.html WTF ---- http://wiki.openstreetmap.org/wiki/Proposed_features/Extended_conditions_for_access_tags#Examples bicycle = yes bicycle:(10:00-18:00) = no Bicycles are permitted to use this street outside 10AM-6PM. maxspeed:hgv = 120 maxspeed:hgv:Sa,Su = 80 Maxspeed for hgv is limited to 80 on weekends, but 120 otherwise. maxspeed = 50 maxspeed:(Mo-Fr 07:00-17:00) = 30 ---- Ich wäre grundsätzlich dafür beim Taggen drauf zu achten, das möglichst wenig verschiedene Keys entstehen. Das heißt ich würde dynamische Dinge wie Zahlen oder Wochentage gerne aus dem Key rauslassen. In http://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Extended_conditions_for_access_tags#Move_parameters_from_key_to_value kam das such schon zur Sprache. Dort kam als Argument das man so lange Zeilen nicht mehr so einfach bearbeiten kann. Der Editor (oder die API) sollte aus meiner Sicht dafür sorgen das bei jedem ; ne neue Zeile anfängt, also z.B. vending=parcel_pickup;parcel_mail_in zu vending=parcel_pickup vending=parcel_mail_in wird. Ggf. sollte man dann auch noch ein einheitliches Trennzeichen für subkey und subvalue einführen, z.B. den Doppelpunkt. level_names=U:basement;G:ground floor;3:roof level_names:de=U:Untergeschoss;G:Erdgeschoss;3:Dach anstatt level_names:U=basement level_names:G=ground floor level_names:3=roof Oder sollte man doch einfach JSON in den Value stecken? level_names={"U": "basement", "G": "ground floor", "3": "roof"} Wie sieht ihr das? Macht es Überhaupt sinn da ne einigermaßen einheitliche Regel zu erarbeiten? Danke im voraus, Andi _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de